Overview
A Pomodoro focus timer with the classic cadence: 25-minute focus sessions, 5-minute short breaks, and a 15-minute long break after every fourth focus session. It tracks today's completed sessions, offers an optional lo-fi beat generated in the browser, and saves your settings and timer state locally so a refresh does not lose your place.
How It Works
Pick a phase (Focus, Short break, or Long break) and press Start. A conic-gradient ring fills as the countdown runs, and the remaining time is displayed in minutes and seconds. The settings panel lets you adjust all three durations between 1 and 120 minutes and toggle auto-start for the next phase. Skip jumps to the next phase immediately; Reset restarts the current one. Below the dial, tiles show sessions completed today, how many remain until the long break, and a toggle for the lo-fi beat.
Step-by-Step Usage Guide
- Adjust focus and break lengths in Settings if the 25/5/15 defaults do not fit you.
- Press Start on a Focus session and work on one thing only.
- Take the short break when the ring completes; every fourth break is a long one.
- Check the sessions-today tile to see your day's accumulated focus.
Technical Specifications & Standards
Timing is anchored to wall-clock deadlines, not tick counting: when running, the timer stores a target end time and recomputes the remaining seconds from it on a 250-millisecond interval, so background-tab throttling cannot make it drift or lose minutes — the visible note about editors staying open is accurate. State persists under the localStorage key CruxDev-pomodoro-v1: your durations, the current phase, the remaining seconds, and today's completed focus count all survive a refresh, and the completed count resets automatically when the date changes. The long break is triggered after every fourth completed focus session (the classic Pomodoro convention popularised by Francesco Cirillo). Auto-start is off by default, so you consciously begin each phase. The lo-fi beat is not an audio file — it synthesises a slow pattern with Web Audio oscillators at about two notes per second, which is why it starts instantly and works offline. All durations are clamped to 1–120 minutes whether set by the buttons or typed.
Targeted Use Cases
- Protecting deep-work blocks while coding or writing documentation.
- Study sessions using spaced focus-and-rest intervals.
- Getting through chores or admin tasks with visible time limits.
- Tracking how many real focus sessions you complete in a day.
Notes & Gotchas
- Leave auto-start off if you want to decide consciously when to resume work.
- Keep the tab open during a session; the wall-clock deadline keeps it accurate even if throttled.
- Use Skip when a break runs long enough — the schedule serves you, not the reverse.
- Rely on the sessions-today count rather than memory; it resets nightly by design.
Frequently Asked Questions
What are the default interval lengths?
25 minutes of focus, a 5-minute short break, and a 15-minute long break after every fourth focus session — the standard Pomodoro cadence. All three are adjustable between 1 and 120 minutes in the settings panel.
Does the timer keep count if I refresh the page?
Yes. Settings, the current phase, remaining seconds, and today's completed focus sessions are stored in localStorage under CruxDev-pomodoro-v1 and restored on load. The completed-session count resets when the calendar date changes.
Is the timer accurate if the browser throttles the tab?
Yes. The countdown is computed from a wall-clock end time rather than by counting ticks, so even a heavily throttled background tab resumes with the correct remaining time.
Where does the lo-fi music come from?
It is synthesised in your browser with Web Audio oscillators — a soft bass note, an offbeat tick, and alternating melody tones. There is no audio file, no stream, and no network request, and it turns off just as instantly.