Production deployment

Vercel + Supabase, without giving up user ownership.

V0.5 adds OAuth, Postgres persistence, RLS, encrypted provider credentials, developer add-ons and scoped API tokens while preserving the portable Personal Intent Graph.

Required Vercel environment

VariablePurpose
SUPABASE_URLSupabase project URL.
SUPABASE_PUBLISHABLE_KEYBrowser-safe publishable key for Auth/RLS.
SUPABASE_SERVICE_ROLE_KEYServer-only administrative key for encrypted secrets and developer tokens.
OWNALGO_ENCRYPTION_KEY32 random bytes, base64 encoded, used for AES-256-GCM provider-secret encryption.
OWNALGO_APP_URLCanonical production URL, e.g. https://ownalgo.example.com.
OWNALGO_ALLOWED_ORIGINAllowed hosted API origin.
OPENAI_API_KEYOptional platform-level semantic provider. BYOK remains supported.
YOUTUBE_API_KEYOptional platform-level YouTube adapter key. BYOK remains supported.

Database

Run supabase/migrations/0001_production.sql. It creates profiles, Intent Graphs, feedback, installed add-ons, developer tokens and service-only provider credentials with RLS enabled for user-facing tables.

OAuth

Enable GitHub and/or Google in Supabase Auth. Register the provider callback URL shown by Supabase and add the production site URL plus /auth/callback/ to allowed redirects.

Domain

Add the custom domain in Vercel after the production deployment is healthy. Then update OWNALGO_APP_URL and the OAuth allowed redirect URLs to the final domain.

Local verification

npm start
npm run check
npm run mcp