5 min readVibeDeploy team

v0 and Bolt output, shipped to production in Europe

Code generators end at a preview or an export. This piece maps what v0 and Bolt actually hand you, how each output type becomes a static build, and what turning that build into a production site on EU infrastructure involves.

Every code generation tool has a moment where its responsibility ends. For v0 that moment is a component tree in a code tab; for Bolt it is a project running in a browser sandbox. Past that moment, the tool's suggestions all point the same direction: v0 is a Vercel product and assumes Vercel will finish the job, while Bolt's built-in deploy button ships to Netlify. Neither suggestion is wrong, but both are defaults, and for a European project the deploy target is exactly the decision worth making on purpose, because it fixes your jurisdiction, your billing model and your operating workflow in one move.

This piece covers the path from either tool to a production site on EU infrastructure, starting with the part most guides skip: understanding what you are actually holding when the generator finishes.

What each tool hands you

The two tools produce different artifacts, and the difference determines your first step.

v0 gives you components, not a project. The output is React with Tailwind classes, typically leaning on shadcn/ui. On its own that code does not run; it needs a scaffold around it. You have two routes: paste the components into a Vite and React project you create yourself, or use v0's Next.js project export and get the scaffold included. Either way, you now own a standard frontend codebase with no v0 dependency left in it.

Bolt gives you a whole project, already running. The preview executes inside StackBlitz's in-browser WebContainer, which feels like a live site but is not reachable by anyone else. The Download button produces a ZIP of the full project, most often a Vite, React and Tailwind layout, occasionally an Astro or Next.js scaffold when the prompt steered that way.

The common ground matters more than the differences: both tools ultimately yield a mainstream JavaScript project that compiles to static assets. There is no proprietary format holding you anywhere.

From project to build

A production host does not serve your source; it serves the compiled result. For a Vite project that means:

npm install
npm run build

which produces a dist/ folder of plain HTML, JS and CSS. For a Next.js scaffold, add output: 'export' to the config to get a fully static build. That folder is the deployable unit, and it is worth running this step locally at least once even if an agent will handle it later, because the production compiler is stricter than the dev preview. Bolt in particular can generate code the WebContainer tolerates but the build rejects, and finding that out on your own machine beats finding out mid-deploy.

Two honest boundaries to check before continuing. If the generator hardcoded localhost URLs for API calls, replace them now, since they point at a machine your visitors do not have. And if Bolt produced an actual server, an Express backend for instance, that part cannot live on a static host at all; the frontend deploys as described here and the server logic needs its own runtime. The same applies to Next.js API routes in a v0 export: static hosting serves the static layer, and dynamic behaviour belongs in a separate service the frontend calls.

Landing the build on European infrastructure

With a build folder in hand, VibeDeploy accepts it four ways, and which you pick is a workflow preference rather than a capability difference:

  • Drag it in. The build folder goes into the dashboard, and the site is live on a platform subdomain with TLS in under a minute. The step-by-step version is at deploy localhost to production.
  • Let an agent do it. If you iterate in Cursor, Windsurf or Claude, connect the MCP server once and deployment becomes something you ask for in the same conversation where the code changes. The Cursor and Windsurf pages show the configuration; how MCP changes iteration rhythm is explored in from a ChatGPT or Claude chat to a live European website.
  • Paste the deploy guide. A chat assistant with no MCP support can still deploy by reading a single instruction file.
  • Connect a repository. Push the exported project to Git and every push redeploys, which suits Bolt's download-and-iterate loop well.

Tool-specific notes live at /for/v0 and /for/bolt. A custom domain is one CNAME record afterwards, with the certificate provisioning automatically.

What "production" adds that the generator could not

Uploading files makes a site reachable. Production is the set of behaviours around the files, and none of them exist inside v0 or Bolt because none of them are code:

  • Staging gives regenerated versions a private URL to be reviewed on before they replace the live site, which matters when the diff was written by a model rather than read by a person.
  • Snapshots make every deploy reversible, so an iteration that looked fine in the sandbox and wrong in reality costs one rollback instead of an evening.
  • Forms need a receiving end; on VibeDeploy the built-in relay handles submissions on the same EU platform instead of a third-party handler the generator picked for you.
  • Analytics run first-party and privacy-preserving, so measurement does not drag a foreign processor and a consent banner into an otherwise clean site.

The deeper treatment of these four, and why AI-generated frontends need them more rather than less, is in deploying AI-generated frontends to production in the EU.

Why the EU part is not decoration

The build folder is identical wherever you host it. What changes with the target is everything around the folder: the company operating the machines, the law that reaches them, and the answers you give when a customer's questionnaire arrives. On VibeDeploy the operator is Serso BV in Belgium, every layer from served files to control plane runs in EU data centres, and a public DPA covers the processing on all paid plans. For a site aimed at European users, that turns a future compliance conversation into a settled fact. The reasoning in full is in data sovereignty for AI-built websites.

Cost stays flat rather than metered: 15, 39 or 129 euro per month including VAT depending on scale, with a 14-day trial and no card up front, compared on the pricing page.

The generators have made frontends cheap. Treat the deploy target as the one decision in the pipeline that is still entirely yours, and spend it deliberately.

From the VibeDeploy team

Ship your AI-built site in minutes

VibeDeploy hosts your AI-built websites in the EU with custom domains, automatic SSL, and a free tier that gets you online today.

Related reading