Deploy to production
Put Orbit on Vercel with a Neon database, step by step, with a launch checklist.
1. Create the database
Create a free project at Neon and copy the connection string. It looks like postgres://user:password@host/dbname. Tables are created automatically the first time the app runs.
2. Deploy
- Push the project to a private GitHub repository
- Import it in Vercel. No special settings are needed
- Add environment variables in the Vercel project settings:
| Variable | Value |
|---|---|
DATABASE_URL | Your Neon connection string |
APP_URL | Your production address, for example https://app.example.com |
RESEND_API_KEY and MAIL_FROM | So emails are really sent |
CRON_SECRET | A long random string |
ADMIN_EMAILS | Your own email, to use /admin |
- Deploy, then add your custom domain in Vercel
The app refuses to send emailed links until APP_URL is set, on purpose, so a forged request cannot point a reset link at another site.
3. Optional services
Add the Stripe variables from Billing and ANTHROPIC_API_KEY from AI assistant when you are ready for them.
Launch checklist
ORBIT_DEMOis not set- Email works: request a password reset and check your inbox
- Replace the placeholder customer names, testimonials and statistics in
lib/site.tsandlib/copy.ts - Review and replace the privacy and terms pages
- Create your first account, then confirm
/adminopens only for your email - Place a test order in Stripe test mode before switching to live keys
- Turn on database backups in Neon
Scaling notes
Everything runs on serverless functions and a serverless database, so there is nothing to size at first. The database queries use indexes for every workspace-scoped lookup. If traffic grows large, move event storage to a time-series store and keep the rest as it is.