- For TanStack Start projects Vercel requires @lovable.dev/vite-tanstack-config version 2.6.2 or newer in package.json; leave Output Directory empty.
- Older React + Vite projects: framework preset Vite, output dist, plus a vercel.json rewrite to index.html.
Vercel doesn't run always-on servers. If your project has a long-running backend (websockets, bots, background jobs), use Railway or Render for that part.
Step by step
-
Check your project type
- TanStack Start (new projects): package.json lists @tanstack/react-start or @lovable.dev/vite-tanstack-config; there are files under src/routes/.
- React + Vite (older projects): vite.config.ts and index.html at the repo root, no src/routes/ folder, build output is dist/.
-
Get the code onto GitHub
- Connect GitHub (available on all plans): Project → Settings/Connectors → GitHub → Connect project. Lovable creates a repo and keeps it in two-way sync.
- Downloading the codebase as a file and editing code in Lovable require a paid plan.
-
Create the project on Vercel
Go to vercel.com/new, import your GitHub repository, accept the detected framework preset and click Deploy.
-
Check the build settings
Vercel auto-detects Vite, Next.js, TanStack Start (via Nitro) and most frameworks. For a plain Vite app the defaults are build command
npm run buildand outputdist.For Lovable: build command
npm run build, output dist (Netlify / Cloudflare / static). On Vercel leave Output Directory empty for TanStack projects. -
Add environment variables before the first build
In Vercel: Project → Settings → Environment Variables. Copy these from Lovable:
-
VITE_SUPABASE_URL -
VITE_SUPABASE_PUBLISHABLE_KEY -
VITE_SUPABASE_PROJECT_ID -
SUPABASE_URL and SUPABASE_PUBLISHABLE_KEY (server-side, TanStack Start projects)
Changed a value later? Rebuild. Vite bakes variables in at build time. Troubleshoot missing env vars
-
-
Make page refreshes work (Vite / React Router single-page apps)
vercel.json { "$schema": "https://openapi.vercel.sh/vercel.json", "rewrites": [{ "source": "/(.*)", "destination": "/index.html" }] }Server-rendered projects (TanStack Start, Next.js) don't need this. Vercel docs (opens in a new tab)
-
Update login redirect URLs
Add your new Vercel URL (and later your custom domain) to your auth provider's allowed URLs. In Supabase: Authentication → URL Configuration. Redirect troubleshooting · Check RLS before going live
-
Add your domain
Project → Settings → Domains → Add. Vercel shows the exact DNS records (A record for the apex, CNAME for www) to create at your registrar; HTTPS is issued automatically.
What it will cost
Free tier Hobby: $0 — 100 GB data transfer, 1M CDN requests, 1M function invocations / month. Paid from $20/mo: Pro: $20/month per developer seat, includes $20 of usage credit; 1 TB transfer, 10M CDN requests. Checked 17 Oct 2026 on Vercel's pricing page (opens in a new tab).
- The free Hobby plan is for personal, non-commercial use. A business or monetised app needs Pro.
- Prices exclude VAT/sales tax.