Alma Douro
Alma Douro is a fine dining restaurant. We designed the system that runs its kitchen and floor, with AI that suggests recipes from stock about to expire.
From the expiry alert to the recipe, in 12 seconds
The app spots what's close to expiring, proposes a recipe built from those products, and returns the technical sheet ready for service.
Expiry dates gain colour
Product expiry lived on labels in the freezer and in spreadsheets. By the time someone noticed, it was already a loss.
It moved onto the same line as the product, in three colour levels. From red on, the app takes the initiative and proposes acting.
The AI suggests, the chef decides
The basis of the suggestion is never opaque. Whoever creates the recipe picks the criterion and sees it written down.
- Criterion
- Manual, average price, stock quantity or how close to expiry
- Pre-selection
- Expiring products come already chosen, with the count in view
- Quantities
- Editable to the gram, with the side list always visible
- Output
- Cost to the restaurant, menu price, time and portions
A technical sheet, not a guess
- Ingredients with exact quantities
- Cost and menu price side by side
- Prep time and number of portions
- Step-by-step instructions, editable
Buying with history, not from memory
With no record of prices and lead times, orders were made off the top of the head. People bought too much just in case, and the excess ended up in the bin.
Every order now has a status, an expected date and a supplier in view. What's running low is restocked before it runs out, no panic buying.
AI doesn't replace the judgement of whoever cooks. It takes away the work of figuring out what to do with the leftovers.
Seats, not table rows
Reservations lived in lists. At peak time, no one translates a table into the real layout of the space.
A floor plan of the restaurant with just three colour states. Fewer categories, a faster decision.
Floor and kitchen looking at the same number
The delay becomes visible before the customer feels it.
- Columns
- Queued, in preparation, done
- Timer
- Per order, changes colour once it passes the expected time
- Context
- Table, number of people and restrictions next to each dish
- Filters
- Seasonal menu and tasting menu
For those with their hands full
- Team status, who's online
- One tap to talk, no menus
- Only what can't wait
One question at a time
Long reservation forms lose people halfway, and the special request ended up coming in by phone.
Six short steps, one per screen, with the customer picking their own table on the floor plan.
What the customer writes reaches the kitchen
This is where the cycle closes: the customer's information feeds the forecast, the forecast informs purchasing, and purchasing determines the stock that generates the suggestions.
- Format
- Closed labels, not free text, so the system understands
- Granularity
- Per person, not per booking, to avoid mixing up the dish
- Options
- Vegetarian, gluten-free, lactose-free, halal, kosher and more
- Destination
- They appear next to the name on the floor and travel to the kitchen channel
The process, in detail
How we ran the process
We followed the double diamond across five phases. Research with interviews of restaurant owners and staff. Definition of features, mapping the flows of each profile. Low and mid-fidelity wireframes, then a high-fidelity prototype in Figma.
We closed with usability testing, iteration on the feedback gathered, and delivery adapted to tablet, phone and smartwatch.
Why waste isn't only a kitchen problem
The research revealed a chain. Poorly informed purchasing creates too much stock. Poorly anticipated demand creates the wrong stock. Dietary restrictions lost between the floor and the stove create returned dishes.
That chain is what justified putting AI at the centre of the system, connecting the three profiles, rather than treating it as an isolated feature of just one of them.
Why the final decision is always human
The system never publishes a dish on the menu on its own initiative. It proposes, shows the criterion it used, and lets the chef accept, adjust or ignore.
In a kitchen, a tool that decides on its own is lost at the first wrong suggestion. Reversibility is what keeps it in use.
Project status and limits
It was delivered as a high-fidelity prototype, tested with users and iterated. It didn't reach a production environment.
So there's no real operating data. The efficiency and waste-reduction goals are design goals, and the values shown on the screens are demonstration data.