One scan updates every client that has the app open.
The problem
Stock lived across five separate storage units with no system of record. Answering what was in which unit, or where a box had ended up mid-move, meant walking the floor and asking whoever was around.
What I built
Every box gets a QR label, and a scan is the only interaction the job requires. Scanning in the van marks the box In Transit. Scanning on arrival records the warehouse and the room it landed in.
Postgres is the system of record. Realtime subscriptions push each state change out to every connected user at once, which is why nobody has to refresh to get a current count.
Removing a box deducts its line items automatically. Stock levels follow what is physically on the shelf rather than what someone last typed into a spreadsheet.
The API is a separate Cloudflare Worker, with a companion bot Worker alongside it. Integration surface stays out of the client app.
Dashboards and exports over the item history: sortable tables, charts, and generated PDFs.