Selected work
Case study · Product strategy & design

Cookler

An AI assistant for chefs, built around one question: am I making money on this recipe? Talk a recipe through, snap your supplier invoices, and Cookler works out the margin on every item, then keeps it honest as prices move.

As the senior design leader on Cookler, I led the product strategy for Margin management and designed it hands-on, from the core reframe to the build-ready spec the team is shipping now, across Saudi Arabia and France.

Role
Senior Design Leader
Scope
Product strategy · Product vision · End-to-end UX · Design system
Company
Cookler
Year
2026
9:05
Recipes AH
Search recipes
Tarte au chocolat noir
50%
€26.00/cake
▼ Margin down
Chocolate éclair
58%
€2.60/éclair
– No change
Pistachio financier
-35%
-€0.42/piece
▼ Margin down
Mille-feuille
Price needed
Recipes Invoices + Add
TRY ME
9:05
Tarte au chocolat noir Edit
You're making money
€26.00
profit per unit · 50% margin
Ingredients€14.75
Labor · 45 min€11.25
Cost / unit€26.00
Retail price€52.00
Break-even €26.00Suggested €57.78
Share Done
9:05
Why this number?
Where the cost goes
Ingredients€14.75 · 57%
Labor · 45 min€11.25 · 43%
Recent price rises
Dark chocolate ↑ 12% Butter ↑ 5%
What you can do
Raise the price to €57.78 to hit a 55% margin, or switch chocolate supplier.
Home scoreboard · the margin result (drag the price) · the reasoning behind it
Overview

A chef can make a beautiful cake and still lose money on it. A few run an ERP, but most are guessing: pricing by feel, from memory, and only noticing something is underwater when the month refuses to add up. The information exists, buried in a stack of supplier invoices and a head full of recipes, but nobody has time to reconcile the two.

I led Cookler's Margin management initiative end to end. I owned the product strategy, the positioning, the scope, and the market and model calls, and stayed hands-on in the craft: the flows, the margin model, the design system, and the interaction detail on every screen.

What I led
  • Product strategy and positioning
  • Scope, market, and model decisions
  • End-to-end UX across 45 screens
  • An explainable margin model
  • Invoices feeding a shared price book
  • Arabic right-to-left and French
45
screens designed, every state including the unhappy paths
2
markets at launch, Arabic right-to-left and French
1
question the whole product answers: am I making money?
Product strategy · The reframe

An assistant for chefs, not a matching tool

The first framing asked chefs to upload an invoice for each recipe to get a margin. That put a per-recipe chore, and the whole job of matching, in the user's lap, and it buried the thing chefs actually care about: the recipe. So the framing went through a couple of iterations. Invoices quietly build a price book. Recipes read from it. You scan once and reuse everywhere, and a recipe only asks for a price when it uses an ingredient your invoices have never seen.

Iteration 1 · matching tool
"Upload an invoice per recipe to get a margin."
Implies a per-recipe chore, and hands the matching problem to the person least equipped to solve it.
Iteration 2 · the assistant
"Invoices build your price book; recipes read from it."
Scan once, reuse everywhere. The price book is the bridge between what I make and what it costs.
The strategy, in four calls
Positioning
An assistant for chefs, not accounting software.
Who it's for
Solo and small-team food entrepreneurs.
The wedge
One question: am I making money?
The model
A time-boxed trial, not a volume cap.
01 Capture

Capture a recipe without typing a word

The people Cookler is for run everything alone, often with limited reading time and dirty hands. So voice leads: talk the recipe through and watch each ingredient land on screen. Photo and video are there for a printed sheet or a cook in progress, and invoices arrive the same way. The keyboard is a fallback, never the starting point.

TRYME
9:05
New recipe
Voice Photo Video
REC 0:08
Listening… I'm noting it down.
Getting it…
Tarte au chocolat noir · 8 portions
Dark chocolate 70%, 320 g
Butter, 180 g
Cream, 250 g
Point at the recipe
REC 0:12
Tarte au chocolat noir
9:05
Edit recipe Re-record
Cookler filled these in from your recording. Every field is editable.
Recipe name
Tarte au chocolat noir
Batch yield
Units per batch Unit size
Units per batch
8
≈ 154 g each
+
Prep time & labor
Prep time
45 min
AI estimate
+
Prep time × your labor rate is the labor built into each unit's cost.
Labor rate
€15 /hr
+
Ingredients
Dark chocolate 70%320 g×
Butter180 g×
Cream250 g×
+Add ingredient
Instructions
1Melt the dark chocolate and butter together.Edit
2Fold in the cream, pour into the shell, and bake.Edit
+Add step
Continue to pricing
Voice capture, live · then edit what it heard
02 The margin

A number you can always explain

The margin is the whole product, so it can never feel like a black box. Cookler states it in plain language and money, making money, breaking even, or losing money, and every number is one tap from the prices and matches that produced it (the phones above: drag the price to watch the margin move, then open the reasoning). Ingredient costs come from the chef's own invoices, labor is prep time times a rate set once, and the chef always sets the final selling price. Cookler only recommends.

