Get Quatrix connected without blocking the UI build.
The first UI pass is designed to remain useful even while some providers are still staged. Supabase is the main dependency needed for the richest data-backed routes.
1) Add required env vars
Create a .env.local file for local development or set the same values in Vercel Project Settings → Environment Variables.
# Supabase (Project Settings → API) NEXT_PUBLIC_SUPABASE_URL=... # https://xxxx.supabase.co NEXT_PUBLIC_SUPABASE_ANON_KEY=... # anon public key # Server-only (Project Settings → API) SUPABASE_SERVICE_ROLE_KEY=... # service_role key (NEVER expose to browser)
2) Run database migrations
In the Supabase SQL editor, run these files in order if you have not already:
- supabase/migrations/20260223_init.sql
- supabase/migrations/20260223_x_extend.sql
- supabase/migrations/20260224_space.sql
- supabase/migrations/20260224_profiles_fix.sql if your profiles table or signup trigger was missing
- supabase/migrations/20260329_ui_profile_shell.sql for the UI-first profile shell fields used by the new profile page
Also create a Supabase Storage bucket named research-assets.
3) Optional env vars (feature unlocks)
- NASA_API_KEY for NASA feeds
- ASTRONOMYAPI_APP_ID + ASTRONOMYAPI_APP_SECRET for sky charts
- OPENSKY_USERNAME / OPENSKY_PASSWORD for traffic rate limits
- OPENAI_API_KEY and GEMINI_API_KEY for AI Lab
- STABLE_DIFFUSION_API_URL for image generation
- N8N_WEBHOOK_URL for automation
Missing optional APIs should not block the UI pass.
Why you saw setup warnings
When Supabase env vars are missing, database-backed pages such as elements, molecules, profiles, graph, and dashboard routes cannot connect. The UI shell still renders so you can keep building the experience without losing structure.