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: Apr 22 2026


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. There are free services that handle this in under five minutes. You drag a file, they handle the rest, and you get a real URL you can share with anyone.

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.


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.

The service to use is Netlify. It is free, takes about two minutes, and no account is required for the quickest option.

How to Deploy with Netlify Drop

1
Open netlify.com in your browser
Look for the section that says "Drop your site here" or "Deploy manually." It is usually visible without signing in.
2
Drag your .html file onto the drop zone
Find the file on your computer and drag it into the browser window. If your app is a single file, drag just that one file. If it is a folder with multiple files, drag the whole folder.
3
Wait about 10 seconds
Netlify uploads your file and sets it up on their servers. A progress bar appears and then disappears.
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. If you create a free Netlify account, you can rename it to something like my-watchlist.netlify.app. This takes about 30 seconds in the Netlify dashboard under Site Settings → Site name.

Updating Your App Later

If you make changes to your app and want to redeploy, you need a Netlify account to update the same URL. Without an account, each drop creates a new random URL. Sign up for free and you can drag a new version of the file onto the same site to update it — visitors see the new version immediately.

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 a built-in deploy button. Look for a Publish or Deploy button in the top right area of the Bolt interface. Click it and Bolt deploys your app automatically — usually to a Netlify or StackBlitz URL.

You get a shareable URL within about a minute. Bolt handles the server side completely; you do not need to do anything technical.

To update after making changes: make your changes in Bolt, then click the deploy button again. The same URL gets updated.


Path C — You Built in Replit

Replit apps run live by default when you press Run — you may already have a URL. Look at the top of the page for a URL in a preview panel or a browser address bar showing something like your-project.username.repl.co. That is your app.

However, Replit apps on the free plan go to sleep when no one is using them. The first person to visit after a period of inactivity waits 20–30 seconds for it to wake up. For a personal tool this is fine. For something you want to share widely, Replit offers paid deployment plans that keep your app running continuously.

Free vs. Always-On

Free Replit apps sleep when inactive. If you are building something for occasional personal use, the free tier works fine — it is just slow to start after being idle. If you need it to be fast every time for anyone, you will need a paid Replit plan or to export and deploy elsewhere.


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.

Lovable also lets you connect a custom domain if you want your own URL. Look for domain settings in your project's settings panel.


Path E — You Built in v0

v0 is made by Vercel, so deployment goes directly to Vercel. There is a Deploy button in the v0 interface. Click it, connect or create a free Vercel account, and your app is live on a vercel.app URL in about a minute.

Vercel is fast and reliable. If you plan to build more things, it is worth getting comfortable with the Vercel dashboard — it shows you who is visiting and lets you redeploy in one click when you make changes.


Getting Your Own Domain (Optional)

A domain like mywatchlist.com costs about $10–15 per year and makes your app feel real. It is optional — the free .netlify.app or .vercel.app URLs work fine for personal use and sharing with friends.

When a custom domain is worth it:

How to Get a Domain

Buy a domain from a registrar — Namecheap, Cloudflare, Squarespace Domains, or Porkbun are all reliable and cost about the same. Search for the name you want, pay for one year, then connect it to wherever your app is hosted.

Both Netlify and Vercel have clear in-dashboard instructions for connecting a custom domain. The process involves adding a couple of DNS records — the dashboard tells you exactly which records to add and where, and it usually takes about 10 minutes to work.

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 to share data between users or be accessible from multiple devices, the easiest option for vibe-coded apps is Supabase. It is a free service that provides a database you can connect to your app without writing server 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.

The simplest protection: a password prompt. Ask AI to "add a simple password gate to this app — the correct password is 'abc123' — show a password screen before the main app and only show the app if the correct password is entered." This is not real security, but it keeps casual visitors out of personal tools.

"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