Case study

A precoat and finishing shop moves off paper

Last updated

Before and after: paper tracking to one shared view Before: paper and spreadsheets, and walking the floor to ask what stage a job is in. After: Airtable, a Cloudflare Worker, and a tablet PWA feed one shared view of every job. Before Paper & spreadsheets Walk the floor and ask After Airtable Cloudflare Worker Tablet PWA One shared view of every job
Boxes-and-lines, not a screenshot — the tablets carry the client's real brand and job data.

A precoat and finishing shop, about 15 people, runs jobs through several stages a day — Setup, In Progress, Clean Up — on a shop floor where the wifi is unreliable. This is the story of moving that shop off paper and spreadsheets and onto tablets that keep working when the connection doesn’t.

Before

Job and time tracking ran on paper and spreadsheets. There was no shared, real-time view of what stage a job was in or who was working it — someone had to walk the floor and ask, or wait for a sheet to get transcribed later. An earlier attempt to fix this with a native tablet app had been tried and retired: it wasn’t fit for how the floor actually worked.

What I built

Three pieces, each doing one job:

  • Airtable as the system of record — the jobs, stages, and bunks (groups of finished pieces) live here, with a real audit trail.
  • A Cloudflare Worker as the backend — it holds the Airtable API key so it never touches a tablet, handles rate limiting and timeouts, and does offline-safe upserts so a retry never creates a duplicate record.
  • A PWA as the shop-floor interface — installed to the tablet’s homescreen like a native app, it works fully offline and syncs automatically once the connection comes back.

Jobs, timers, and stages — Setup, In Progress, Clean Up, Lunch — are tracked per job, per tablet. A submitted bunk is editable, never deletable, so a correction shows up in the record instead of erasing what happened. Photos attach to a bunk directly from the tablet.

What changed

The floor now has one shared view of what stage every job is in, instead of a walk-and-ask. A bad wifi day no longer costs data: everything queues on the device and syncs when the connection returns, which was the actual failure mode of the paper process it replaced — information that existed somewhere, but not where or when anyone needed it.

That same structured data opened up a downstream option the shop hasn’t taken yet. It’s been paying roughly $5 per label for finished-bunk labels, printed out of house, at about 5 labels a day — close to $6,250 a year. With good structured data now flowing out of the system, printing labels in house is a realistic next project, at roughly $0.42 per label all-in — but it’s parked for now, not built. The app itself doesn’t have a headline dollar figure attached to it; the label printer is a recommendation the structured data made possible, not a result yet.

What it cost

I built this with the shop over several rounds of real feedback — testing on the actual tablets on the actual floor, fixing what broke, and going back. That iteration is what it took to get something that survives a shop floor rather than just a demo.

Client named on request.

Book a 20-Minute Call