A minimal daily mental wellness tracker with cross-device sync. Built on habit stacking — anchor new practices to routines you already have.
- Go to supabase.com and create a free account
- Click New Project, give it a name, set a database password
- Wait for it to spin up (~1 min)
- In your Supabase dashboard, go to SQL Editor
- Paste the contents of
supabase-schema.sqland click Run - That's it — one table with row-level security
- Go to Settings → API in your Supabase dashboard
- Copy the Project URL and anon/public key
- Create a
.envfile in this project root:
VITE_SUPABASE_URL=https://your-project.supabase.co
VITE_SUPABASE_ANON_KEY=your-anon-key-here
- In Supabase, go to Authentication → Providers
- Make sure Email is enabled (it is by default)
- Optionally go to Authentication → URL Configuration and set your site URL to your Vercel domain once deployed
npm install
npm run devOpen http://localhost:5173.
- Push this repo to GitHub
- Go to vercel.com/new and import it
- Add these Environment Variables in Vercel's settings:
VITE_SUPABASE_URL→ your Supabase project URLVITE_SUPABASE_ANON_KEY→ your anon key
- Click Deploy
After deploying, go back to Supabase Authentication → URL Configuration and add your Vercel URL to the Redirect URLs list. This ensures the magic link redirects work correctly.
Six micro-habits (all ≤5 min) spread across your day, each "stacked" onto something you already do. Data syncs via Supabase so you can check things off on your phone and see it on your laptop. localStorage is used as a fast cache for instant loading.
- Frontend: React + Vite (static, deployed to Vercel)
- Backend: Supabase (Postgres + Auth + Row Level Security)
- Auth: Magic link (passwordless email)
- Storage: One JSONB row per user in
wellness_data, upserted on each change - Customization: Daily habits are defined in
src/Tracker.jsx