All documentation
Documentation

Together

The shopping list

One list the household shares, sorted by aisle, that works in a supermarket basement with no signal and tells everyone when somebody is already there.

The shopping list is the one surface here whose moment of use is defined by bad signal. A parent, a trolley, a basement, one bar. Everything about how it is built follows from that.

It is at Shopping on the family hub, and in the command palette.

Adding things

Type and press enter. As you type, the aisle is predicted from the item name and shown as a chip you can tap to change.

There are 13 aisles: produce, bakery, meat, dairy, pantry, snacks, drinks, frozen, household, personal, baby, pets, and other. They are ordered the way you walk a shop rather than alphabetically, so reading the list top to bottom is the route.

The prediction is a plain keyword list rather than a model call, which is why it still works in airplane mode. It matches whole words and longer phrases first, so "ice cream" lands in frozen instead of dairy. An item it does not recognise gets no aisle at all and sits under Other, because a stored wrong guess is harder to fix than a blank.

Checking things off

The whole row is the target, sized for a thumb rather than a mouse. Tapping it records who checked it and when.

Checked items collect in an "In the cart" section with a count, and Clear checked empties it when you are done.

Staples

Mark the things you buy every week as staples. A checked staple is never cleared; it parks in a tray at the bottom of the list, and one tap puts it back on.

That is the difference between a list you rebuild every Saturday and a list you maintain.

When somebody is already at the shop

One person taps to claim the run, and everyone else sees their name and that they are there. It stops the second trip and the duplicate milk.

Finishing a run is a wrap-up: optionally log what you spent to Expenses, then end the run and clear the checked items. The amount is optional, so ending a run without logging anything is one tap.

Where items came from

Items generated from the week's meals carry a small "This week's meals" line, so you can tell what you added yourself from what the plan added for you. See Recipes and the meal plan.

Pressing that button again skips anything already unchecked on the list. An item you already ticked off will come back, which is usually right: you bought it, and the plan still wants it next week.

Offline

Adding, checking off, editing, claiming the run and finishing it all work with no connection at all, against the local database on your device, and reconcile when signal returns. There is no spinner, because there is nothing to wait for.

The one exception is the button that pulls in the week's meals. That reads the plan from the server, so it needs a connection, and it says so plainly rather than showing you an empty week and letting you believe it.

What it does not do yet

There is one list per household in practice. The data model supports several, and an agent can create them, but the app gives you one and does not yet offer a rename or a delete.

Item notes show on the row and can be written by the assistant. The edit dialog covers the name, the amount, the aisle and whether it is a staple, and does not yet cover the note.

Availability

The shopping list is part of the family suite, so it needs a Family plan and a family workspace. See Plans and limits.

Checked against the running product on