How to use it
- Optionally add a task with the number of pomodoros you expect it to take, and select it as the active task.
- Press Start (or Space). Work until the timer ends; the beep and, if allowed, a notification tell you the phase is over.
- Take the short break when it starts. After the configured number of sessions the timer offers a long break instead.
- Turn on “Start the next phase automatically” to run rounds hands-free, or press Start for each phase.
- Check “Today” for completed sessions and focus minutes; the last seven days are summed below it.
Example
With the default settings a full round is 4 × 25 min of focus + 3 × 5 min short breaks + 1 × 15 min long break = 130 minutes, of which 100 are focused work. A task estimated at 3 pomodoros shows 0/3, then 1/3, 2/3 and 3/3 as each focus session you spend on it completes. If you prefer 50/10 blocks, set focus to 50, short break to 10 and sessions to 2 – the link in the address bar keeps those values for next time.
How the timer keeps time
When you press Start the tool stores one number: the moment the phase ends (Date.now() + remaining). Every 250 ms, and whenever the tab becomes visible again, it recomputes remaining = end − nowand shows the ceiling in seconds. Nothing is counted down tick by tick, so a browser that throttles timers in a hidden tab to once a minute – which Chrome, Firefox and Safari all do – cannot make the clock run slow; at worst the final beep arrives a few seconds late, and the next phase length is still exact. Pausing stores the remaining time; resuming sets a new end moment.
Phase sequencing follows Francesco Cirillo’s original description: a long break after four pomodoros, a short break otherwise, and a pomodoro only counts when it ran to the end – skipped or reset sessions are not recorded. The sound is two short 880 Hz tones synthesised with the Web Audio API; the notification uses the Notifications API and is requested only when you tick the option.
Sources: Francesco Cirillo – The Pomodoro Technique, Chrome Developers – timer throttling in background tabs, MDN – Notifications API.
Limits worth knowing
- Sound needs a user interaction first (browsers block autoplay); pressing Start counts as one.
- On iOS, web notifications only work from a web app added to the Home Screen; the beep still works.
- Closing the tab stops the timer. Tasks, settings and statistics survive; a running phase does not.
Questions
- Why 25 minutes?
- 25 minutes is the length Cirillo used because it is short enough to start without resistance and long enough to get real work done; the tool lets you set anything from 1 to 180 minutes if 50/10 or 90/20 suits you better.
- Does the timer keep running if I switch tabs or lock the screen?
- Yes. It compares the stored end time with the current clock whenever it wakes up, so the remaining time is always right. Only closing the tab or the browser ends the session.
- Where are my tasks and statistics stored?
- In your browser’s localStorage under keys starting with calcpark:pomodoro. They never leave your device; clearing site data removes them.
- Can I share my timer settings?
- Yes – the focus, break and cycle lengths are added to the page link (the part after #). Tasks and statistics are not included.