Guided focus timer that pairs Pomodoro-style sessions with quick emotional and energy check-ins. Capture how each block felt, watch your daily energy line chart update in real time, and tweak presets or reminders without leaving the dashboard.
- Pomodoro-style session queue with keyboard shortcuts (
Spaceto play/pause,Enterto end/skip). - Feedback modal after every block for emotion (1-5 scale), energy slider, and optional notes.
- Daily log with adherence stats, editable entries, and day reset.
- Energy trajectory chart (Recharts) for today’s focus sessions plus qualitative insights.
- Preset picker and auto-start/sound/vibration toggles persisted in localStorage.
npm install --cache .npm-cache
npm run devOpen http://localhost:5173 and keep the console open for keyboard shortcut hints.
- If macOS quarantines native binaries, clear it once:
xattr -dr com.apple.quarantine node_modules. - If port
5173is blocked, runnpm run dev -- --host 127.0.0.1 --port 5174.
npm run dev– start Vite in development mode.npm run build– type check (tsc -b) and produce a production bundle.npm test– run Vitest + Testing Library hook specs.npm run preview– serve the production bundle locally.
Space- toggle play / pause (or acknowledge feedback prompt).Enter- mark the current block complete / skip.Esc- dismiss feedback modal without logging.
- Vite + React 19 + TypeScript
- Tailwind CSS 3.4, Zustand, Day.js
- Recharts for sparkline visualisation
- Vitest + Testing Library for hooks and store behaviour