Logistics / operations
Be Healthy — QR-based bag tracking, from kitchen to doorstep
Be Healthy is a meal-prep and delivery service moving hundreds of insulated bags a day between a central kitchen, a fleet of drivers, and customers across the city. When they came to us the bags themselves were being hand-counted on paper, and a bag that went missing was almost impossible to trace to the person who had it last.

The challenge
A physical hand-off with no digital trail
Every bag was passing through at least three hands — a store employee, a driver, and a customer — and each hand-off was recorded on paper (or not at all). Operations could not answer basic questions: which bags were still with which driver at 9pm, which customer had already received theirs, which bag had gone missing between the store and the vehicle.
The result was daily reconciliation work, angry customers when a bag was misdelivered, and a management team that could only see yesterday's picture — never today's.
What we built
One QR code, three surfaces, one timeline
We built a small system with three connected surfaces around a single event stream. Each bag gets a QR code at the store; every subsequent hand-off is a scan. Behind that, one server writes an append-only timeline of who held the bag and when.
Web admin dashboard
Live view of bags in transit, filter by driver, route or customer, and an audit trail for every scan.
Driver Android app
Optimised for one-hand use in the vehicle: check-in a bag, mark delivered, capture a proof photo.
Store Android app
Bulk-generate QR codes, print stickers, and hand bags out by scanning the driver and the bag together.
Notifications on the exceptions
The system stays quiet on the happy path and speaks up when a bag is missing, late, or delivered to the wrong door.
Exportable reports
Daily, weekly, monthly — as CSV or PDF — for finance, operations and the founder's Monday review.
Offline-tolerant scans
A dropped connection queues the scan locally and syncs the moment the phone is back on data.
Under the hood
Chosen for ops teams who cannot be paged at midnight
- Laravel
- MySQL
- Android (Kotlin)
- Firebase Cloud Messaging
- REST APIs
- Docker
The stack is deliberately boring: standard Laravel behind a documented REST API, native Android on the phone so the camera and scanner work without a third-party framework, and Firebase for push. Nothing here needs a specialist to keep it running.
Outcome
A hand-off that no longer disappears
Every bag now carries a status, a timestamp and a name attached to the last scan. Reconciliation that used to fill an hour every morning is now a filter on the dashboard. When a customer calls about a missing order, the answer is on screen in seconds — not after a round of phone calls.
100%
of hand-offs now traceable to a person and a minute
~55 min
of daily reconciliation work removed from operations
3 apps
one dashboard, one driver app, one store app — one shared timeline
Have a similar hand-off problem?
One call, ninety minutes, no charge. You leave with an opinion whether or not you leave with us.