Dinner Service · Lesson 08 of 10

The Regulars

Lesson 8 of Dinner Service: apps don't get good alone — they get good by listening. Ask your real guests one question, ship the thing they asked for, and close the loop that turns a visitor into a regular.

Here's a thing you know from the other side of the counter: what turns a visitor into a regular is never just the food. It's the day the place remembered you — your usual, your name, the thing you mentioned once. Software works exactly the same way. Nobody becomes a regular of an app that never changes in response to them.

You already have what most builders wait months for: real users. Two, maybe three, from Lesson 5. Small number, wrong thing to count — what matters is that they're real, they're yours, and today you're going to do the thing that most software teams talk about endlessly and do rarely: ask them what they want, ship it, and tell them.

What you'll plate today

One change to your card box that a real human asked for — live, and that human knows it exists because you told them.

Ingredients

  • Your card box guests from Lesson 5 (the people, not just their cards)
  • About 30 minutes, plus however long humans take to reply
  • Humility and a veto, in equal measure

Cook

1. Ask the one question

Send your guests — the ones who left cards — this, in your own words:

You used my little card box the other day. One question: what's the one thing that would make you come back and use it again?

Notice what the question isn't. Not "did you like it?" (they'll be polite, you'll learn nothing). Not "any feedback?" (too big, they'll shrug). One thing, framed around coming back. Specific in, specific out — the rule works on humans too.

While replies trickle in, prep the kitchen:

Guest feedback is about to arrive for the card box. When I bring
it, help me judge each request three ways: what would it take,
what's the smallest version that would delight them, and does it
fit this app or is it secretly a different app? Add a FEEDBACK
section at the bottom of PLAN.md to track: asked / by whom /
decided / shipped.

2. Judge like a chef

The replies will land in three buckets, and each has a correct move:

  • The gem — small, fits the app, obviously right ("can I see how many cards there are?", "could it remember my name?"). → Ship it today.
  • The different app — reasonable, huge ("you should add photo uploads and accounts!"). → Into PLAN.md's FEEDBACK list with a note. Telling a guest "that's a whole different dish — noted, honestly" is a real answer; pretending you'll do it is not.
  • The wrong note — something that would make the app worse for everyone else. → Veto, kindly. Your regulars shape the menu; they don't run the kitchen. (You practiced the veto on your own agent last lesson.)

Pick your gem:

Shipping this guest request: [their ask, in their words —
"my mum wants the newest card to say 'new' on it for a day"].
Smallest delightful version. Test locally, ship, verify with
your browser like the CLAUDE.md rule says. Then mark it shipped
in PLAN.md's FEEDBACK section.

3. Close the loop — the step everyone skips

This is the whole lesson, so don't skip it. Reply to that guest:

Done — your idea is live. Look again.

Feel the asymmetry: it took one message, and it's the difference between "someone collected my feedback" and "the builder listened to me." The first is a survey. The second creates a regular. (You've been on the receiving end of this loop, by the way — every question sent from the box below these lessons that ends up patching a lesson is the same move. It's how this kitchen runs, and now it's how yours runs.)

4. Leave the light on

One more small ship, for future guests:

Add a quiet one-line note somewhere natural on the page:
"Latest improvement: [the thing], asked for by a guest —
[date]". Style it soft. Ship and verify.

A visible sign that the kitchen listens does two jobs: it flatters the guest who asked, and it teaches the next visitor that asking works. That's how one regular becomes two — and two regulars is all the definition of "community" you need this month.

When it burns

  • Nobody replies — normal, human, fine. Ask one person directly by name instead of broadcasting. One reply is fully enough for this lesson; the loop matters, not the volume.
  • The reply is "it's great!" — kind, useless. Follow up once: "thank you! and if you HAD to change one thing?" The forced choice unlocks the real answer surprisingly often.
  • The gem turns out to be a boulder — you judged it small, the agent starts building a cathedral. Stop, restore the save point, and use the professional's sentence from First Kitchen's graduation: "cut it down — what's the smallest version that still delights?"
  • Two guests want opposite things — congratulations, you've hit the oldest problem in software. You're the chef: pick the one that fits your card box, log the other with love in FEEDBACK. Menus that try to please everyone please no one — you learned that reading this very blog.
  • You're tempted to add three more things while you're in there — the enthusiasm failure, now in you. Notice it, smile, ship the one thing. Scope creep doesn't stop being scope creep when it's yours.

Order up

□ You asked real guests the one-question question
□ Every reply is logged in PLAN.md: shipped, parked, or vetoed
□ One guest request is live — smallest delightful version
□ That guest heard "it's live" from you directly
□ The page quietly shows the kitchen listens

Next up — Lesson 09: Kitchen Crew. You've now typed the same closing routine — test, ship, verify, save — enough times to be sick of it. Time to teach your agent whole procedures it can run from one short order: skills.

Stuck on a step? Question box below.

Stuck at a step?

Ask right here — no account needed. If a step lost you, that's a hole in the lesson, not in you: answers get folded back into the text so the next cook sails through.

Hungry for more?

New recipes land in your inbox as they leave the kitchen. No spam, unsubscribe anytime.