Why Pantry Apps Should Track Stock Levels, Not Quantities
· 4 min read
Most kitchen inventory apps ask you for a number. How much rice? 800 grams. How much cumin? And there, about forty items in, you stop — because you are not going to weigh a half-used bag of besan, and you were never going to.
We built one of those. Then we filled it with a real kitchen — 350 items across 25 cupboards, shelves and drawers — and watched it fall apart.
The number is almost always missing
Once you photograph a shelf rather than typing it, the quantity field comes back empty nearly every time. A photo tells you a jar of turmeric is there. It does not tell you whether the jar is full, and no useful system should require you to open it.
So most items sat at zero. Not "we have none" — nobody had ever recorded one.
Zero and unknown are not the same thing
This is where it broke. The app worked out stock status from quantity: nothing recorded meant nothing left. So a full pantry reported itself as empty.
The shopping list filled with 181 items that were all sitting on the shelf. The AI chef, asked what to make for dinner, replied that we were out of dal, rice and flour — while looking at four kinds of dal.
Every one of those was technically correct. Quantity was zero. The logic was sound and the conclusion was nonsense, because the data meant "unknown" and the code read it as "none".
What stock level actually is
The fix was to stop calculating and start asking.
Stock level is not a measurement. It is a judgement a person makes while standing in front of a cupboard: plenty, getting low, gone. That is the answer, and it takes one tap.
Three states, stored directly:
- In stock — it is there, get on with it
- Low — buy more this week
- Out — you need it now
What matters is that this is stored, not derived. The app no longer has an opinion about what a missing number implies, because nothing is inferred from a missing number any more.
Quantity still exists, it just does not decide anything
We kept the field. If you want to record that you have 2 kg of basmati, you can, and it will show. But nothing depends on it. Status comes from status.
That sounds obvious written down. It took rewriting eight separate places that each independently computed "is this in stock?" from a number — the inventory list, the shopping list, two different AI prompts, the dashboard counter, and three database functions serving the phone-scannable version. Every one had the same bug, and each was invisible, because reading a field that was never fetched gives you undefined rather than an error.
What to take from it
If you are building or choosing a kitchen inventory system, the question worth asking is not how detailed it is. It is what happens when a field is empty.
An app that treats "I did not tell you" as "there is none" will tell you your kitchen is bare, put your entire pantry on the shopping list, and refuse to suggest dinner from a cupboard full of food. The detail is not the problem. The inference is.
A pantry list survives on being quick to keep true. Anything that demands precision you were never going to supply stops being true within a fortnight, and a list that is out of date is worse than no list, because you trust it.
Try it on your own kitchen
Add what's in your pantry, fridge and freezer once. Then ask what you can cook — and get answers that only use what you actually have.
Create a free accountFree · No credit card required · Takes under 5 minutes
Keep reading
- The AI Said Our Pantry Was Empty. It Was Full.
It named the dals, said they were out of stock, and refused to plan dinner around them. All four were on the shelf. The model was reasoning correctly from something that was not true.
- How to Organise Kitchen Storage Locations (Lessons From 350 Items)
Seven cupboards, five of them starting with the same word. Here is what a kitchen location system actually needs once you have more than thirty things to find.