AI Guides › Playbooks

The One-Ticket Ledger for a Small Laundry Shop

By Nigel Guy · 6 min read

Most small service shops run on memory, a notebook and a pile of paper tickets. It feels fine until a customer rings asking where their duvet is, and the answer depends on whoever happens to be standing nearest the rail. The usual fix is to buy booking software built for a bigger business, then use about a tenth of it.

The rule: one ticket is one row, every row has one status, and you build the smallest tracker that answers "where is it and what is owed?" before you add anything else.

A note on the story behind this topic: a tale of a laundry shop replacing hand-tracked orders over a weekend with a Claude subscription is going around. We could not verify the shop or its results, so nothing below depends on it. What follows is the durable part: how to build and check a small order tracker with Claude.

What the build actually requires

The mechanism: the Laundry Ledger

The Ledger is a table with one row per ticket and a fixed set of columns. Keep it to these:

Column What goes in it Why it exists
Ticket no. The number on the paper tag Matches the item to the row
Customer Name and phone, nothing else Lets you ring when it's ready
Items "2 shirts, 1 duvet" Settles disputes
Service Wash and fold, dry clean, press Drives price
Price Agreed price in £ What is owed
Paid Yes, no, or part (with amount) Stops free laundry
Due Promised date Drives the day's work
Status One of five words, below The whole point

The five statuses, in order: Received, In process, Ready, Collected, Problem. No other words. "Almost done" is not a status; it is a way of losing track.

Step 1 — Write down one real order, before and after

Take a genuine order from this week and write it two ways. Before: whatever you actually do today (notebook line, tag, a text message). After: one Ledger row. If the row can't capture something you genuinely need, add a column. If a column is empty on most rows, delete it.

Step 2 — Have Claude build the first version

Use this prompt in a new chat. It forces Claude to ask before it assumes.

You are a careful builder of simple business tools for UK small shops. I run [SHOP_TYPE] and currently track orders by [CURRENT_METHOD].

Goal: a single-screen order tracker I can use on [DEVICE] at the counter, one row per ticket, with these columns: [COLUMN_LIST]. Statuses are exactly: Received, In process, Ready, Collected, Problem.

It must let me: add a ticket in under [SECONDS] seconds, change a status with one tap, filter by status and by due date, and show a total of unpaid money. Prices are in pounds sterling.

Constraints: no logins, no extra features I haven't listed, plain wording, large tap targets. Data must be saved so it is still there tomorrow; if that is not possible in this setup, tell me before you build anything.

Before building, ask me for anything missing instead of guessing. After building, check your own work against my list of requirements and tell me which, if any, are not met.

Fill in: shop type, current method, device, columns, and how quick adding a ticket must be.

Step 3 — Run the Test Day

Put five real tickets in. Close the tab, reopen it, and confirm all five are still there. Then change a status on a phone and on the counter device, if you use both, and check they agree. If anything vanished, the build is not ready, whatever it looks like.

Step 4 — Change one thing at a time

Ask for one improvement per message, such as a "ready" text template or a daily list of items due. This prompt keeps changes safe:

Here is my current tracker: [PASTE_OR_DESCRIBE_CURRENT_VERSION]. Make exactly one change: [ONE_CHANGE].

Do not alter existing columns, statuses or saved data. Tell me, in two lines, what you changed and how I can confirm nothing else did. If the change could affect saved orders, say so and suggest a backup step first.

Step 5 — Back it up weekly

Because stored data is text-only and tied to the artifact, export the Ledger to a spreadsheet every Friday. Ask Claude: "Add an Export button that downloads all rows as a CSV." Then check the file opens and the row count matches.

A worked example (hypothetical)

Imagine a one-counter shop, "Brightwash", taking about thirty tickets a day. Today: paper tags, a notebook, and the owner's memory. After a first build and a Test Day, tag 118 reads: A. Patel, 2 shirts and 1 duvet, press plus wash, £14.50, Paid: no, Due: Thursday, Status: In process. At closing, the owner filters Status = Ready and Paid = no and sees three customers to chase and £31 outstanding. That one filtered view, not the app's looks, is what replaces the notebook.

How do you know it's working?

Where does this go wrong?

What it won't do

It will not take card payments, send texts by itself, or integrate with your till. It is not a booking engine, and it should not be treated as your accounting record. Keep your normal books.

What to skip

Guardrails

Sources

All 751 AI guides · JulieMango plans from £17/mo