Why Pantry reads receipts, not barcodes
Nearly every food-tracking app starts from the barcode, and the reasons are respectable: barcodes are standardised, machine-friendly, and they identify a product precisely. Pantry went the other way, and the decision is worth explaining, because it is the difference that shapes everything else about how the app works.
What a barcode does not know
A barcode answers one question: what is this product. It answers nothing else that expiry tracking needs. It does not know when you bought the item — and the purchase date is the moment every shelf-life clock starts. It does not know how many you bought. And it requires the packaging in your hand, one item at a time, which sets the real cost of a barcode-first system: a full shop means standing at the bench scanning items individually while the frozen things soften, every single week. The apps built this way all inherit that ritual, and the ritual is where tracking habits go to die — the system only works while the most diligent person in the house keeps performing it.
Then there is the food with no barcode at all. Loose tomatoes, the bakery sourdough, anything from the deli counter or the greengrocer — invisible to a scanner, and disproportionately the short-window food that drives the waste bill in the first place. A barcode system is blind exactly where visibility pays most.
What a receipt knows
A receipt is not a product identifier. It is a record of a transaction — and a transaction is the thing worth capturing. One document carries the whole basket including the loose produce, the quantities, and the purchase date, stamped by the shop itself. Photograph it once and the entire shop is in, dated from day zero, with nothing typed and nothing scanned line by line. The weekly cost of keeping the system alive drops from a bench ritual to one photo before the docket hits the bin.
Receipts are harder to read than barcodes — far harder, which is its own story — and that is the trade Pantry chose: move the difficulty into the software, where it is paid once, instead of leaving it in the kitchen, where it is paid by every household every week.
The date is the whole point
The deepest reason is the simplest. Expiry tracking is not really about knowing what food is — it is about knowing how old it is. A barcode scan of a milk bottle on Thursday cannot say whether the bottle arrived Monday or an hour ago, and five-to-seven-day windows turn on exactly that difference. The receipt settles it with a printed timestamp. Purchase date in, CSIRO-grounded window applied per item, countdown out — no memory required from anyone.
For the grocery money this is all in service of, that is the design in one line: the receipt is the only thing in your kitchen that already knows everything the tracking needs, so Pantry is built to start there.