Files
pomodoro/README.md
T

1.3 KiB

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
  • Automatic focus-to-break sequencing, enabled by default with an opt-out setting
  • 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

npm install
npm run dev

Quality checks:

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