How to Host the App You Just Vibe Coded (Without a DevOps Degree)
A plain-English guide for marketers who built something with Claude Code and now need to put it on the internet. Explains every major free and cheap ...
A non-technical guide for marketers who’ve built something and want actual humans to use it.
You prompted. Claude Code wrote. Something cool appeared on your laptop. Now what?
Everything up until this point is like cooking a great dinner in your own kitchen. Deploying is opening a restaurant — now other people can show up, sit down, and eat. This guide is about that moment.
We’ll cover every realistic hosting option for 2026, explain them in analogies you’d use at a dinner party, and show you the exact prompts to deploy in 15–30 minutes. No DevOps jargon.
First, What Kind of App Did You Build?
Hosting starts with knowing what you have. Ask Claude Code:
Prompt: Look at the project I just built. In one paragraph, describe: (1) what kind of app this is — static site, React app, Next.js, API, Python script, WordPress, etc. (2) does it need a database? (3) does it need to run code on a server or is everything in the browser?
That answer decides which of the tiers below fits.
| What you built | Fits in this tier |
|---|---|
| Landing page, portfolio, blog, simple HTML/CSS site | Tier 1 — Static hosting |
| React/Next.js/Vue app, Astro site, SvelteKit app | Tier 2 — Modern web hosting |
| App with login, database, payments, user accounts | Tier 3 — Full-stack hosting |
| Always-on Python/Node script (Discord bot, scheduled job) | Tier 4 — Background services |
| Something weird, custom, or with heavy traffic | Tier 5 — Your own server |
Tier 1: Static Hosting (Free Forever, 5 Minutes)
Analogy: You’re printing a poster and sticking it on a wall. Once it’s up, it just sits there. No electricity needed.
Option A: GitHub Pages — free, simplest
Best for: portfolios, documentation, one-page sites.
Prompt for Claude Code:
Initialize this folder as a git repo. Create a GitHub repo called
{your-project}, push the code, then enable GitHub Pages from themainbranch. Tell me the URL when done.
Option B: Cloudflare Pages — free, faster
Best for: anything Tier 1, with a custom domain, and the fastest global delivery (Cloudflare’s network is huge).
Prompt for Claude Code:
Help me deploy this site to Cloudflare Pages. Walk me through: (1) creating a Cloudflare account, (2) connecting my GitHub repo, (3) setting the correct build command for this project, and (4) adding my custom domain.
Option C: Netlify — free, friendliest dashboard
Best for: marketers who want forms, redirects, and A/B testing in a friendly UI.
Tier 2: Modern Web Hosting (Free, 10 Minutes)
Analogy: A food truck. Still mobile, still simple — but now it can cook on demand, not just reheat.
Option A: Vercel — the default for Next.js
Best for: Next.js, React, Astro, SvelteKit, anything JavaScript-heavy.
Prompt for Claude Code:
Deploy this project to Vercel. Install the Vercel CLI with
sfw npm i -g vercel, runvercel login, thenvercelfrom the project root. Use the defaults for everything. Once deployed, show me the live URL and explain how to add my custom domain.
Vercel’s free tier is generous: 100 GB bandwidth/month, unlimited static, serverless functions included. Plenty for a marketing site or small app.
Option B: Cloudflare Pages — same as Tier 1, but runs framework code too
Works great with Next.js, Remix, Astro, and anything that outputs static/SSR.
Option C: Netlify — Vercel alternative
Very similar to Vercel. Pick whichever dashboard you prefer — both are excellent. Most marketers pick Vercel for React/Next and Netlify for Astro/Eleventy/Jekyll.
Tier 3: Full-Stack Hosting (Free Trial, ~$5–$20/mo after)
Analogy: A small restaurant. You’ve got a kitchen (server), a pantry (database), and a phone that rings (webhooks). Real operations.
Option A: Railway — easiest
Best for: Node.js, Python, or Ruby apps that need a database. One-click Postgres, Redis, or MongoDB.
Prompt for Claude Code:
Deploy this app to Railway. Install the CLI with
sfw npm i -g @railway/cli, runrailway login, thenrailway initandrailway up. Add a Postgres database. Show me the live URL and how to inject my DATABASE_URL from Railway into my code — using Infisical if possible.
Free $5 of credits each month. After that ~$5–$20/month for a small app. Pair this with a marketing automation skill if you’re building a workflow app.
Option B: Render — Railway alternative
Very similar. Free tier for static sites and small web services.
Option C: Fly.io — power-user option
Runs your app in mini-datacenters close to your users. More technical, but shockingly fast. Free tier covers small apps.
Option D: Supabase + a frontend host
Analogy: Instead of one restaurant, you’re running the kitchen (Supabase: database + auth + storage) and a takeaway window (Vercel/Cloudflare for your frontend). They talk to each other. Many modern vibe-coded apps are shaped exactly like this.
Best for: any app with user login, a database, or file uploads. Supabase free tier is generous.
Tier 4: Always-On Background Services
Analogy: A night watchman. You don’t need a front door or a website — you just need something to keep running and doing its job.
Option A: Railway — works for background workers too
Option B: Render Background Workers
Option C: Fly.io Machines — cheap, precise
For scheduled jobs (run every hour), GitHub Actions is free and perfect. Ask Claude Code:
Convert this Python script into a GitHub Actions workflow that runs every day at 9am UTC. Use GitHub Secrets for my API keys — or better, Infisical.
Tier 5: Your Own Server (A VPS)
Analogy: You bought the whole restaurant — kitchen, dining room, landlord responsibilities. You’re in full control, but you also change the lightbulbs.
Only go here if:
- You want to run a specific piece of software (WordPress, Ghost, Plausible, n8n) that needs a full Linux box
- You need a lot of always-on horsepower cheaply
- You’re learning Linux on purpose
Going the WordPress route? Grab the WordPress Migration skill to move from local to live, and the WordPress Block Builder skill to generate valid block markup from Claude Code.
Recommended providers
- Hetzner — cheapest in Europe (~€4/month)
- DigitalOcean — friendliest UI
- Vultr — fastest provisioning
- AWS Lightsail — if you’re already in AWS land
Prompt for Claude Code:
I have a VPS at {provider} with IP {your-ip}. Walk me through: (1) hardening the server (create a non-root user, set up SSH keys, install ufw firewall, fail2ban), (2) installing Docker, (3) deploying this app with docker-compose, (4) setting up Caddy or nginx as a reverse proxy with automatic HTTPS, and (5) pointing my domain at it.
This is the steepest path. Only take it if the earlier tiers genuinely don’t fit.
Decision Tree (Pick in 60 Seconds)
- Is it just HTML / CSS / JS with no server code? → Cloudflare Pages. Done.
- Is it a Next.js, React, Astro, or similar framework app? → Vercel or Cloudflare Pages.
- Does it need a database or user login? → Supabase + Vercel, or Railway.
- Is it a Python/Node script that runs on a schedule? → GitHub Actions.
- Is it a bot or always-on worker? → Railway or Fly.io.
- Is it WordPress / Ghost / n8n / Plausible? → Hetzner or DigitalOcean VPS.
- None of the above? → Ask Claude Code: “Given my app’s architecture, which of the 5 tiers in the marketingskills.directory deployment guide fits best and why?”
Before You Ship: The 5-Minute Pre-Launch Checklist
Run this prompt:
Prompt: Before I deploy, check this project and tell me: (1) are there any hardcoded API keys, passwords, or tokens in the code? (2) is my
.gitignoreexcluding.env*,node_modules, and build artifacts? (3) are there anyconsole.logstatements with sensitive data? (4) does my README tell a future me how to run this again? Fix anything you find.
Then:
- [ ] Your repo has a clear README
- [ ]
.envis in.gitignore(never commit secrets — use Infisical) - [ ] You have a custom domain pointing at your host (or a memorable subdomain)
- [ ] You ran the site once from a fresh browser to confirm it actually works for strangers
- [ ] You’ve set up basic analytics (Plausible, Umami, or GA4) and wired up Google Search Console so you can see what’s indexed. Run the Marketing Analytics Review skill monthly.
- [ ] You know how to roll back if something breaks (every host above has a “redeploy previous version” button)
Bonus: The “I Just Want a URL Right Now” Move
Sometimes you just need to show someone what you made — not deploy forever.
For a static site, drag-and-drop the folder onto netlify.com/drop. You get a live URL in 10 seconds.
For anything running on your laptop, run:
npx ngrok http 3000
You get a temporary public URL that points at your laptop. Perfect for showing a client in a meeting. When you close your terminal, it’s gone.
What’s Next
You now have a shipped app. Two things to do next:
- Add analytics so you know if anyone is using it. Plausible, Umami, or GA4 each take 5 minutes to install.
- Write about what you built. The best marketing for a vibe-coded app is the story of building it.
Further reading:
- How to Secure Your Claude Code Environment
- Vibe Code a WordPress Site with Claude Code
- What is Vibe Coding?
- Claude Code official docs
- Watch: AEO vs GEO vs AIO — The New Language of Discovery — once you’ve shipped, you need people to find you.
- Browse all Claude Code CLIs and skills to power up your next build.
Shipping is the feature. The world is full of half-built apps in laptop folders. Yours isn’t going to be one of them.