shiply.now
Hosting

How to deploy a Bolt.new app to production

Bolt.new builds the app in the browser; the wall is getting it live with a backend. Get the code out, then publish the built app to shiply in one call — live URL, database, and domain, at a flat price.

The short version: Bolt.new is great at building the app in the browser — but it stops at a project you can’t point anyone at. To deploy a Bolt.new app with a real backend, get the code out (Bolt lets you push to GitHub or download the project as a zip), build it, then publish the built app to shiply in one call. You get a live URL, a SQL database, server functions, email, and a custom domain — at a flat price, with no usage meter counting every request. That is the whole flow. The rest of this post is the detail.

Bolt.new builds the app. The wall is production.

You described the app, Bolt generated it, and it runs in the in-browser workspace. Then comes the question that stalls almost everyone: “now how do I actually host this Bolt.new app — with a backend?” The workspace preview is for building, not production. A real app needs somewhere to serve it, a database to hold its data, a place for server-side logic, and a domain people can trust. The usual answer is to go stitch together a host, a database provider, an email service, and a registrar — four vendors, four dashboards, four bills — before anything is live. That assembly step is the wall.

It does not have to be. If the app is already built, most of that ceremony buys you nothing. You do not need an account wizard or a pile of dashboards. You need a way to hand the built files to a server and get a URL back — with the backend pieces already attached.

Step-by-step: from Bolt.new to a live URL

  1. Get the code out of Bolt. Bolt.new runs on StackBlitz and builds a full project in the browser, so the first step is getting that project onto your machine (or into a repo). Bolt supports two honest paths: connect and push the project to GitHub, or download the project as a zip. Use whichever you already have set up. The goal is a local folder — the app’s source you can build.
  2. Build it locally. Install dependencies and run the project’s build (npm install, then npm run build). Bolt apps are commonly Vite + React, and a Vite build produces a static output directory — typically dist/. For that kind of app, publishing the finished dist/ is the reliable path: you bring the built output and shiply serves it from the edge.
  3. Publish the built app to shiply. Point the CLI at the built directory:
npx shiply-cli publish ./dist

It prints a live URL. One detail worth getting right: the npm package is shiply-cli, not shiply — a different, unrelated package owns the bare name. If your agent (Cursor, Claude Code, or the like) is doing the work, it can run the exact same command, or you can paste the publish prompt and let the agent publish without you touching a terminal. Either way, the site goes live at <slug>.shiply.now on Cloudflare’s edge. It starts anonymous and free — you claim it to keep it, which also creates a free account if you do not have one yet.

What about the backend?

A live URL is only half of production. The other half is the stack behind it, and that is the part shiply is built to include rather than send you shopping for:

  • Database. Per-site SQL — a D1 database or Neon Postgres — so your app has somewhere real to store data, not a mock.
  • Server functions. Per-site edge functions on Cloudflare Workers for the logic that cannot live in the browser — handling a form, calling an API with a secret key, running a webhook.
  • Email. Transactional email built in, so sign-up confirmations and notifications work without wiring a separate provider.
  • Custom domain. Attach your own domain with automatic SSL, so the app lives on a URL your users trust instead of a subdomain.

One honest note on frameworks. Many Bolt.new projects are a Vite + React single-page app, which publishes cleanly as the built dist/. But Bolt can also scaffold a full-stack or Node/SSR setup — and if yours is one of those, shiply runs server-side rendering for every major JS framework: SvelteKit, Astro, Qwik, the Nitro family, React Router v7, and Next.js (plain SSR via OpenNext). So a static SPA publishes as its built folder, and a full SSR app publishes as an SSR app. Check which one Bolt gave you before you build — the build command and output differ — but either way you are inside what shiply serves.

What it costs

The pricing is flat and you can read it off the card: $0, $8, or $24 a month. There is no usage meter underneath — your bill does not move because a crawler hammered your site or a post did numbers overnight. That is the deliberate difference from metered hosts, where traffic you do not control shows up on your invoice. If you want to sanity-check the number against your real usage, the hosting cost calculator does the math, and the features page lays out the full stack that comes with it.

FAQ

Can I host a Bolt.new app somewhere other than the Bolt workspace? Yes. The Bolt workspace is for building; for production you get the code out — via GitHub or a zip download — and host the built app wherever you like. Publishing it to shiply gets you a live URL plus the backend in one step.

Do I need to move my database? If your app already uses an external database, keep it — point the app at it via environment variables. If you do not have one yet, shiply gives you a per-site SQL database so you do not have to add another vendor.

Is my Bolt app static or full-stack? It depends on what Bolt scaffolded. A Vite + React app builds to a static dist/ you publish as-is; a Node/SSR app builds and runs as an SSR app, which shiply also supports. The package.json scripts and framework tell you which you have.

What happens to the free URL? An anonymous publish is live immediately and free, and expires after 24 hours unless you claim it. Claiming moves it into an account and makes it permanent — the trial costs nothing and leaves nothing behind.

The short version, again

Bolt.new takes you from an idea to a working app. The gap it leaves is production: a live URL, a database, functions, email, a domain. Get the code out, build it, and publish the built app to shiply in one call — the backend comes attached, and the price stays flat. Building with a different agent? The Claude Code guide covers the same path, the Lovable version mirrors it for Lovable projects, and the shiply.now homepage has the one-command version.

Publish your Bolt.new app

No account needed to start. Live at a real URL in one call.