# Pomodoro A browser-based Pomodoro timer and clock built with React, TypeScript, and Vite. ## Stage 1 - Live clock - 25-minute focus sessions - 5-minute short breaks and 15-minute long breaks - Start, pause, resume, and reset controls - Long break after every four completed focus sessions - Accurate countdown after background-tab throttling - Sound notification when a segment ends ## Stage 2 - Custom focus, short-break, and long-break durations - Six built-in backgrounds: three gradients and three local illustrated scenes - Adjustable background overlay and text color - Four clock and timer font styles - Live customization preview with one-click reset - Automatic settings persistence in IndexedDB All preferences stay in the browser. No account or backend is required. ## Development ```bash npm install npm run dev ``` Quality checks: ```bash npm test npm run lint npm run build ``` ## Architecture - React and TypeScript for the interface and timer state - Absolute timestamps for accurate countdowns after tab throttling - Native IndexedDB for persistent browser settings - CSS custom properties for live themes, fonts, colors, and overlays - Vitest and Testing Library for model, persistence, and interface tests ## License [MIT](LICENSE)