A productivity web app for prioritizing tasks using the Eisenhower Matrix.
The app helps you:
- Organize tasks into
Do,Schedule,Delegate, andHold - Manage task details (status, due date, estimate, tags)
- Focus with a Daily Focus view, time budget summary, and Pomodoro timer
- Track progress with statistics and charts
- Export/import task data
- Use global keyboard shortcuts for faster navigation
- React + TypeScript
- Vite
- Tailwind CSS
- shadcn/ui (Radix primitives)
- React Router
- dnd-kit (drag and drop)
- Recharts (stats visualizations)
- Supabase Auth
- Vitest + Testing Library
npm installCreate .env.local in the project root:
VITE_SUPABASE_URL=https://your-project.supabase.co
VITE_SUPABASE_ANON_KEY=your-anon-keyIf these values are missing, the app will still build but authentication will not function correctly.
npm run devOpen the local URL shown by Vite (usually http://localhost:5173).
npm run dev- Start local development servernpm run build- Production buildnpm run build:dev- Development-mode buildnpm run preview- Preview built appnpm run lint- Run ESLintnpm run test- Run tests oncenpm run test:watch- Run tests in watch modenpx tsc --noEmit- Type-check project
- Matrix dashboard with drag-and-drop task movement between quadrants
- Quick Add and Edit modals
- Task tags/labels with color coding and filtering
- Task list with search, quadrant filters, and tag filter
- Daily Focus page:
- Cross-quadrant urgency ranking
- Configurable focus count (
Top 3/5/8/10) - Time budget summary
- Pomodoro timer (
25/5focus-break cycle)
- Stats page with chart-based task insights
- Settings page with data export/import and clear actions
- Keyboard shortcuts and shortcut help dialog
Ctrl/Cmd + N- Open Quick AddCtrl/Cmd + /- Open shortcuts dialog1- Dashboard2- All Tasks3- Daily Focus4- StatsF- Toggle focus query mode (when supported by current route)
Shortcuts are disabled while typing in inputs, textareas, selects, or contenteditable elements.
src/
components/ UI and feature components
context/ React context providers (tasks, auth)
hooks/ Custom hooks (tasks, keyboard shortcuts, etc.)
pages/ Route-level pages
test/ Unit tests
types/ Shared domain types
- Task state is persisted locally for app behavior and supports export/import workflows.
- Authentication uses Supabase and route protection is applied for main app pages.
- Monitoring and diagnostics components are enabled in development mode.






