Vercel
Zero-config for Next.js and Vite; personal projects free on Hobby.
Cloudflare Pages
Free, commercial use allowed, unlimited static bandwidth.
What Cursor gives you
Anything — whatever you asked it to build (Next.js, Vite, Astro, Express, Python…).
Built-in hosting
No built-in hosting. You pick the host.
- Free: Not applicable.
- Custom domain: Set up at your host.
First: which kind of project do you have?
| Type | How to tell | What the host needs |
|---|---|---|
| Static / SPA (Vite, Astro, plain HTML) | Build produces a folder of HTML/JS/CSS (dist/, build/, out/). | Cloudflare Pages, Netlify, Vercel or DigitalOcean static — all free. |
| Next.js / SSR framework | next.config.* or a server adapter. | Vercel (native), Netlify or Cloudflare (via OpenNext). |
| Long-running server (Express, FastAPI, bots, websockets) | A start command like node server.js or uvicorn that must keep running. | Railway, Render, Fly.io or DigitalOcean App Platform. |
Get your code out
- Create a GitHub repo and push (Cursor's Source Control panel or git in the terminal).
Build settings
- Build command
-
Whatever package.json says (usually npm run build) - Output
- Depends on framework
- Node
- Match your local version
Environment variables to copy
-
Everything in your local .env — never commit it; add each value in the host dashboard.
Gotchas
- Commit a lockfile (package-lock.json / pnpm-lock.yaml) so the host installs the same versions.
- Ask Cursor to add a .gitignore that excludes .env before your first push.
Step-by-step guides for Cursor
- Vercel Zero-config for Next.js and Vite projects.
- Netlify Good for static sites and Next.js (adapter applied automatically).
- Cloudflare Pages Free with commercial use; best for static sites.
- Railway Best when your project has a backend server or needs a database next to it.
- Render Free static sites and free (sleeping) web services for side projects.
- DigitalOcean App Platform Three free static apps; predictable container pricing for servers.
Database & login
Data: Neon (opens in a new tab): Free: 100 projects, 100 CU-hours per project/month, 1 GB storage per project (20 GB total). Compare databases
Auth: Clerk (opens in a new tab): Hobby: free — 50,000 monthly retained users per app, up to 3 social connections.
Common errors
- Supabase warns “RLS disabled” — your table is public
- “new row violates row-level security policy” (42501)
- Page works, but refreshing it gives a 404
- Blank page or “supabaseUrl is required” after moving off the builder
- Google login sends you back to localhost (or “redirect_uri_mismatch”)
- Deploy succeeds but shows a blank page or “Page not found”
- Firebase: “This domain is not authorized for OAuth operations”
- Clerk: “Development keys” warning or sign-in broken in production