margin % = (price − prime cost) ÷ price · prime cost = ingredients + labor
INVOICES
Scanned once
Photograph a bill; the AI pulls each line item and its unit price.
PRICE BOOK
Per-gram prices
One ingredient database, reused across every recipe you have or add.
RECIPES
Read the prices
Margin computed live; only an unseen ingredient ever asks for a price.

Keep every margin honest as costs drift

A margin is only true on the day it is calculated. Every scanned invoice updates the price book and shows how each supplier's prices moved. When a new invoice quietly pushes a recipe into the red, Cookler surfaces it over whatever the chef is doing, a real alert over the live screen, not a buried report, so it gets seen before it costs them.

A product earns trust in its worst moments, so I designed the unhappy paths on purpose: name the problem plainly, always offer the next step.

9:05
Invoices
Search suppliers
Sourcing Gourmet
12 Jun · 9 items
€412.80
↑ 4%
Metro Pro
8 Jun · 14 items
€228.10
↓ 2%
Valrhona
2 Jun · 4 items
€96.40
– flat
Sourcing Gourmet
Just scanned
€430.20
↑ 4%
Recipes Invoices
9:41
Tuesday, 12 June
9:41
C
Cooklernow
Margin dropped
Pistachio financier fell to -35% after a new invoice.
Swipe up to open
9:05
Notifications
Margin dropped2h
Pistachio financier fell to -35%
Price rise2h
Pistachios ↑ 22% · Sourcing Gourmet
Invoice processed3h
Sourcing Gourmet · 9 items
Margin steady1d
Chocolate éclair holding at 58%

Invoices with price movement · a push notification on the lock screen · and the in-app notification centre

03 Two markets

One product, Saudi Arabia and France

Cookler launches in two markets at once, so localization was a design constraint from the first screen, not a later pass. Arabic mirrors the entire interface, numerals and all, in full right-to-left. French only changes the words. Region sets currency and units together, SAR or EUR, with no separate pickers to get wrong.

9:05
الوصفات AH
ابحث عن وصفة
تارت الشوكولاتة الداكنة
50%
€26.00/كيكة
▼ الهامش ينخفض
إكلير الشوكولاتة
58%
€2.60/إكلير
– بدون تغيير
فينانسييه الفستق
-35%
-€0.42/قطعة
▼ الهامش ينخفض
ميل فوي
السعر مطلوب
الوصفات الفواتير + إضافة
Arabic · full right-to-left
9:05
Recettes AH
Rechercher une recette
Tarte au chocolat noir
50%
€26.00/gâteau
▼ Marge en baisse
Éclair au chocolat
58%
€2.60/éclair
– Stable
Financier pistache
-35%
-€0.42/pièce
▼ Marge en baisse
Mille-feuille
Prix requis
Recettes Factures + Ajouter
French · same system
Design system

Material 3, dressed in Cookler

Material Design 3 carries interaction, accessibility, and layout, so a small team did not rebuild the basics. The brand supplies the type and one strict color rule, and profitability is always spelled out in words and numbers, so meaning never rides on color alone.

Interactive · making money
#4767ED
Break-even · needs a look
#D9911B
Losing money
#D92D20
Everything else · grayscale
neutral

Blue marks what you can touch and what makes money, red marks a loss, amber flags break-even and prices that need a look. Everything else stays grayscale, so meaning never gets noisy. Poppins carries UI and numbers, JetBrains Mono the prices, and Cairo the Arabic build.

Leadership · Senior and hands-on

Simplest buildable, but never simplify away correctness

I led this the way I work: set the strategy, then stay in the pixels. I owned the positioning and the scope, and stayed hands-on through the flows, the margin model, and the interaction detail, the draggable price, the live alert, the right-to-left mirror. With a small team and two markets to hit, my job was to protect scope without cheapening the product. Two rules held every decision: build the simplest thing that works, and never simplify away correctness.

That means writing down what this release computes and what it deliberately leaves for later, so engineering builds against clear rules instead of guesses. When the backend already supported composed recipes, a cake built from its own sub-recipes, I kept it out of scope so the product could ship flat and layer it on later without rebuilding the margin engine. Interactive prototypes sit behind the flows and double as the spec, so product, design, and engineering align on the real thing.

Ingredient pricing
NowUse the latest invoice price when several exist.
LaterAveraging or lowest-price reconciliation.
Wastage & yield
NowCost raw quantities exactly as entered.
LaterTrim loss and usable yield after prep.
Target margin
NowOne global default marks healthy for every recipe.
LaterPer-recipe and per-category targets.

A deliberate simplification, written down for engineering

Status · In build

One number, in every chef's pocket

Margin management is in build now for Saudi Arabia and France: voice, photo, and video capture, an explainable margin, a self-building price book, margin-erosion alerts, and full Arabic and French. It runs on a time-boxed free trial rather than a volume cap, so the trial proves its worth before anyone pays. The team is building against the flows and interaction detail shown here, with the harder calls, matching, unit conversion, and the composed-recipe path, already reasoned through for what comes next.

Next selected workToast Contact ↗︎