How to Migrate a Bolt.new App to Vercel or Real Hosting
Bolt.new is great for prototyping but you eventually need a real deploy. Here is exactly how to move your Bolt app to Vercel without breaking anything.
TL;DR
The cleanest migration path: export your Bolt project to a GitHub repo, clone it locally, regenerate the package-lock.json, set up env vars in Vercel, and deploy. The whole process takes 30 to 90 minutes for a normal-sized app.
What is actually happening
Bolt.new runs your app inside a WebContainer in the browser, which is great for fast iteration but is not real hosting. To get a production deploy with a real domain, decent uptime, and the ability to scale, you have to move the code off Bolt entirely.
The fix, in order
Try these in sequence. Most apps are fixed by the first or second step.
- 1
Export the project to GitHub from Bolt
In Bolt, click the Connect to GitHub button (or the equivalent integration button in the top right). Authorize Bolt to access your GitHub. Create a new repo. Bolt will push the entire project into it. Verify the push by visiting the repo on GitHub and confirming all the files are there.
- 2
Clone the repo locally and run it
Run: git clone https://github.com/yourname/yourrepo && cd yourrepo && npm install && npm run dev. The first install will likely flag mismatches because Bolt's package.json sometimes does not match the lock file. Resolve any errors before moving on.
- 3
Regenerate the lock file
Delete package-lock.json (or yarn.lock or pnpm-lock.yaml) and node_modules, then run npm install fresh. This makes the lock file deterministic so Vercel can build the same way you do. Commit the new lock file.
- 4
Create a Vercel project from the GitHub repo
Go to vercel.com and click New Project. Import the GitHub repo. For framework, Vercel usually auto-detects (Next.js, Vite, etc). Click Deploy. The first deploy will fail if you have env vars; that is fine, fix it in the next step.
- 5
Add all environment variables to Vercel
In Vercel project settings, go to Environment Variables. Add every variable from your Bolt environment, marking each for Production, Preview, and Development. Trigger a redeploy. The deploy should succeed and give you a vercel.app URL you can use as your real production URL.
- 6
Set up your real database on Supabase or Postgres
If you were using Bolt's built-in storage, you have to migrate that data. Create a Supabase project. Recreate your tables (or run your migrations). Export your data from Bolt as JSON or SQL and import into Supabase. Update the connection string in your Vercel env vars.
When to stop debugging and get help
If your Bolt app has complex state, a non-trivial database schema, or custom auth, the migration usually has hidden gotchas. The two-hour migration becomes a two-day debugging session. We have done this migration enough times that we can usually finish it in a few hours.
Stuck after trying these?
We do a $100 Quick Audit that pinpoints exactly what is wrong, why, and what it will take to fix. No sales call gating, no fluff.
Start a $100 AuditRelated fixes
How to Fix an AI-Built App Where the Database Keeps Resetting
Your data disappears every time the app redeploys or the dev environment restarts. The actual cause and the fix.
How to Fix Broken Supabase RLS Policies in AI-Built Apps
Row Level Security policies generated by AI tools usually have one of three issues. Here is how to find and fix each one.
How to Fix an AI-Built App That Is Slow Under Real Load
Your app feels fast in the editor and dies under real users. The actual performance fixes for AI-built apps.
Not sure exactly what is broken? Run a free scan and get a diagnosis in under 2 minutes.