Vercel (recommended)
1. Push repo to GitHub.
2. Import project at [vercel.com/new](https://vercel.com/new).
3. Set environment variables:
NEXT_PUBLIC_SITE_URL=https://your-domain.com
4. Deploy. Vercel auto-detects Next.js.
Environment variables
Copy `.env.example` → `.env.local` for local dev.
| Variable | Required | Description |
|---|---|---|
| `NEXT_PUBLIC_SITE_URL` | Production | Canonical site URL for sitemap/OG |
| `WAITLIST_WEBHOOK_URL` | Optional | POST waitlist emails to your backend |
| `RESEND_API_KEY` | Optional | Email provider for waitlist |
Pre-deploy checklist
- [ ] Add images to `public/images/`
- [ ] Set `NEXT_PUBLIC_SITE_URL`
- [ ] Replace `favicon.ico`
- [ ] Add OG image
- [ ] Connect waitlist API (`src/app/api/waitlist/route.ts`)
- [ ] Run `npm run build` locally — must pass
- [ ] Test waitlist form end-to-end
Custom domain
In Vercel: Project → Settings → Domains → add your domain.
Update `NEXT_PUBLIC_SITE_URL` to match.
Other hosts
Works on any Node.js host that supports Next.js 16:
npm run build npm run start
Static export is **not** configured — the site uses client-side GSAP and API routes.
