Enter your passcode
This passcode keeps casual visitors out. For launch, use a private admin URL and do not share your Admin API Token. Supabase RLS protects couple data.
Make a free project at supabase.com. In SQL Editor, paste all of garden/supabase-setup.sql and Run.
This build can load live public config from Cloudflare KV. Use the Connection tab to save the Supabase Project URL/public key for every device using the live site.
Configure custom SMTP (Resend, Postmark) so confirmation emails hit the inbox. Full guide in EMAIL-SETUP.md. Set your site URL + redirect URLs in Supabase → Auth → URL Config.
Supabase → Authentication → Providers → enable Google / Apple. Add your deployed URL to allowed origins.
Run npx web-push generate-vapid-keys. Paste only the public key in the Push tab. Put the private key in Supabase Edge Function secrets.
Deploy the Admin app, Main app, and API Worker separately with wrangler deploy. Protect this admin page with a strong Worker ADMIN_TOKEN, and Cloudflare Access later.
v65 native KV. It updates the live app for every device after refresh. The Supabase publishable/anon public key is okay here when Row Level Security is enabled. The health check now tests the real live API Worker plus Supabase endpoints. Never paste a service_role key here.Generate: npx web-push generate-vapid-keys
localStorage only. For real multi-couple analytics, query your Supabase dashboard.localStorage on this device only. The live factory reset below uses the API Worker and requires your private Supabase service role key to be saved as a Worker secret.