Recipe 018
localhost Has No Door: Give Your First Creation a Real URL
The wow moment doesn't arrive when your little app works — it arrives when it loads on a phone that isn't yours. Here's the free, ten-minute path from 'it runs on my computer' to a real URL anyone can open, with a live example we deployed while writing this.
Here's the moment this recipe is about. Our first build was a tiny web game — nothing serious, one file, made with prompts. It worked on the laptop, and that felt good. Then we deployed it for free, opened the URL on a phone, then on a different computer, and… that was a different feeling entirely. Not "my code runs." Something closer to: this exists now. In the world. Anyone I hand this link to can touch it.
If you've followed the setup recipes and made something — the fortune cookie, a timer, a tiny game — you have a dish that only exists in a kitchen with no door. localhost means exactly that: this machine only. You can taste your own cooking, but nobody can be served. The gap between "it runs locally" and "it has a URL" feels technical, but it's really the gap between practicing and being someone who ships. Crossing it takes about ten minutes and zero dollars.
What "deploying" actually is
Strip the jargon: deploying is copying your files to a computer that never sleeps, which has a public address. That's the whole concept. For the single-file creations you've been making (one HTML file — what the pros call a static site), there are services that do this for free, in seconds.
Proof, because we always taste before serving: while writing this post, we deployed the fortune cookie — one prompt to build it, one command to ship it. It's live here:
Open that on your phone right now. That page is one HTML file sitting on Cloudflare's computers. Yours will be too, in a few minutes.
The move: Cloudflare Pages, driven by your agent
There are several good free options (more below), but this is the one our kitchen actually runs on — this blog and our other sites live on Cloudflare. The free plan needs an email, no credit card, and its limits live far above hobby scale: up to 100 projects, 20,000 files per site, details here.
The beginner-facing flow, agent included:
- Create a free Cloudflare account at dash.cloudflare.com — two minutes, email only.
- Tell your agent to ship it (full prompt below). Under the hood it runs one command —
npx wrangler pages deploy— and the first time, a browser window pops up asking you to log in to Cloudflare. Click approve. That's the scariest step, and it's a login button. - Get your URL. Your project name becomes the address:
your-name.pages.dev. First come, first served — pick something you'll be happy to say out loud.
Every deploy after the first is one sentence: "ship the new version." Same URL, updated dish.
The ritual that makes it real
Don't skip this part — it's the actual recipe:
- Open your URL on your phone. Not the laptop. The phone makes it real, because that's the device that has nothing to do with your dev setup.
- Send the link to one person. A friend, a partner, a group chat. Watch the "wait, you made this?" arrive.
That message you get back is worth more than the deploy itself. You didn't just build a thing — you can now point at it. (And if you're feeling it, show us too: @AgentKitchenHQ. We genuinely want to see the dish.)
The honest notes
- This recipe is for static creations — single HTML files, little games, pages. If your project has secrets in it (API keys, passwords, a
.envfile), that's a different dish: those files must never be deployed or committed. Rule of thumb: if it only needs a browser to run, it's ready to ship this way. - The free URL is a subdomain (
something.pages.dev). Totally fine to share. A custom domain (yourname.com) can come later for ~$10/year — separate recipe. - Public means public. Once it's up, anyone with the link can see it — and search engines may eventually find it. Ship things you're okay having your name near.
- Alternatives exist and they're fine: GitHub Pages (natural if you enjoyed the Git recipe), Netlify (famous drag-and-drop). We recommend what we run daily, not what's uniquely correct.
Order up
Paste this into your agent, in the folder of something you've built:
I want to put what we built on the real internet, for free.
1. Look at this project and confirm it's a static site (just files a
browser can open). If there's anything that must NOT be public —
.env files, API keys, personal data — stop and tell me first.
2. I have a free Cloudflare account (dash.cloudflare.com). Deploy this
with Cloudflare Pages under the project name [PICK-A-NAME] — walk me
through the one-time login when it appears.
3. When it's live, give me the URL and verify it actually loads.
4. Then tell me, in two lines, what to run next time I want to ship
an updated version.
Ten minutes from now you'll be looking at your own creation on your own phone, at an address that didn't exist this morning. That's the day the word "builder" stops feeling like it belongs to other people.
What's the first URL you shipped? Tell us at @AgentKitchenHQ — crack our cookie while you're there.