Skip to content
CoronRing
All tools

Rest Reminder

Browser timers stop counting the moment a window is minimised, which is exactly when a break reminder has to work. This one keeps its deadline.

Runs entirely in this tab. No network requests, no logging, nothing leaves the page.

Cadence
CLOCK
FocusStandby
Focus
25:00
25m left
0%
Ends at --:--Elapsed 0%Block length 25m
Adjust

Space start or pause·R reset·S skip

Cycles done
0 / 4
Long break every 4
Focus today
0m
0.0 h at the desk
Rest today
0m
0 breaks logged
Alerts
default
Carrier idle
SETTINGS
Saved in this browser

Intervals

Decimals work: 1.1 is 66s

Down to 0.1

Down to 0.1

Every nth break becomes the long one

0 runs without a target

Alerts

Permission: default

Extra nudges if you miss the first

ALERT DELIVERY
tab visible

Notifications API: missing

Absent in some in-app browsers and older iOS Safari

Permission: default

Denied is sticky. Clear it in the padlock menu for this site

Secure context: no

https and localhost qualify, a LAN IP does not

Service worker: not active

Required on Android. Elsewhere delivery falls back to the page itself

Silent carrier: idle

On while a phase runs, if enabled. Keeps the timer off the throttled path

Last attempt: none yet

Send one below to fill this in

If the banner never appears with permission granted, the block is at the OS level: on Windows check Settings, System, Notifications for your browser and turn off Do Not Disturb; on macOS check System Settings, Notifications and Focus.

BREAK GUIDE
SESSION LOG
0 completed

About this tool

01 · Fires while minimised

A requestAnimationFrame countdown stops dead when the window goes down. Every phase here is an absolute deadline, armed three ways: one long setTimeout, a 1s reconciliation interval, and visibility listeners.

A deadline missed during sleep is caught up, not skipped.

02 · Every cycle alerts

Notifications coalesce by tag, so a fixed tag makes the second alert silently replace the first: one banner, then apparent silence. Each alert now carries its own tag and sets renotify.

Delivery panel shows which link in the chain is broken.

03 · No chime

The alert is the OS banner, the card at the top of this page, and the tab title. The one audio node is a 30 Hz tone at a gain of 0.0015, inaudible, held open only while a phase runs so the browser counts the tab as playing audio and leaves its timers alone.

Cadence and history stay in this browser's local storage.

Limits worth knowing

  • · The tab stays open. Firing from a closed tab needs a push server, which this site does not have. Minimised is fine.
  • · The OS gets the last word. Windows Focus Assist and macOS Focus swallow granted notifications silently. The delivery panel has a ten second test for that.
  • · The carrier needs one click. Autoplay policy refuses an audio context opened inside a timer callback, so starting a block opens it. Until then the tab is throttleable.
  • · 20-20-20. Every 20 minutes, look at something 20 feet away for 20 seconds. That is the eye-care preset; the 90 minute one follows the ultradian cycle instead.

Found a case it gets wrong? Tell me about it .