Never Run Out.
Most small coffee shops track stock in an unstructured Excel sheet and place their orders over WhatsApp. I designed Restock end to end in Figma: a daily screen for what needs attention, an order drafted and grouped by supplier, and that order going out through the channel the shops already use.

Overview
A coffee shop opens at seven. Somewhere between the grinder warming up and the first customer, somebody has to work out whether there is enough oat milk to get through the week, and if there is not, message First Class before their cutoff. That decision gets made from an Excel sheet with a column of items and a column of numbers, and from whatever the manager remembers about how fast each thing moves.
The sheet is accurate. It is also silent. It records what was on the shelf the last time somebody counted, and it has nothing to say about which of those numbers is about to become a problem, which is the only reason anyone opens it. So the forecasting happens in someone’s head, on a Sunday night, from memory of how the last two weeks went.
Restock is built around that second question. The home screen answers one thing: what needs your attention today. It lists what is low, eight items on the morning I designed for, with the four most urgent open and the rest one tap away. Each row carries the item, its supplier, how much is left against a full shelf, and how long that lasts. Oat milk from First Class, 2 of 19, one day left. Cow milk, 4 of 25, three days. Coffee bags from Vinoli, 11 of 34, four days. Croissants from The Bakery, 6 of 13, six days.
Two different numbers are doing two different jobs in that row, and the design keeps them apart. The bar underneath shows how full the shelf is. The colour shows how soon it matters. Those are not the same question, and only the second one changes what you do this morning, which is what turns the screen from a stock list into a to-do list that happens to be about stock.
The harder part was deciding where AI belonged. I went back to the persona rather than to the technology, and what he wants from the app is narrow: to order, quickly, and to be right. So the AI does two things, both in service of that. It forecasts, so the days-left figure comes from how the shop actually consumes rather than from a fixed reorder point. And it drafts the order, so opening the app produces something to check instead of a decision to make.
The review screen is that draft. Eight items grouped under the three suppliers they belong to, each with a quantity you can push up or down, and a line at the top saying where the numbers came from: current stock levels, usage patterns, past orders. Review before hitting send. Then the app stops and asks. Eight items from three suppliers will be ordered, and it cannot be undone once sent. Ordering automatically would have made the better demo and the worse product. Nobody hands the supplier budget to something they have known for a week.
The orders go out over WhatsApp, as three separate messages, one per supplier, each carrying only that supplier’s items. When I looked at what these shops actually use, the honest answer was a spreadsheet and a WhatsApp thread, and every tool built to replace that asks the supplier to adopt something new as well. The supplier has no reason to. So Restock leaves the channel where it is and fixes what was wrong around it: the right quantities, split correctly, sent in one tap rather than typed out three times.
After the order goes, the home screen changes rather than resetting. The same rows stay where they were, but the urgency line is replaced by what is arriving and when. Seventeen arrive today. Twenty-three arrive Wednesday. The warning dots come off, and a card appears at the top with the three suppliers notified and a tracker running from scheduled through to arrived. Low stock stops being a warning once it has been dealt with, and the screen says so on its own.
The last thing the design has to do is the thing that started it. The persona I built this for is the only person in his shop who orders, and the line I wrote at the top of his page was that if he is not there, ordering just does not happen. Everything above is an answer to that as well: a screen that says what is low without needing to be interpreted, an order already drafted, and a send button that anyone on shift could press without knowing which supplier carries the vanilla syrup.
Restock has not been built, and no shop is running on it. The competitive work, the persona, the flow and every screen are mine, in Figma.
Before
What the competitive work and the persona turned up, and why the answer was not another stock tracker.
Screens



