The fastest path is: install dependencies, connect Supabase, add the minimum
env vars, push migrations, then run
pnpm dev.Minimum Setup
With only the minimum setup, you can already use:- Auth with Supabase
- Chat
- Structured Output
- Basic image generation with OpenAI
- The dashboard, credits, and app shell
- The landing page at
/landing
- Storage-backed flows: chat documents, uploads, generated asset history
- Video Studio: video model credentials + storage
- Voice Studio: ElevenLabs + storage
- Payments, email sync, analytics, and Sentry
- Multi-provider model access beyond OpenAI
- PDF RAG and embeddings
What You Need
- Node.js 18+
pnpm- A Supabase project
- An OpenAI API key
1. Clone And Install
2. Create Your Env File
Use.env.local for local development:
3. Link Supabase
supabase/config.toml, you can skip pnpm exec supabase init.
4. Configure Supabase Auth URLs
In Supabase, openAuthentication -> URL Configuration and set:
- Site URL:
http://localhost:3000 - Redirect URL:
http://localhost:3000/auth/confirm
https://yourdomain.comhttps://yourdomain.com/auth/confirm
/auth/confirm, then redirects into the final
post-auth flow automatically.
5. Push The Database Schema
6. Start The App
Verify Your First Run
If the minimum setup is correct, you should be able to:- open the landing page
- sign in with a magic link
- enter the dashboard
- use the chat app
- use Structured Output
- open the landing page at
/landing
Add Optional Features Next
Authentication
Add Google OAuth and review the auth flow.
Storage
Enable uploads, generated assets, and document flows.
AI SDK
Understand the shared AI layer used across the product.
Vector RAG
Enable document chat with embeddings and citations.
Payments
Add checkout links, webhooks, and credits top-ups.
Analytics
Add PostHog, Plausible, DataFast, or a combination.
Emails
Sync contacts with Loops, Resend, or Brevo.
Deployment
Ship the app to Vercel with the right env vars.
Landing Page
Customize the public marketing site and pricing flow.
Common Mistakes
NEXT_SUPABASE_SERVICE_KEYis missing or uses the wrong name- Supabase redirect URLs do not include
/auth/confirm - you copied
.env.exampleto.envinstead of.env.local - storage is not configured, but you expect uploads or generated files to work
NEXT_PUBLIC_ANALYTICS_PROVIDERuses the wrong syntax for multiple providers

