Skip to main content
Version: 2026.8.1

Groceries

Food is stock that goes off. Groceries, Tea and Spices are three tables under one Kitchen heading, and all three work the same way underneath: a quantity you draw down, a re-buy point, a shopping list that fills itself, and a cadence that learns how often you actually re-buy.

The loop:

  1. Install the Groceries bundle. It offers to set up a Kitchen with a Fridge, Freezer and Pantry.
  2. Get food in by scanning or from a receipt. Each arrival is dated.
  3. Record what you use on the What's on hand board, as you use it.
  4. Mark a thing Opened, Finished it or Threw it out, and Cobblr learns how long it keeps.

The three tables​

  • Groceries, Tea and Spices sit together under one Kitchen heading in the nav. Each holds its own things with its own columns: a spice jar has an opened-vs-sealed state, a tea has a box count, a grocery has an expiry.
  • All three are stock, so the general inventory story applies: draw-down, a re-buy point, a shopping list that fills itself when something runs low or is about to go off, and a learned cadence (see how fast you go through it).
  • Tea and Spices reach the shopping list when they run low, the same as Groceries.
If you tracked food in plain Inventory before the Groceries table existed

What you already filed stays in Inventory with all its columns intact. New scans route to the Groceries table, and an item sitting in the scan inbox offers the better table when one exists.

The dashboard shows a card counting the items that look like they belong in Groceries, with one Move N to Groceries button. The signal is the fields a row carries: something with an expiry or a food category looks like Groceries, something with a caffeine level looks like Tea. Ambiguous rows are left alone, and nothing moves until you press the button. The same offer works for any table you add later.

The What's on hand board​

The board is a wall of tiles, one per item: a quantity, a status light, and an empty-looking slot when something has run out. It is meant to be read from across the room, on a tablet left somewhere useful.

  1. Tap Use / restock. Every tile gains a large plus and minus.
  2. Minus means you used one. It always takes the oldest one you have, so the warning moves on by itself.
  3. Plus means another one arrived. It is dated from today using how long the item keeps.
  4. Undo appears beside the toggle after any tap, naming what you just did. It stays in one place rather than on the tile, so it does not move when the board re-sorts underneath it.
  5. Tap Done to go back to the plain board. It starts plain every time, because a board covered in buttons is a worse thing to read.

Recording what you used at the moment you use it is the only way the rest of Cobblr can tell you anything about what you are running out of.

What the status light means

Grey is out of stock. Amber means it expires within the next two days. Orange means it is past its date but still inside its grace period (see Still fine past the date). Red means the date and the grace have both run out. The words under the tile always agree with the light.

Several of the same thing​

Buy the same thing on different days and each purchase keeps its own use-by. Four containers of the same meal, two from Sunday and two from Wednesday, are two lots rather than one number with one date.

  • The item still shows one count and one use-by, and that use-by is always the soonest one, because that is the one worth acting on.
  • You are told about the oldest. The rest are fine and are not mentioned.
  • Eating one moves the warning on. Once the urgent lot is gone the next date takes over by itself. Nothing to update.
  • Adding more never hides an older one. Fresh stock cannot push an existing deadline out of sight.
  • Open the item to see the lots, listed oldest first ("2 received 18 Aug, use by today").

An item with no use-by date does not get one invented for it, and anything you were already tracking keeps working as before.

Dating each arrival​

Set Good for (days) on an item and adding more of it needs no typing.

  • Adding one records that it arrived today and works out its own use-by. Two added on the same day are recorded as one delivery of two.
  • Bought on is read from the receipt, so shelf life counts from the day you bought something even if you scan the receipt a week later.
  • Once opened, good for (days) starts a shorter clock on the one you opened. The unopened ones keep their own dates.
  • Leave Good for blank and nothing is dated for you. A guess would be worse than a blank.
Bought on and Provenance share one date

If you also switched the Provenance set on under Fields, you get one date field rather than two. Bought on and Acquired on are deliberately the same field.

Letting Cobblr learn how long things keep​

Nobody knows the shelf life of a jar of pesto, but you know what you did with it. Three marks on an item, each recording the day you tapped it:

Openedstarts the shorter clock on that one. The unopened ones keep their own dates
Finished ityou used the last of it up
Threw it outit went bad
  • Only throwing something out teaches the shelf life. Finishing a jar in a week says it lasted at least a week, not that a jar lasts a week, so finishing only ever raises the floor.
  • Until something has actually gone off you see "lasted at least N days so far" rather than a shelf life.
  • One jar going off is treated lightly. Two that agree are taken as a pattern and used to date what you buy next.

Still fine past the date​

A best-before date is the producer's promise, not a cliff.

  • Set "Still fine for (days past)" on an item. During that window the What's on hand board shows an orange "past its date, still OK ~Nd" tile instead of flipping straight to red.
  • Automations hold off. Anything that reacts to an item expiring (a discard, a re-buy) waits until the grace has run out.
  • Leave it empty and the date works the way it always did.

How something must be kept​

Two facts about a grocery are easy to muddle, so Cobblr keeps them apart:

Must be kepta property of the product: frozen, refrigerated, or ambient
Where it isits location, which you can label and scan things into
  • Scanning fills in Must be kept where it can, from what the item is. A bag of frozen peas is frozen wherever it happens to be sitting.
  • Anything you set yourself wins. The scan only fills a blank.
  • Nothing is guessed. If an item does not say enough about itself the field stays empty rather than being assumed shelf-stable.
  • A product's form counts. Garlic powder is ambient even though garlic is not, and canned fish is ambient even though fish is not.

When something goes in the wrong place​

Put something that has to stay frozen into a cupboard and you hear about it straight away, by whatever means you normally hear from Cobblr. This one does not wait for a daily summary, because a message saying your ice cream is in a cupboard is no use tomorrow morning.

It stays quiet, on purpose:

  • When it does not know how the thing must be kept. A blank means nothing is checked, which is better than a warning that might be wrong.
  • When the thing is shelf-stable. A jar of cumin is fine anywhere, including in the fridge.
  • When you put something inside another thing rather than in a place. A spare going into a toolbox is not a decision about temperature.

If you want a thing checked and it is not being, set Must be kept on the item yourself. Anything you set is always used ahead of what Cobblr worked out.

Shelves inside a fridge, and warning once

The check reads the whole chain of places, so a shelf inside the Fridge counts as the fridge. It warns once per place: reorganising a cupboard does not re-ping for every item each time it is picked up and put back, and the warning clears itself the moment the thing is put somewhere sensible.

Setting up the kitchen​

Installing the Groceries bundle offers to set up your kitchen.

  • It is a question, not an action. You see what would be created (a Kitchen with a Fridge, Freezer and Pantry inside it) before agreeing, and you can decline. Declining changes nothing else about how the bundle works.
  • An existing Kitchen is used, never duplicated. The Fridge and Freezer go inside the one you have, and anything already in it stays exactly where it is.
  • Only what is missing gets created. Made a Fridge yourself already? Only the Freezer and Pantry are added.
  • They are containers, not plain labels, so you can print a QR label for the freezer, scan it, and have everything you scan afterwards filed into it.