Vibe Coding Deployment

Deploying Your Vibe Coded App

Your app works in the preview. Now put it on the internet so others can use it. No server, no command line, no programming knowledge required. Here is exactly what to do.

Last reviewed: May 26 2026

🔍 Data Verification

Prices, models, and features verified: May 2026. The AI tool landscape changes rapidly. Always check official sources for the most current pricing and features:


The Gap Between "Working" and "Live"

You have built something. It runs in Claude's Artifact preview, or in Bolt's browser panel, or as an HTML file on your desktop. You open it, click around, everything works. So why can't you just send someone a link?

Because right now, your app exists only on your computer — or inside the platform where you built it. There is no address on the internet for it yet. When you share a link, there needs to be a computer somewhere running your app and serving it to whoever visits. That computer is called a server.

The good news: you do not need to set up a server yourself. Hosted services can publish a static project from a folder, and app builders offer publish flows that give you a real URL to share. Check the provider's current plan and usage limits before relying on it.

The Core Idea

Deployment means moving your app from "on my computer" to "on a computer that is always connected to the internet." That computer gives your app a URL. Anyone who visits that URL sees your app.

Before You Publish

AI may have built the app and a hosting platform may publish it, but making it public is your decision. Once others can use it, you are responsible for what it does and what data it collects or exposes.


Which Path Applies to You

How you deploy depends on how you built the app. Here is a quick way to figure out your path:

If you are not sure, think about what you were using when you built the app. If you had a live preview inside the tool while you described what you wanted, you probably used one of the platforms above. If you copied and pasted code into a text file yourself, you have an HTML file.


Path A — You Have an HTML File

If you built your app in Claude and saved the code as a .html file, you are in the best situation for easy deployment. A single HTML file is the simplest possible thing to put online.

One simple option is Netlify Drop. Put your site files in a folder with an index.html entry page, then drag the folder into the Netlify Drop publisher. Netlify recommends signing in first, although an unclaimed deploy can be claimed after sign-up.

How to Deploy with Netlify Drop

1
Open Netlify Drop
Go to app.netlify.com/drop. Sign in first if you want the deployment attached to your account from the start.
2
Drag your project folder onto the drop zone
Place a single-file app in a folder as index.html. If your app also has images, styles, or scripts, keep them in that folder and drag the entire folder.
3
Wait for the deploy to finish
Netlify uploads the folder and publishes the project. Deployment time depends on the files being uploaded.
4
Copy the URL you are given
Netlify generates a URL that looks like quirky-name-12345.netlify.app. That is your app, live on the internet. Click it to confirm it works, then copy and share it.

That is it. Anyone with the link can now open your app.

Renaming the Random URL

The auto-generated URL (quirky-name-12345.netlify.app) is not very memorable. After you claim or manage the project in a Netlify account, use the site's domain settings to choose an available Netlify subdomain or connect a custom domain.

Updating Your App Later

To update the same managed project, open it in your Netlify dashboard and drag an updated project folder into its deploy area. If you deployed without signing in, claim the deployment first so you can manage later updates.

Pro Tip: Test the Deployed Version

After deploying, open the live URL in a different browser or an incognito window. Your app should look exactly the same as when you tested it locally. If something looks different, it is usually a font or image that was loaded from your computer's files instead of the internet — ask AI to fix the file paths.


Path B — You Built in Bolt

Bolt has built-in hosting. For new projects, click Publish and Bolt publishes to a free .bolt.host address by default. You can choose Netlify instead before the first publish by connecting a Netlify account in Bolt settings.

Bolt handles the hosting setup and gives you a shareable URL. Custom domains are available through Bolt hosting on eligible paid plans.

To update after making changes, publish the project again from Bolt. Projects originally published through Netlify may continue there or be switched according to Bolt's hosting settings.


Path C — You Built in Replit

While you build in Replit, the preview uses a development URL ending in .replit.dev. It is for testing, is only live while you actively work on the app, and can change when you reopen it. Do not treat it as your published link.

To share an app reliably, use Publish. Replit publishes a snapshot to a public .replit.app URL and offers different deployment types, including Static for browser-rendered sites, Autoscale for web apps whose resource usage varies, and Reserved VM for processes that must stay running.

Preview vs. Published App

The preview URL is a development convenience, not deployment. Choose a Replit publishing type based on whether your app is static, scales with requests, or needs a continuously running server, and review the current pricing before publishing.


Path D — You Built in Lovable

Lovable has a Publish button. Find it in the top right of the Lovable editor and click it. Your app gets a URL ending in .lovable.app that is immediately shareable.

