Your Demo Works on Your Laptop. Now Make It Real.
You built a nail-salon booking app with vibe coding. Your friends love it. Now you need to put it on the internet without leaking secrets or draining your wallet.

1. The Domain — Your Service's Name Tag
A domain isn't just an address. It's the moment your project stops feeling like a toy and starts feeling real.
J considered nailbook.app. It's trendy, but costs more than $15 a year. .com is the safe default — though the good ones are often taken. Newer extensions like .app, .io, or .co work if the .com is gone, but think twice before anything obscure.
Other option: Cloudflare Registrar — at-cost pricing and smooth global DNS management.
2. Hosting — Is Free Really Free?
Vibe-coded React or Next.js apps are mostly static files. You upload images, HTML, CSS, and JS to a server. That's why Vercel, Netlify, and Cloudflare Pages offer generous free tiers.
Hosting looks crowded, but it splits into four buckets — and that makes the choice fast:
| Type | Examples | Best for | Trade-off |
|---|---|---|---|
| Website builders | Squarespace · Wix · Webflow | Marketing sites, portfolios, blogs | No code, all-in-one — least flexible |
| Shared hosting | Bluehost · Hostinger · SiteGround · GoDaddy | WordPress, small sites | Cheap and easy to manage |
| VPS / Cloud | AWS · GCP · DigitalOcean · Hetzner · OVH | Developer servers, scalable apps | Full control, but you manage it |
| Frontend deploy | Vercel · Netlify · Cloudflare Pages · Firebase Hosting | React/Next.js, static sites, SPAs | Git-based auto-deploy, very fast |
For a vibe-coded React or Next.js app, a frontend-deploy platform (Vercel, Netlify, Cloudflare Pages, Firebase Hosting) is the natural fit: push to Git and it deploys itself, free to start.
But free has a hidden ceiling. Vercel's free tier includes 100 GB of bandwidth per month. For a small service, that's plenty. But J's nail-salon app has high-res design photos. If 500 customers visit, she might hit that limit faster than she thinks.
| Item | Monthly cost (≈100 users) | Note |
|---|---|---|
| Domain | ~$1.5 | $18/year |
| Vercel | $0 | Free tier |
| Firebase | ~$4 | |
| OpenAI API | ~$40 | the real driver |
| Total | ~$45/month |
Other option: Netlify — same Git-based flow; you can also drag-and-drop a folder.
3. Database and Auth — How Is This Different from Excel?
In your demo, you probably used const users = [] as fake data. A real service needs data to survive a power cycle. That's a database.
For non-developers, think of a database as Excel with superpowers. Excel lives in one file that breaks if too many people touch it. A database is built so thousands of people can read and write at the same time without crashing.
| Firebase (Firestore) | Supabase | |
|---|---|---|
| Vibe | Google product, easy setup | Postgres-based, more serious feel |
| Auth | Built-in (email, Google, Apple) | Built-in + external (Clerk) |
| Free limit | 50k reads/writes per day | 500 MB, unlimited API calls |
| Strength | Ready in 30 minutes | Complex queries with SQL |
| Weakness | Hard to run complex reports | Steeper learning curve |
| Best for | Speed to launch | Future data analysis |
Other option: Supabase — Postgres-based, better for complex queries and analytics; RLS is required.
4. PWA — Skip the App Store Line
Customers will ask, "Where do I download the app?" You'll want to say "It's on the App Store." But App Store review takes 1–2 weeks, and rejections are common.
Instead, use a PWA (Progressive Web App). It's a website that acts like an app. Users add an icon to their home screen, and it works offline for some features. iPhone Safari and Android Chrome both support it.
- Create a
manifest.json(app name, icon, theme color) - Register a Service Worker (offline caching)
- Force HTTPS (Vercel/Netlify handle this by default)
- Add an "Add to Home Screen" tooltip (iOS Safari requires manual steps)
5. Secret Management — You Can Lose $3,000 Overnight
This is where real accidents happen. One leaked OpenAI API key on GitHub can cost you hundreds of dollars overnight, because bots scan public repos and burn through your quota.
The safe flow is short:
- Generate the key
- Paste it into Vercel's environment variables
- Call it via
process.envin your code - Add
.envto.gitignore
If you accidentally exposed a key, rotate it immediately. Deleting history doesn't un-leak the key. Then set a monthly spending cap (say, $10) in your OpenAI dashboard. It's your minimum safety net.
Other option: .env.local — for local development only. You still need to add keys separately in Vercel for deployments.
6. The Stage 0 Mindset
If you try to make it perfect before launching, you'll never launch. Buy the domain, attach hosting, and send the link to five friends. That's enough.
J bought nailbook-demo.com this week, deployed to Vercel, and texted the link to three friends. The reminder notification doesn't work yet, but booking and viewing appointments does. That's the end of Stage 0. It doesn't have to be perfect. Being on the internet is already half the battle.
About the Author

Jaehee Song
Enterprise data platform architect with 20+ years of experience building data systems for Fortune 500 companies. AI development educator who has taught vibe coding and AI development to hundreds of students. Founder of Seattle Partners, helping Korean technology startups navigate the US market.