FreshTrack
LiveA mobile-first PWA for restaurant inventory — batch-level FEFO tracking, barcode scanning, expiry alerts, waste analytics, and rule-based reorder forecasting.
1 The Problem
Restaurants track inventory by item — "we have 40kg of tomatoes" — which hides the thing that actually matters: which tomatoes expire first. Without batch-level visibility, kitchens either over-order out of caution or under-order and run out, and waste gets discovered only after it happens, as a bad smell in the walk-in.
The goal: a system that tracks stock at the batch level, always tells staff what to use first, and turns waste from a surprise into a forecastable, trackable cost.
2 The Approach — FEFO batch tracking
Every delivery creates its own batch — a specific quantity with its own expiry date, supplier, and cost. Nothing is deleted; batches move through a lifecycle (active → depleted / expired / wasted) so the full history stays auditable. When stock is consumed, the system always deducts from the batch with the earliest expiry date first — First-Expired-First-Out — which is what turns "we have 40kg of tomatoes" into "3kg of tomatoes expire Thursday, use those."
Every item also carries a four-tier expiry status so staff can triage at a glance:
3 Architecture
Every stock movement — received, used, wasted, adjusted — is written to a transaction log tied to its batch, which is what makes both the audit trail and the forecasting possible. Reorder points are computed with a transparent formula rather than a black-box model:
Waste is tracked the same way: every wasted batch is logged with a reason (expired, spoiled, damaged, overproduction) and a value-lost figure, so the waste-rate metric is wasted_value ÷ total_received_value — a real number, not a guess.
4 Tech Stack
5 Result
A complete multi-tenant operations app: dashboard, inventory with item detail, barcode scan, waste log, reports, expiry alerts, CSV bulk import, an activity feed, and team management — installable to a phone's home screen as a full-screen PWA.