← Portfolio
App and UX design2025

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.

Cover of project Alma Douro
Problem 01 Managed on a wall board and in Excel
Problem 02 Repeated tasks on autopilot
Problem 03 Purchasing decided from memory
The feature

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.

The full journey, from alert to technical sheet. Sped-up playback, no sound.
The trigger

Expiry dates gain colour

Problem

Product expiry lived on labels in the freezer and in spreadsheets. By the time someone noticed, it was already a loss.

Decision

It moved onto the same line as the product, in three colour levels. From red on, the app takes the initiative and proposes acting.

UI detail

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
The result

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
Purchasing

Buying with history, not from memory

Problem

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.

Decision

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.

Floor

Seats, not table rows

Problem

Reservations lived in lists. At peak time, no one translates a table into the real layout of the space.

Decision

A floor plan of the restaurant with just three colour states. Fewer categories, a faster decision.

UI detail

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
On the wrist

For those with their hands full

  • Team status, who's online
  • One tap to talk, no menus
  • Only what can't wait
Customer

One question at a time

Problem

Long reservation forms lose people halfway, and the special request ended up coming in by phone.

Decision

Six short steps, one per screen, with the customer picking their own table on the floor plan.

The bridge

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
Go deeper

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.

Next project TomaConta Platform and product

Want a project like this?

Tell us your idea. Reply within 24h.

Get a quote
👋 Pergunta-me sobre vídeo, sites, design ou preços!
Rui ChavesOnline