Publishing deploys the current snapshot; later editor changes do not go live until you select Publish and update the deployment. Lovable also supports custom domains on paid plans.


Path E — You Built in v0

v0 integrates with Vercel deployments. Use its publish or deploy action to create a production deployment on Vercel and receive a Vercel URL; the exact build time depends on your project.

The connected Vercel project is where you manage domains, environment variables, deployments, and any enabled analytics or monitoring features.


Getting Your Own Domain (Optional)

A custom domain such as mywatchlist.com can make your app easier to remember. It is optional; platform-provided addresses such as .netlify.app, .bolt.host, .lovable.app, .replit.app, or .vercel.app may be enough for a prototype. Check plan limits and domain pricing before committing.

When a custom domain is worth it:

How to Get a Domain

Buy a domain from a registrar, then connect it to wherever your app is hosted. Pricing, renewal costs, and supported domain features vary by registrar and top-level domain.

Hosting dashboards provide the DNS records required for a custom domain. Follow the current instructions in your chosen hosting platform, then allow time for DNS verification and propagation.

Ask AI to Walk You Through It

If the domain connection steps feel confusing, describe your situation to Claude: "I bought a domain on Namecheap and want to connect it to my Netlify site. Walk me through it step by step." AI is good at breaking down this kind of technical task into plain instructions.


Your Data After Deployment

This is the part that surprises most people. When you deploy, your app goes live — but your data does not go with it.

If your app saves data in the browser (the most common approach for vibe-coded apps), that data is stored on your browser on your computer. When someone else visits your deployed app, their browser starts empty. And when you visit the deployed URL, your browser is also empty — because the deployed version is different from the version you tested locally.

This matters depending on what kind of app you built:

Browser Storage vs. a Database

Browser storage (localStorage) saves data in the user's own browser. It is private to that browser on that device. A database lives on a server and is accessible to anyone you give access to — from any device, any browser. Most simple personal apps do not need a database. Most shared apps do.

Adding a Database (If You Need One)

If your app needs shared data, one option is Supabase, which provides a hosted Postgres database and client libraries. A browser app can use its Data API, but you must enable Row Level Security, write appropriate access policies, and expose only a publishable key. Never put a secret or service-role key in browser code.

Ask AI to help: "My app currently saves data in localStorage. I want to move to a real database so any device can access it. I'm using Supabase. Walk me through the changes."

This is a bigger step — it adds complexity to your app. Only take it if you genuinely need shared data. Most vibe-coded apps do not.


What Surprises People After Going Live

Even when everything works locally, going live often reveals new issues. These are normal and fixable.

"It looks different on my friend's phone"

Different browsers and screen sizes render things differently. What looked perfect on your laptop may have overlapping text on a phone, or different fonts on Safari vs. Chrome. If you asked AI for a mobile-friendly design, test it on an actual phone before sharing widely.

You

My deployed app looks fine on my laptop but the buttons are tiny and the text overlaps on mobile. Here is the current code: [paste your HTML]. Fix the mobile layout — the buttons should be full width on small screens and there should be more space between elements.

"My friends immediately found bugs I never noticed"

When you test your own app, you use it exactly as you designed it — in the order that works, with data that makes sense. Real users do unexpected things. They click buttons in the wrong order, leave fields blank, type unusual characters, and use the app backwards from how you imagined.

This is good. These are genuine bugs and real feedback. Describe what your friend found and ask AI to fix it.

"Anyone on the internet can see it"

Your deployed URL is public. Anyone who has it — or finds it — can open your app. This is usually what you want. But if your app contains personal information, private data, or anything you would not want a stranger to see, do not deploy it to a public URL without adding some form of protection.

A password prompt implemented only in browser code is not protection because visitors can inspect or bypass it. For private content, use access controls provided by the hosting platform or implement authenticated access with server-side authorization before publishing.

"I updated the file but the live site still shows the old version"

Browsers cache (remember) old versions of websites to load them faster. After redeploying, the live site may show the old version for a few minutes. Try opening the URL in a private/incognito window, or hold Shift and press Refresh to force a fresh load.


Deployment — Quick Reference

Related Guides

Growing Your App

Your app is live. Learn how to add features safely, handle feedback, and avoid regressions.

7 Vibe Coding Mistakes That Waste Your Time

If your build sessions feel slow or circular, these are the patterns to fix first.

When Vibe Coding Isn't Enough

Know when your project has outgrown AI-only building and how to bring in developer support.

Back to Home