Solo Designer & Builder2026iOS · Android · Web

Buy what you need, without keeping count.

We buy extra just in case. You never quite know what is left, and being wrong costs more than grabbing a second one. Knowing for sure would mean keeping an inventory up to date, which costs more than the problem it solves.

Live app, in daily use. The interface is in French. Each screen is explained in English in the case study.

Four principles.

The inventory is not maintained. It fills itself.

Ticking an item off in the shop puts it in stock. The receipt says how much. Nothing new was added for you to fill in: the data already existed, it was in your pocket.

The shopping date becomes the unit of measure.

“Enough” means nothing on its own. Walou does not compare stock to a threshold, it compares it to the date of the next shop. Nothing to plan: one date is enough and the rest follows.

You state your consumption once. The app adjusts it after that.

You tell Walou you go through roughly this much a week. It corrects itself from there, by watching how often the product comes back. Nothing to keep up to date.

When Walou does not know, it shows nothing.

No default zero, no “neutral” grey dot. An absence looks like an absence, because a made up number costs more than an empty field.

Focus.

The inventory: a coloured dot on each row, how long it lasts underneath, and one row with no dot.
A colour that answers, not one that grades
Green, amber, red. The only question asked is whether it lasts until the shopping date. And where no consumption has been stated, no dot at all: a grey one would read as a verdict.
The date chip at the head of the list: 16 Aug, ten days out.
One date at the top of the list
A single date, from which everything else follows. It is a marker, not a setting.
The receipt review screen, with the mismatch banner above the detected lines.
The receipt checks its own reading
The receipt states its total. Walou compares its reading against that total and says so when the count does not add up, before writing anything.
A favourite row, showing that Walou adjusted the stated consumption.
The app says when it did the correcting
Consumption is stated once. When Walou adjusts it afterwards, it says so. Nothing is corrected in silence.
In the receipt review, a line with a composite format arrives unticked, flagged as a quantity to check.
Refusing to guess a quantity
12X100G: twelve pots, or twelve hundred grams. The line arrives unticked rather than guessed.
The consumption screen: a quantity, a unit, a frequency.
Declare it once and be done
One sentence, one time. That is all Walou asks in order to count from then on.
A suggestion from Walou: check a product that is running short, and add it to the list.
Raise the question, never tick the box
When a product runs short, Walou offers to check and to add it to the list. It never does it alone.

Enough, but for how long?

“Do we still have flour?” “Oh yes, we have plenty.”

V1
Oat milk
Plain tofu
V2
Oat milk~1 day0.2 L
Plain tofu~2 days2
The first version shows a presence, the second shows a quantity and whether it lasts until the shop.
From presence to date
Problem

The first version did two things: a shopping list, and an inventory of what is in the house. It answered “do I still have any”. Out shopping, in the dried fruit aisle, I wondered whether I had enough pecans for my granola for the next five days. Right then a couple walked past me. “Do we still have flour?” “Oh yes, we have plenty.” Those are two different questions, and Walou could only answer the first. I took one bag instead of two, and hoped.

Decision

Anchor the app to a date. “Enough” means nothing on its own. It only means something relative to the next shop. Walou stops saying what is there and starts saying whether it lasts. That means knowing quantities, when the first version had made exactly the opposite call: a presence, never a number.

What it cost

The founding rule was that the app only states facts it actually holds. An estimate is not a fact. Rather than drop the rule, I moved it: Walou may estimate as long as the estimate shows, and as long as its ignorance shows too. It can now be wrong in front of everyone.

The same rule, in four unrelated places

Walou had a founding rule: only state facts it actually holds. The V2 turn forced it to estimate, so the rule had to move rather than break. A moved rule is only worth something if it holds everywhere, including where nobody goes to check.

It holds in four places that have nothing to do with each other, and two of them are invisible on screen. Clearing a quantity field deletes the value instead of writing zero, because a zero would claim there is none left. A line with no stated consumption shows no grey dot, which would read as an opinion. The receipt reader shows the gap between what it read and the printed total. A composite format arrives unticked rather than resolved at random.

These are not four features. They are one decision, taken again at four different depths: two in the interface, one in the data model, one in a parsing algorithm.

“Putting the shopping away and entering numbers are two separate gestures, and the second one never happens.”

Manual entry
Shopping list
Quantity
400
Unit
g
Receipt reading
Apple sauce800g
Penne1pack
The quantity bought already exists somewhere: on the receipt, which is in your pocket as you leave the shop. Walou reads the receipt and offers what it understood. Entering it by hand still works everywhere, it is simply no longer necessary.
From entry to receipt
Problem

