Bolt

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. 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. 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. 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. 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. 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. 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 Audit

Related fixes

Not sure exactly what is broken? Run a free scan and get a diagnosis in under 2 minutes.