A timer does not know if you are there
the problem
A plain interval timer fires while you are in a meeting, after you locked the screen, and the moment the laptop wakes with four missed breaks queued up. Each of those makes the app feel broken.
what I did
Presence is a first-class concept rather than a check bolted onto the timer: idle, locked, asleep and awake are normalised into one view of whether the user is actually at the computer, and the break loop consumes that instead of raw elapsed time.