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.