Reality Check
Present tracking without soft deadlines.
Time is stored as absolute timestamps in Supabase. If the browser closes or a phone locks, the next render resumes from target_end_time and shows the real delta.
Supabase
Mobile first
15m alerts
Setup required
Add NEXT_PUBLIC_SUPABASE_URL and NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY to enable authenticated timer writes.
No active session
Start a bounded block. Once it crosses the target, overtime alerts become persistent every 15 minutes.
The timer model never stores a local countdown. It stores started_at and target_end_time, then derives the current state from the clock.