Architecture
Portability Strategy
Shipped deploy path is Vercel + Supabase. The stack is standard HTTP, Node, and Postgres so you can move later.
The shipped path is Vercel + Supabase. GCP and AWS are not first-class deploy targets (product non-goal). The runtime is still ordinary Node, Fastify HTTP, Next.js, and PostgreSQL, so a later move is a host change, not a rewrite.
Do not read this page as “configure GCP or AWS from this repo.” Those remain unresolved.
What is portable
- Runtime (Node.js 24.x, LTS Krypton): Runs on Vercel, a VPS, or a container with no platform-specific application code.
- API (Fastify): Standard HTTP. Serverless function, container, or VM.
- Web (Next.js): Vercel or self-hosted Node. Avoid vendor-only features if you expect to leave Vercel.
- Database (PostgreSQL + Drizzle): Switch
DATABASE_URL. Local Product Ready uses Supabase CLI Postgres. Preview migrations requireRUN_PG_MIGRATE=trueand an isolatedDATABASE_URL; they cannot target a shared database.
Deployment options
Preview migrate requires RUN_PG_MIGRATE=true and an isolated DATABASE_URL. Configure environment variables and deploy via the documented Vercel and Supabase flows.