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).