Create the first usable one-page timer experience: a calm monochrome page with a large countdown, choices for 25 minutes, 50 minutes, and a custom minute value, plus Start, Pause, Resume, and Reset controls. When a focus session finishes, the page should move into a quiet completed state and increase today’s completed focus-session count stored locally on the device.
Acceptance (definition of done)
A user can open index.html offline, choose 25 minutes, 50 minutes, or a custom number of minutes, start the countdown, pause and resume it from the same remaining time, reset it back to the selected duration, and see today’s focus-session count increment only when a focus countdown reaches zero. Reloading the page on the same day preserves today’s count, and the page has no network dependency for the timer or count.
This is the current active step for this product. The maintainer will only merge a pull request that completes THIS step and demonstrably works. Open a PR that closes this issue.
Why this step now: No prior product steps are completed, so the most valuable first move is the core focus-session loop. It establishes the main user value and local offline behavior before adding secondary break mode and completion chime polish.
Create the first usable one-page timer experience: a calm monochrome page with a large countdown, choices for 25 minutes, 50 minutes, and a custom minute value, plus Start, Pause, Resume, and Reset controls. When a focus session finishes, the page should move into a quiet completed state and increase today’s completed focus-session count stored locally on the device.
Acceptance (definition of done)
A user can open index.html offline, choose 25 minutes, 50 minutes, or a custom number of minutes, start the countdown, pause and resume it from the same remaining time, reset it back to the selected duration, and see today’s focus-session count increment only when a focus countdown reaches zero. Reloading the page on the same day preserves today’s count, and the page has no network dependency for the timer or count.
This is the current active step for this product. The maintainer will only merge a pull request that completes THIS step and demonstrably works. Open a PR that closes this issue.
Why this step now: No prior product steps are completed, so the most valuable first move is the core focus-session loop. It establishes the main user value and local offline behavior before adding secondary break mode and completion chime polish.