From a Whatsapp Chain Message to One Link
A small sourdough business took orders through WhatsApp chain messages, and something always slipped. This is how the order flow was redesigned to be faster for buyers and lighter for the seller.

How orders used to work
A small sourdough and salt bread business sells to people in one office. Every week or two a pre-order opens, 20 to 30 people order about two loaves each, and the bread is ready two days after the order closes.
All of it ran through a WhatsApp chain message. The seller posts the menu, the next person copies the whole list and adds their name at the bottom, and it keeps going until the deadline. Then the seller rewrites that chain into a recap for the baker, by hand, with long bread names.
It works, but something always slips:
Someone's order gets lost when two people copy the chain at the same time.
Nobody is quite sure who has paid.
Nobody is quite sure who has picked up.
The bread arrives one short, or two extra, and the payment to the baker stops matching what was actually sold.
None of these is a big problem on its own. Together they turn every pre-order into an evening of scrolling back through a chat.
The direction: faster for both sides
There are two people in every order, and the old flow made both of them do extra work. The buyer had to copy a long message without breaking it. The seller had to read that message back and turn it into four different lists.
So the goal was simple to say: make ordering take a few taps for the buyer, and make selling take a few taps for the seller. Nothing new should be asked of anyone that they weren't already doing.
For the buyer: one link
The chain message is replaced by one link, shared in the same WhatsApp group. It opens a menu that feels like a food delivery app, because that is the pattern everyone already knows: a photo on the left, a bold price, a round + button.

A few choices keep it quick:
Only a name is required. The WhatsApp number is optional. Asking for it upfront makes people not bother ordering, and the seller can fill it in later.
Ordering twice doesn't create a second order. It merges into the first one, so the seller always sees one person as one row.
The buyer can change or cancel their order until the pre-order closes. After that, the order is locked for them, and a button to chat with the seller appears instead.
The phone remembers the buyer, so next time their name is already filled in. The list of past buyers is never shown on the public page, since anyone with the link could read it.
For the seller: everything in one place
On the seller's side there is a dashboard. It answers the questions the chain message never could, at a glance: how many people ordered, how much bread, who hasn't paid, who hasn't picked up, and whose number is still missing.

The recap for the baker is already written, grouped per bread, and one button opens WhatsApp with it filled in. Payment and pickup reminders work the same way, one per person, with the total and payment details included. When a number is missing, the button is dimmed and says why, instead of disappearing.
Pickup day
Pickup day happens standing up, with bread in one hand and a phone in the other. That screen has one job: big names, one clear action per person, and people who are done sink to the bottom.

This is also where the bread count usually goes wrong, so the app asks exactly one question when someone doesn't get their loaf: didn't arrive from the baker, or given to someone else. The first means the seller owes the baker less. The second means the loaf still has to be accounted for. Extra loaves that sell on the spot are added as a walk-in order, so the money and the payment status are tracked too.
Where the money leaked
The fourth problem was the one that actually cost money. The old recap treated three numbers as one: the bread that was ordered, the bread the baker delivered, and the bread that was sold.
The app keeps them apart. What the seller owes the baker follows the bread that arrived. Revenue follows the bread that was sold. Anything left over shows up in the report, in pieces and in money, which is also something concrete to bring up with the baker next time.

A few smaller rules protect those numbers. Prices are copied into each order when it's placed, so raising a price later never changes an old order or an old report. And "closed" only locks the buyer's side: the seller can still edit any order at any time, because the real numbers keep changing until the last loaf is handed over.
Where it is now
The app has run a real pre-order. The one hard requirement from the owner was that it must cost nothing to run, forever, so everything sits on free tiers and WhatsApp messages go out through plain links rather than a paid API. I built it with Claude Code, working from a written plan and a roadmap in my notes.
What stayed with me: the order form was never the hard part. The hard part was noticing that three numbers everyone treated as one were actually three numbers, and designing the flow so nobody has to think about that on pickup day.
Relevant reviews
- Tang Tung: Designing a Cozy Math Game for My Little BrotherDesign notes behind a pixel art learning game for primary school kids, from the learning logic and product decisions to the art direction.EN · IDFilm SessionSeptember 29, 2026
- Post-Game Review: What Happens After the Final BuzzerThe playbook shows the plays. This is the room next to it, where each one gets rewatched, written up and argued about, and the locker room where that writing happens.EN · IDFilm SessionSeptember 25, 2026
- The Playbook: A Portfolio You Turn, Not ScrollWhy my portfolio is a playbook you open from a link, and the physics, pauses and small decisions that make it feel like a real book on any screen.EN · IDFilm SessionSeptember 18, 2026


