How to make a grocery list from what you already have
Almost nobody writes a grocery list by walking around the kitchen and checking. Most lists get written from memory, at a desk or on a sofa, thinking about what a week of dinners usually needs — and memory is a report on habit, not a report on the shelf. That mismatch is the reason the same trip can come home with a third jar of mustard and still miss the one thing the fridge was actually out of. The fix is not writing the list more carefully. It is changing what the list is built from.
Where a grocery list actually comes from
Ask most people how they build a list and the honest answer is some version of "I think about what we usually cook and add whatever that needs." That is a perfectly reasonable way to plan meals, and a genuinely bad way to find out what is missing, because it never touches the current state of the kitchen at all. It is a list generated from routine, checked against nothing. If you always buy milk on a Thursday shop, milk goes on the list on Thursday, whether or not the carton from last week is still two-thirds full.
This works fine for the items that really do get used up on a predictable schedule. It quietly fails for everything else — the things bought on impulse, the things a housemate restocked without mentioning it, the things that sat further back than usual and did not get finished at the expected rate. None of that shows up in a list built purely from habit, because habit does not know about it.
The two failures this produces, and they are opposites
Overbuying. "We might be low on rice" turns into rice on the list, most weeks, whether or not it is actually true. Buying on a hunch feels like the safe move — better to have two bags than none — but a hunch that is right eight times out of ten is still generating a spare bag of rice roughly once every two months, forever. Multiply that hunch across a dozen pantry staples and a cupboard quietly fills with duplicates nobody meant to buy.
Underbuying. The opposite failure is quieter and more annoying, because it shows up mid-week rather than at the shop. Something that was not part of the usual routine — a condiment used once for a specific recipe, a spice bought for one dish — runs out without ever being on anyone's mental checklist for what "the shop" covers. It was never a habit item, so a list built from habit was never going to catch it running low.
Both failures come from the same root cause: the list is a prediction about what a normal week needs, not an observation about what this particular kitchen currently has. Predictions and observations diverge more the longer it has been since anyone actually looked.
Why "just check before you go" does not really fix it
The obvious answer is to open the fridge and pantry before writing the list, and in principle that works. In practice it runs into two smaller problems that quietly undo it. First, a quick visual scan is a worse instrument than it feels like — jars hide behind other jars, the freezer is an opaque stack of bags rather than a shelf you can read at a glance, and a half-used bag of flour folded shut looks the same from across the kitchen whether it holds two cups or none. Second, in a shared kitchen the person about to shop is frequently not the person who used the last of something. Checking the shelf yourself tells you what you remember seeing recently, not what changed after someone else cooked dinner last night.
So "check before you go" is the right instinct pointed at the wrong tool. A glance at a shelf is not actually a reliable check; it is a slightly more recent guess.
Building the list from what is true
The version of this that actually holds up splits into two separate passes, done in the right order.
- First, note what is genuinely low or gone — by looking, not by recalling. Go category by category (protein, dairy, produce, pantry staples) rather than trying to remember the whole kitchen at once; a narrower question ("is there still butter?") gets a much more honest answer than a broad one ("what are we out of?").
- Second, only then add the routine items — and only the ones the first pass did not already answer. If the check already found two-thirds of a carton of milk, "we always buy milk" should not override what was just seen. The habit-based list is a fallback for things you did not get around to checking, not a default that overrides a real answer.
Doing it in this order matters. A habit-first list treats an actual check as an optional extra step that gets skipped under time pressure. A check-first list treats habit as the thing that fills in the gaps the check did not cover — which is a much smaller, much more honest role for habit to play.
Where this gets genuinely harder: more than one person
Everything above assumes the person writing the list is the person who last looked in the fridge, and in a shared kitchen that is often not true. The list-writer's check, done an hour ago, does not account for whatever a housemate just used up for lunch. This is the same coordination gap that causes duplicate buying in general — one person's snapshot of the shelf going stale the moment someone else changes it — and it means an individual check-first list still runs on information that can be a few hours out of date before the shop is even reached.
This is the specific problem Munch's household inventory is built around: the fridge, freezer and pantry are tracked by what is actually in them, and that record updates the moment anyone in the house adds something or uses it up, so writing a list means looking at a current shared answer rather than doing your own walk-around check and hoping nobody else changed anything since. "Do we have butter" stops being a question you answer by remembering or guessing, and becomes a question the list already knows the answer to.
None of this is really about being more organised as a person. A list built from habit was never going to reflect a shelf that other people are also changing, no matter how carefully any one person wrote it. Once the list is built from what is actually there instead of what usually gets bought, the duplicate jar and the mid-week gap both mostly stop happening, for the same reason: the list finally matches the kitchen it is supposed to describe.