Focus session
A focus session is a fixed block of time with one task in it and a break already booked at the end. Set the two lengths, press Start, and the block ends at the clock instant it was started for — whether or not you stayed on this tab.
Not therapy, not a crisis service; if you are in danger, contact your local emergency number.
What a fixed interval actually does
Two things, and neither of them is magic. The first is that it shrinks the decision. “Work on the report” is an open-ended commitment with no visible edge, and the honest answer to “when will this be over?” is I don't know. “Work on the report for twenty-five minutes” is a different proposition: it is bounded, it is small, and you can agree to it without agreeing to the whole task. Starting is cheaper because what you are starting is smaller.
The second is that it moves the decision to stop out of the moment when you are least equipped to make it. If there is no interval, stopping is a judgement call taken while you are tired, mid-thread and unsure whether another ten minutes would crack it. With an interval, the decision was taken in advance by a version of you who was not in the middle of anything, and the chime is simply that earlier decision arriving. You can of course ignore it — the timer has no authority and no idea what you are doing — but ignoring a decision you already made is a different act from never having made one.
That is the entire mechanism, and it is structural rather than physiological. Nothing on this page claims that twenty-five minutes suits your attention, your task or your brain, because nothing on this page can know any of that. What it does is hold a number and tell you, out loud, when the number is up.
Where 25 and 5 come from
The technique is Francesco Cirillo's, described in the late 1980s and named after the tomato-shaped kitchen timer he wound up as a university student — pomodoro is Italian for tomato. The original method is a short book's worth of procedure: pick one task, wind the timer, work until it rings, mark the interval on paper, take a short break, and after four intervals take a longer one. Interruptions get written down rather than followed.
The pair of numbers, 25 and 5, is a convention, not a finding. There is no study that identified twenty-five minutes as the right length, and there could not really be one: the right length depends on the task, the room, the day and the person. What 25/5 buys you is a default nobody has to argue about, which is exactly what a convention is for. A shared default also means “I'm in a pomodoro” is legible to a colleague in a way that “I'm in a block of indeterminate length” is not.
So both boxes here are editable. Focus takes 1 to 120 minutes, break takes 1 to 60, and two alternatives people commonly settle on are 50/10 and 90/15 — longer blocks for work with a long warm-up, where twenty-five minutes is mostly spent reloading context you dumped at the last chime. Editing a box while the timer is stopped resets the display to the new length immediately; editing it mid-block does nothing until the next block, because a running deadline is not something a keystroke should be able to move.
Reading the clock: what each control does
- The mode line above the digits says Focus or Break. It is the only thing that distinguishes one 05:00 from another.
- Start arms a block of whatever length the current mode's box says, and becomes Pause. Pause freezes the remaining time and the button becomes Resume; resuming arms a fresh deadline from the frozen number, so a pause costs you nothing.
- Reset restarts the current block from the top. It does not switch modes and it does not touch the completed-sessions tally — there is no button anywhere on this page that clears that.
- Focus minutes and Break minutes are plain number fields. The browser will let you type anything; the timer reads them as numbers and falls back to 25 and 5 if what it finds is not one.
- The chime is two short sine tones, 660 Hz then 880 Hz, a little over a quarter of a second apart, generated in the page by the Web Audio API. No file is downloaded, and because browsers gate audio behind a user gesture, the chime can only sound after you have pressed something on this page.
When a block ends the mode flips — focus to break, break to focus — and the clock stops. It does not roll straight into the next block. That is deliberate: a break that started while you were still typing is a break you did not take, and an automatic run-on quietly turns an interval timer into a stopwatch that shouts occasionally. Pressing Start again is one gesture and it is the gesture that means you actually noticed.
Nothing here sends a system notification, changes the tab title, or flashes the favicon. An unattended block finishes quietly, and if the tab is muted it finishes silently.
What a backgrounded tab does, exactly
This is the part most browser timers get wrong, so it is worth being precise about what this one does.
A naive implementation counts: it subtracts one second every time a one-second interval fires. That is wrong on the web, because browsers throttle timer callbacks in background tabs to roughly one a minute, and a tab that has been suspended or discarded delivers none at all. Under that design a twenty-five-minute block that you actually left the tab for — which is the entire point of the tool — runs to forty minutes of wall time, or never ends. This timer used to have exactly that defect, and there is now a test in this site's build whose only job is to stop it coming back.
What it does instead: pressing Start records a deadline, an instant on the clock, and the seconds remaining are always deadline − now, recomputed from scratch. The test pins that this is a pure function of the clock — the same deadline and the same “now” return the same answer whether the function has been called once or two thousand times, the countdown only ever goes down, and a deadline in the past reads exactly 0 rather than a negative, even fifteen minutes or a year past. In practice that means:
- The block ends when it was always going to end. Start 25 minutes, switch to another app, come back after half an hour: it finished at the twenty-five minute mark, not at the mark the tab happened to be awake for.
- A suspended tab can show a stale number, briefly. While the tab is not being painted, nothing redraws the digits. On return the display can be out of date — the recompute runs every 250 ms and also fires the moment the tab becomes visible again, so the worst case is about a quarter of a second of a wrong-looking number, not a wrong block.
- The chime needs this tab to be running. Sound is generated here, in the page. If the browser had the tab asleep at the instant the block ended, there was nothing to make the sound, and the chime arrives when you come back instead. Treat the sound as a nice-to-have on a phone or a laptop that sleeps; treat the clock as the thing that is correct.
The honest summary: the block is right, the drawing and the sound are best-effort. If you need to be interrupted at a precise moment while this tab is asleep, use an alarm your operating system owns.
The counter, and where it lives
Under the clock there is a line reading “Focus sessions completed on this device”. That number is stored in this browser's local storage, under the key na.focus, and it is a single integer. Not a list of sessions, not their lengths, not when they happened, not what you were working on — one number.
It goes up by one when a focus block reaches zero. Breaks do not count. A block you paused and never resumed does not count. A block you reset does not count. And there is deliberately no clear button: a counter you can reset to flatter yourself is a scoreboard, and this is not meant to be one.
It does not leave the device and it does not sync. Open this page in another browser, or on your phone, and the count starts at zero there, because it is stored per browser. If your browser blocks storage — private mode in some browsers does — the timer works exactly the same and the number simply stays at zero. Clearing site data for neuroatomic.com deletes it, and /privacy.html lists it alongside every other key this site writes anywhere.
Please do not read it as a productivity metric. It counts finished blocks, which is not the same as work done, and a day of three deep blocks can be worth more than a day of nine shallow ones.
Starting a block from a link
This page accepts one query parameter. Add ?start= and a number of minutes to the address and a focus block of that length begins as soon as the page loads:
/focus-session.html?start=25— the default block, already running./focus-session.html?start=50— a fifty-minute block, for work with a long warm-up./focus-session.html— no parameter, nothing starts; the page waits for you.
The number is written into the Focus minutes field before the block is armed, so the page never runs a length it is not also showing you. It is clamped to the same 1-to-120 range the field itself accepts; anything outside that, or anything that is not a number, is ignored and the page opens at its default. The button at the top of the tools page is exactly one of these links, and because it is a plain form rather than a script, it works with JavaScript switched off too — it just lands you here without starting anything.
One caveat, because it follows from how browsers handle sound: a block started from a link has not been clicked on this page, so depending on the browser's autoplay policy the end-of-block chime may be silent. Pressing anything here — Pause then Resume will do — is enough to let it sound.
This is useful mostly for bookmarks and for handing somebody a running clock: a link to a fifty-minute block on a shared page is a clearer instruction than “let's do fifty minutes”, because the clock everyone is looking at started at the same instant.
Choosing your own numbers
Three things worth weighing, all of them about the shape of the work rather than about you.
- How long the task takes to pick up. Editing prose or answering mail resumes instantly; debugging something with six files open in your head does not. If a meaningful part of the block goes on reconstructing where you were, the block is too short.
- How interruptible the room is. A twenty-five minute block in an office where somebody appears every ten minutes is a block that never completes. Either the interval matches the quiet you can actually get, or the interval is not the thing to fix.
- What the break is for. Five minutes is enough to stand up, refill a glass, look out of a window. It is not enough to do anything with a screen. A break spent on the same screen is not much of a break, and a break spent on a feed reliably is not five minutes.
A reasonable way to arrive at your own numbers is to start at 25/5 for a few days precisely because it is the convention, notice which end of the block is uncomfortable, and move one number at a time. If you keep working through the chime, the focus block is shorter than the work wants. If you keep looking at the clock, it is longer.
When an interval timer is the wrong tool
A timer knows one thing: how much time is left. It does not know what you are working on, whether you are working at all, or whether the thing you are working on is worth doing. Several common problems look like timing problems and are not:
- If you cannot start because the task is undefined, a clock changes nothing. “Sort out the deployment” will not survive contact with a twenty-five-minute block. Cut it down to something with an obvious first move, and then time that.
- If the blocks keep getting broken into, the problem is the environment, not the interval. Cirillo's own method has a step for this and it is not a timer trick: write the interruption down and deal with it after the block.
- If the work is genuinely open-ended — a long conversation, a rehearsal, anything with its own rhythm — chopping it into equal boxes can cost more than it returns. Not everything is improved by being measured.
- If you are exhausted, a timer is a way of scheduling exhaustion more precisely. It is not rest and it does not substitute for it.
What this page is not
It is a clock with an essay attached. It is not therapy, not treatment, not a diagnosis, and not a substitute for care you are already receiving or should be receiving. It makes no claim about concentration, attention, output or wellbeing, for anybody in general or for you in particular — it describes what the interval structure is and what the buttons do, and stops there.
It is also not a crisis service. If you are in danger or thinking about harming yourself, a timer is not built for that and neither is anything else on a web page.
What happens on your device
Everything. The timer is about eighty lines of JavaScript inside tools.js, served unminified from this domain so you can read it yourself. Nothing about a session is uploaded: not the lengths you pick, not when you start, not whether you finish. The single stored value is the na.focus integer described above, and it stays in this browser.
The one network request this page makes is a self-hosted page-view counter that records the URL and nothing else. The page is also precached by a service worker, so once it has loaded once the timer keeps working with no connection at all — on a train, on a plane, in a basement with one bar.
If you are in danger or thinking about harming yourself, please stop here and contact your local emergency number or a crisis line. A timer is not built for that, and no exercise on a web page is.
Related tools and reading
The tools page lists the rest: a box-breathing pacer for 4-4-4-4 and three other paced patterns, a five-step ACT thought-defusion exercise, and a CBT thought record with seven columns you can fill in and export. The field guide covers the psychology underneath all four in plain language, including a section on where the evidence is thin.
Common questions about focus intervals
What is the Pomodoro technique?
It is a way of working in fixed intervals, described by Francesco Cirillo in the late 1980s and named after the tomato-shaped kitchen timer he used as a university student. One interval is a block of work on a single task, followed by a short break. The structure is the whole of it: a bounded block you agree to before you start, and a break that is already scheduled when the block ends.
Why 25 minutes and 5 minutes?
Because that is the pair Cirillo used, not because 25 was found to be better than 22 or 30. It is a convention, and its value is that it is one number everybody already knows rather than one you have to justify. Both boxes on this page are editable — 1 to 120 minutes of focus, 1 to 60 of break — and 50/10 and 90/15 are common alternatives for work that takes a long time to get into.
Does the timer keep running if I switch to another tab?
The block ends at the wall-clock instant it was started for, whether or not this tab was ever painted in between. It holds a deadline and asks the clock, so a 25-minute block is 25 minutes even in a tab the browser suspended. What a suspended tab can lose is the drawing and the sound: the number on screen may be stale for up to a quarter of a second after you come back, and the chime needs this tab to be running, so if the browser had put it to sleep the chime arrives when you return rather than at the instant the block ended.
Where is the count of completed sessions stored?
In this browser, on this device, under the storage key na.focus. It is a single integer and nothing else — no dates, no interval lengths, no task names — and it is never uploaded. Only a focus block that runs to zero increments it; breaks, pauses and resets do not. It does not sync between devices or browsers, and clearing site data for neuroatomic.com deletes it.
Can I link straight to a running block?
Yes. Adding ?start= and a number of minutes to this page's address starts a focus block of that length as soon as the page loads — /focus-session.html?start=25 for a 25-minute block, ?start=50 for fifty. The value is clamped to the same 1-to-120 range the Focus minutes field accepts, and anything outside it, or not a number, is ignored and leaves the page at its default.