Human-Machine Interface · Automated Retail



MixLab is a self-serve cocktail machine that measures, shakes and pours on its own. Guests order a ready-made cocktail or build their own from nine categories. The screen does the rest of a bartender's work: it checks age, explains what goes into the drink, takes payment and hands it over. I was the sole designer and designed MixLab end to end, including every state a public machine has to survive.
From the research
Survey of people who order cocktails.
The Challenge
Guest view
Ordering a cocktail means trusting someone else's judgement. 40% have been served a drink too strong or too sweet, and 80% give up on a drink when the bar queue is long.
Venue view
With no staff on hand, the machine carries the responsibility a bartender would: checking age before anything is built, never taking a payment twice, and never leaving a half-finished order for the next guest.
Competitive Analysis
I benchmarked the kiosks guests already order from, in Israel and abroad: cocktail kiosks that serve alcohol, and the restaurant self-order kiosks guests use every day. Each gets part of the job right. None lets a guest build a drink on the screen, preview it, and see taste and price update before paying.
| Capability | Cocktail Kiosks Yanu, Cecilia.ai, TendedBar | Self-Order Kiosks McDonald's, Wok to Walk | MixLab Where the design competed |
|---|---|---|---|
| Ordering Surface | Touchscreen, voice or face scan | Portrait touchscreen | ✓One portrait screen, start to finish |
| Customisation | Pick from a menu, light tweaks | Add or remove per item | ✓Nine categories, any order |
| Pre-Order Preview | Drink name only | Stock photo per dish | ✓Live shaker, filled to scale |
| Taste & Strength | Set by the recipe | Out of scope | ✓Sweetness, sourness, ABV, live |
| Price Transparency | Price per drink | Updates per item | ✓Running total, every extra itemised |
| Age Verification | Face scan or ID, on some units | Out of scope | ✓ID on a lit panel, no copy kept |
| Wait Experience | Watching the robot | Order number on a board | ✓A game synced to the pour |
McDonald's reach mode lowers the top of the screen. In MixLab every control sits within wheelchair reach by default, and the lowered mode moves everything down, exit included. All text passes WCAG AA, with an 18 px floor.
TendedBar offers four compliance levels. MixLab commits to one: an ID on a lit panel, read in about two seconds, date of birth only, no copy kept, valid for the whole visit. Guests who aren't drinking skip it in one tap.
Design approach
With no bartender to describe the drink, the screen has to show it. Every screen was held to three questions: can a first-time guest finish without asking anyone, can they see what the machine is doing, and does the screen say what to do next? That is why the cocktail is broken into nine categories, taken in any order, with a tab bar that tracks what is chosen and what is left. With every pour the shaker fills against a real millilitre scale, in the drink's true mixed colour, computed by volume and each ingredient's pigment strength, while sweetness, sourness and alcohol strength move with it.
From a finding to a feature
The shaker fills to scale in the drink's real colour with every pour.
₪40 covers one of each category. Every extra shows before it's added.
Sweetness, sourness and strength move live with every pour.
The Persona
Most visits aren't one drink. They're a round.
Out on a Friday with her friend Itai, at a MixLab machine for the first time. She knows what she likes and doesn't want to explain it to a bartender over the music. She orders a ready-made drink for Itai, builds her own, and wants to see the price before every tap.
A proto-persona, built from the survey and the benchmark. Her visit is the journey below.
Mor's journey
Mor orders for two in one visit: a ready-made Clear Formula for Itai, then her own drink, built from nothing. Following her through every screen shows how the two paths share one menu, one cart and one payment, and where the machine takes over.
The full user flow
1 · Start screen

2 · ID check
3 · Menu

4 · Clear Formula, picked

5 · Choose a size

6 · One in the order

7 · Alcohol

8 · Liqueur

9 · Juice

10 · Syrup

11 · The glass

12 · Spice

13 · Ice

14 · Garnish

15 · Extras

16 · Formula card

17 · Two in the order

18 · Your order

19 · How to pay

20 · Tap to pay

21 · Approved

22 · Printing

23 · Ice Drop
24 · Ready for pickup
25 · Thank you

Design system
The dark canvas is a functional choice before an aesthetic one: in a low-lit bar it keeps glare down and lets the screen sit in the room instead of lighting it. Colour is rationed. A single neon green carries the lab identity and is reserved for the next step, which leaves the drink as the only other colour on screen. I built the system in Claude Code, from tokens to coded components, keeping design and build on one source of truth.
Derived from the digital signage formula and DIN 1450 for a 60 cm reading distance. 18 px is the floor.






Edge cases
An ID that can't be read, a declined card, an item that runs out, a machine being serviced: each got its own designed screen, with one rule. Say what to do next, never just what failed.

The reason matches the fix, and after three tries the machine takes the blame, not the guest.

Nothing was charged and the order is safe. She can try again or pay another way, one tap from the total.

Sold-out items stay in place, greyed and labelled. The grid doesn't jump, and the rest of the order is untouched.

It says when the machine will be back, about 40 minutes, gives a number to call, and confirms nothing was charged.
Happy to walk through the decisions, what each one cost, and what I'd change if I built it again.