I wanted a place to count down to things – a trip, a birthday, a deadline – and to count up from things, like the day I started a habit. Most countdown sites I tried were full of ads or wanted an account before I could type a date. So I built my own: CountMyDays. It's a solo side project, and this post is about how it's put together and a few things that bit me along the way.
The stack
React 19 + Vite + TypeScript for the frontend
Supabase for Postgres, magic-link auth and Realtime
Vercel for hosting
Tailwind for styling, and a service worker so it installs as a PWA and works offline
Nothing exotic. The interesting parts are in how data moves between "guest" and "signed in", and in how the timer stays accurate.
Guest first, account later
I didn't want a sign-up wall.…