Dinner Service · Lesson 05 of 10
Open for Guests
Lesson 5 of Dinner Service — the wow one. Your comment card box goes live at a real URL with a real online pantry, and then it happens: a card appears on your wall that you didn't type. Someone used a thing you built.
In First Kitchen Lesson 6 you felt it once: your page, loading on your phone, from an address that had nothing to do with your laptop. That was being seen. Today is a category above it: being used. A page live on the internet is a poster. An app live on the internet is a door — and today a real person walks through yours and leaves something behind.
What you'll plate today
Your comment card box at a real URL, with a real online pantry — and, before you sleep tonight, a card on your wall in someone else's words.
Ingredients
- Your
dinner-servicefolder — card box working locally, pantry and all - Your Cloudflare login from First Kitchen
- One person who'd smile at a link from you
- About 30 minutes
Cook
1. Pre-flight, upgraded
You know the pre-flight from last time — read the page as a stranger. A card box adds one new question, so order both:
Pre-flight before going public:
1. Read every page of this app as a stranger — anything on it I
might not want public? List, change nothing.
2. Different question: the card form itself will be public, which
means ANYONE can write on my wall. What's the worst a rude
stranger could do with it, honestly? Don't fix anything yet —
I want the honest picture first.
Read the second answer carefully — it will say things like someone could post junk, or a wall of nonsense. True, and worth knowing before it's live instead of after. The keys to handling it are exactly next lesson's dish. Tonight, your guests are people you invite personally, so we ship with eyes open.
2. Two pantries, one truth
One concept before the big button, because it surprises everyone once: your local pantry does not travel. The cards on your machine live on your machine; the live app gets its own, empty, online pantry. Local is the test kitchen; online is the restaurant. Ingredients don't teleport between them.
Take my comment card box live:
1. Set up the ONLINE version of the pantry — same shelves as my
local one — on my Cloudflare account. My local cards stay
local; the public wall starts fresh.
2. Deploy the app under the name [PICK-A-NAME] and give me a
backup name in case it's taken.
3. Tell me the live URL, then verify it yourself: page loads,
a test card goes in, appears on the wall. Then delete your
test card so my wall opens clean.
4. Make a save point: "open for guests".
There may be a one-time question about naming your corner of the internet (see below if so). Then watch the terminal do its quiet minute of work. The URL will end in workers.dev this time, not pages.dev — a second address on the same free street, this one with a kitchen behind it, not just a poster.
3. The ritual, upgraded
First Kitchen's ritual was open it on your phone, send it to one person. The Dinner Service ritual gives that person a job:
- Open the live URL on your phone. Submit one card yourself from there — proof the whole loop works away from your desk.
- Send the link to your person, with one sentence: "Made this — leave me a card."
- Keep the wall open on your machine. Refresh when they reply that they're done.
And there it is. A card you didn't write, in handwriting that isn't yours (you know what we mean), sitting in a thing you built, having traveled through their phone, the actual internet, your worker, and your pantry to get there.
First Kitchen made you someone who ships. This card makes you someone who hosts. Screenshot it. That screenshot is this lesson's graduation certificate.
4. Learn the update rhythm
Change the thank-you page to also say how many cards are in the
box now ("Yours is card #7"). Test locally first, then ship the
new version, then verify it live yourself.
Local first, then ship, then verify — the professional rhythm, one sentence long. This is how every change goes out from now on.
When it burns
- It asks you to pick a
workers.devname — one-time naming of your corner of Cloudflare's free street; every app you ever deploy there shares it. Pick calmly, like the project names — you'll say it out loud someday. - Live page loads but submitting a card fails — nine times out of ten, the online pantry didn't get its shelves. "The live app can't save cards — check the online database has the same shelves as local, and fix the gap."
- Your local cards aren't on the live wall — correct and by design; re-read step 2. The restaurant opened with a fresh pantry. If you want your local test cards live, ask the agent to copy them over — it's one order.
- The wall shows cards but your friend says theirs "didn't work" — ask them what they saw, then relay it verbatim to the agent. Debugging through a witness is a real skill; you're doing distributed systems support now, which is a very funny sentence for lesson five.
- Junk card from a stranger already? — unlikely tonight, weirdly flattering, and handled properly next lesson. For now: "delete card #N from the online pantry."
Order up
□ The card box is live — online pantry stocked with real cards
□ You submitted from your phone; the loop works away from home
□ At least one card on the wall was written by someone else
□ You shipped one update with the local → ship → verify rhythm
□ Save point "open for guests" — mirrored to the cloud
Next up — Lesson 06: The Pass. Your box is public, but reading the cards, deleting junk, keeping some notes just for you — that needs a door with a code. Next lesson builds the private side every real app has.
Stuck on a step? Question box below — deployment plus databases is the most moving parts so far, and your question patches the lesson for the next cook.