← projects

Work-Rest Balance

a chrome extension that covers my screen when it's time for a break. it's been on the chrome web store since december 2025.

view project ↗ source
  • chrome extension
  • javascript
the Work-Rest Balance site

why i built it

i'm bad at taking breaks. i'd tell myself i'll get up after this one thing, then look at the clock and two hours are gone. my neck would be stiff and my eyes tired.

so i built something i can't just ignore. when a break starts, every tab gets covered until the timer hits zero.

how it works

scheduled breaks
work for 30 minutes, rest for 5. both are adjustable. you can also start a break right away, or tell it to stop after the next one.
the break screen
it covers every tab and you can't scroll. there's a countdown, and every 30 seconds a new tip shows up, like drink water or look at something far away.
no data collected
there's no server and no analytics. it only keeps your settings, in chrome's storage.

what i learned

chrome shuts down an extension's background script when it's idle, so a normal timer in there can just stop. i moved the schedule to chrome.alarms, which wakes it back up.

sending a message to every tab when a break started kept missing some, mostly tabs that were still loading or ones i opened mid-break. now the break lives in storage and every page checks it when it loads.

it can't cover chrome's own pages, like the new tab page. and to get on the web store i had to explain why it needs access to every site, and write a privacy policy.

a closer look

the break screen covering google.com with a 12:25 countdown and a tip to do some light stretching, with the extension popup open showing break active and a stop break button
the extension popup over google.com while idle, with start break now and start schedule buttonsthe settings page with break interval and break duration fields, quick presets like 20 min for the 20-20-20 rule, and options to stop after the next break or schedule breaks automatically