# UX Research Platform - Project Summary

## What Was Built

A complete, self-hosted UX research platform for conducting card sorting studies and prototype testing with participants. The system is production-ready and follows the MVP specification provided.


### Features Implemented

#### ✅ Card Sorting
- Open, closed, and hybrid sort types
- CSV/JSON card import
- Seed category management
- Drag-and-drop (desktop) and long-press (mobile)
- Real-time move tracking with sequence and timing
- Co-occurrence matrix analysis
- Hierarchical clustering with dendrogram generation
- Agreement scores and entropy metrics per card
- Category stability analysis

#### ✅ Prototype Testing
- External URL or file upload support
- Task-based testing with success rules (selector, URL, or JavaScript)
- Event capture: clicks, navigation, scrolling, pins
- Normalized coordinates for responsive heatmaps
- Time-on-task measurement
- Path flow analysis
- Pin-based commenting system with threading
- Task success rate calculation

#### ✅ Participant Management
- Token-based invite system
- Configurable max uses per token
- Optional demographic collection
- Session tracking with user agent and timestamps
- One-time or multi-use tokens
- Token expiration support

#### ✅ Reports & Analytics
- Real-time session monitoring
- Co-occurrence matrices
- Dendrograms (JSON format)
- Click heatmaps
- Path flows
- Task success rates
- Time metrics
- CSV exports: matrix, moves, summary, events, tasks, feedback
- JSON exports: clustering data, session summaries

#### ✅ Security & Privacy
- authentication with configurable secrets
- CSRF protection on researcher routes
- CORS configuration
- SQL injection prevention (prepared statements)
- XSS protection (input sanitization)
- No third-party trackers
- Optional PII fields only
- Secure password hashing (bcrypt)

#### ✅ Accessibility (WCAG AA)
- Full keyboard navigation
- Screen reader support with ARIA labels
- Live regions for dynamic updates
- Skip links
- Visible focus indicators
- Color-blind safe palette
- Semantic HTML throughout
