Environment Variables Reference

Required variables

All of these must be set for the app to function:

NEXT_PUBLIC_SUPABASE_URL       -- Your Supabase project URL (e.g., https://abc.supabase.co)
NEXT_PUBLIC_SUPABASE_ANON_KEY  -- Supabase anonymous/public key for client-side queries
SUPABASE_SERVICE_ROLE_KEY      -- Supabase service role key for server-side operations (bypasses RLS)
GOOGLE_CLIENT_ID               -- OAuth 2.0 client ID from Google Cloud Console
GOOGLE_CLIENT_SECRET           -- OAuth 2.0 client secret from Google Cloud Console
OPENROUTER_API_KEY             -- API key from openrouter.ai for AI chat
SESSION_SECRET                 -- Random string used to sign HMAC-SHA256 session cookies (app fails to start if missing)

Optional variables

TODOS_IMPORT_KEY  -- API key for the Apple Reminders import endpoint (POST /api/todos/import). Set this to a random string and use the same key in your Apple Shortcut.

Where to set them

In Vercel: Project Settings > Environment Variables. Add each variable for Production, Preview, and Development environments. For local development, create a .env.local file in the project root (this file is gitignored).