A sale happens at the till, but the garment the customer bought is not on the shop floor. Someone has to walk to the stockroom and fetch it — and until recently that someone worked from a paper note or a message in a group chat. This is the small app that replaced it, and why it stayed small.

The case
Retail has a thousand of these edges. The till works. The ERP works. The gap sits between them and the person on their way to the stockroom: a short list of garments — model, colour, size — that has to exist somewhere everyone can see it, in the order it was created, with a clear answer to “has this one been picked yet?”
This is not a POS project. Nothing about the till changed. It is an agent-shaped case: a photo becomes structured data, the data becomes a shared list, and the list decides nothing on its own — people do.
What it does
- Photograph the till — after a sale, the staff photograph the receipt screen on the iPad. That is the entire input, and there is no form to fill in.
- A vision model reads it — a worker picks the image up within a minute, extracts garment, colour and size, and proposes them as list items. Reading the photo is the only place a model is involved; everything downstream is plain data.
- Staff confirm — proposed garments wait for a human to tick them before they land on the list, and rejected suggestions are thrown away. No silent auto-pick.
- Two audiences, one list — the shop floor sees what to fetch; the stockroom ticks items off and every device is a few seconds behind. Items picked on one iPad hide themselves on that device only.
- Thumbnails from the source — each garment gets its product photo by exact name and colour match, with a placeholder when the piece is no longer in the assortment.
Why it stayed small
One Node file, no dependencies, one JSON state file, images on disk. No database, no accounts, no build step: the store opens a private link on the iPads, types a name and is working. The only recurring cost is a vision call per receipt, made only when there is a new photo — idle minutes cost nothing.
The parts that age badly in systems like this are the ones that pretend to be clever. So the model is kept at the edge: it turns pixels into text and is then done. Curated state, human confirmation and a boring server are what make a tool like this survive a Tuesday in a store.
What it costs to run
Under 50 SEK a month — a few euros. One small service on a machine that was already running, and a cleanup rule — items checked more than two weeks ago remove themselves. That is the whole operational story. No one has to remember it exists, which is the highest compliment a tool like this can get.
If your operation has an edge like this — a till, a warehouse, an ERP and a hand-written step in between — that is exactly the kind of thing I build. The services page says what I do; mail [email protected] with the edge case you keep papering over.