This second version went live with quantities to be entered by hand. After four days of real use, I was not entering them any more. Not out of carelessness: putting the shopping away and entering numbers are two separate gestures, and the second one never happens. Without quantities, everything else goes dark. A freshly shipped version had just shown that it did not hold.

Decision

Do not make data entry lighter. Remove it. The quantity bought already exists somewhere: on the receipt, which is in your pocket as you leave the shop. Walou reads the receipt and offers what it understood. Entering it by hand still works everywhere, it is simply no longer necessary.

What it cost

Precision at any given moment. Walou knows roughly, never exactly. That is the price of the data arriving on its own, and an estimate that exists beats an exact figure nobody ever types.

Two more comfortable routes, ruled out

Two more comfortable routes were ruled out. Retailer data, which would have made the app depend on a shop. And a general purpose reader, held in reserve for as long as one reader per retailer was enough.

Two days after release, a shopping trip abroad produced a receipt from a third retailer nobody had planned for. The reserve became the job in hand. That is the price of the approach, it was foreseeable, and I paid it sooner than expected.

What matters sits elsewhere, and it has not moved. Walou never fills in stock in silence. It offers what the receipt says, or the sum with what it already knew, and lets you correct. One confirmation for the whole shop, not one question per product.

“I adjusted my stock by hand every evening for three days, so that it would go down.”

The last count
Green peas11 tins
The estimate
Green peas~7 tins
On the left, the number last counted. On the right, what is left of it today.
From a frozen number to a falling one
Problem

The inventory showed the number I had last counted. True on the day of the count, wrong every day after. The estimate already existed, but in a small line beside it. For three evenings I corrected my stock by hand so that it would go down, without noticing I was doing the work the app exists to remove.

Decision

Let the badge carry the estimate, with a ~ to say that is what it is. Tapping it opens the field on that estimate rather than on the old count. The evening gesture becomes a confirmation instead of a count.

What it cost

The last certain number. The inventory no longer shows what was counted, but what it believes is left.

A defensible rule, overruled by use

Showing the last count was defensible, and even rigorous: it was a fact, someone had counted. That is the app's founding rule applied to the letter.

But that fact had stopped moving. It said what there had been, not what was left, and I closed the gap myself by recounting every evening.

In moment 1 the rule had already been moved: Walou may estimate, as long as the estimate shows. It had been moved in the engine, not on the screen.

Maintaining quality while building at speed

Each dot is a version that went live. 54 in 23 days.

Design teams are being asked to ship faster than ever, with fewer people, more surface area, and higher expectations for craft. Walou is the extreme case: one person, designing and coding. With AI, one person can hold that bar, provided they give themselves the safeguards a team supplies by default: a second pair of eyes, and someone on every layer, from back end to front.

The outcome.

Walou open in hand in the fruit and veg aisle.
  • In daily use, by two people.

    Walou is used for real shopping, in a shared household: two accounts, one stock. That use produced these shifts, and it will produce the next one.

  • The horizon turned into an instrument.

    Friends coming over at short notice. We need sun-dried tomatoes. Push the shopping date out two days, read how many that takes, buy that. The marker built to answer “does it last” also finds, once you move it, how much to buy. Nobody planned that gesture.

  • What the app still does not do.

    Walou never suggests a quantity to buy. It says whether it lasts, and lets you move the date to find the right number. The answer can be read, it is not handed to you.

  • The real world decides, never the code.

    Not one of these shifts came from reading the code. The first came from a question in an aisle. The other two came from gestures I was making at home without noticing: numbers I had stopped typing, a stock I corrected every evening. Using the app yourself every day leaves no room: it tells you what does not hold before you have had time to grow attached to the previous answer.

Two phones: the inventory on the left, with how long each product lasts, and the shopping list sorted by aisle on the right.
Limits & learnings

Swiping a row was ruled out twice: on judgement, then with the gesture measured on the device. It added nothing a tap did not already do. And a display fault stayed invisible for weeks because the mockup frame was narrower than real phones. A mockup is not a device.

“What do I need to buy? Walou.”

Walou means “nothing”, “nada”. It is the answer you hope for in the aisle, and it became the name of the app. The project started from something plain: we throw food away because we buy too much, and we buy too much because we are afraid of running out. Walou does not ask anyone to buy less. It takes the fear away, and the rest follows.

Want to try it?