• Consumer
  • AI
  • 0 → 1

Hitting nutrition goals 93% of the time, without losing the dish

Twinplate reworks your favorite dishes to hit your nutrition targets without breaking taste or structure. Validated in a study with 24 people.

Timeline

Spring 2026

Team

4 people

Role

PM & ML Engineer

Skills

User Research, Market Analysis, Product Design, Experiment Design

Long story short

From 40 interviews to a tested ML product

01 Discovery

Product lead

Synthesized ~40 interviews into the PRD and one thesis: people judge the finished plate, not single ingredients.

02 Architecture

System designer

Designed the full system end to end, from the user's recipe input to the optimizer.

03 Execution

ML engineer

Built the ingredient-role classifier (~89% accurate) and the whole-dish optimizer that balances nutrition, flavor and structure.

04 Delivery & validation

Team lead

Reviewed the team's code and finalized the UX. In a 24-person study, 79% preferred our redesigns and nutrition accuracy reached 93%.

Core question

How might we help people eat healthier without giving up the food they love?

Speaking to users

Forty conversations shaped what we built

As a four-person team we each spoke with at least ten people — about 40 conversations — around five common questions about what makes people start, stop, and trust a change to their food.

Healthy eating means starting over

Most apps and sites our interviewees had seen offered new “healthy” recipes. None offered to redesign the dish they already cook and love.

Health goals vary by the day

Some days a cook wants a minor tweak, other days maximum optimization. A fixed, one-size-fits-all recipe fails both.

Unexplained swaps feel like a gamble

A substitution with no rationale feels risky. Users need a clear reason for every ingredient change.

If it stops tasting like the dish, they stop cooking it

Nearly everyone raised it unprompted. The real test isn't whether one ingredient got healthier; it's whether the finished meal still holds together and tastes like the dish they love.

Interview guide and affinity map from ~40 student interviews, clustered into eight themes, which narrowed to the four pain points above.

Who we built for

Everyone else tells them to cook something new

Most health apps demand you abandon your favorite meals. We segmented the market across two dimensions—health goals and recipe loyalty—to find the users who want to optimize, not compromise.

The Comfort-Food Optimizer

Want to eat better without giving up their white sauce pasta.

★ Unserved

The Planner

Happy to log macros and follow a new meal plan.

Served by trackers

The Content Cook

Happy with what they already cook.

Nothing to fix

The Explorer

Looking for something new to cook tonight.

Served by recipe apps

Ideal user

The Comfort-Food Optimizer

A home cook who wants to eat healthier without giving up the dishes they already love. When an app asks them to start over with unfamiliar food, they quit the app, not the dish.

What they need

  • Keep the dishes they already cook
  • Goals that can flex day to day
  • A clear reason for every change
  • Food that still tastes like the original

Market research

Nobody redesigns the dish you already love

We examined about a dozen popular food apps, then scored the five closest against what users told us they need, using one request: make my white sauce pasta healthier.

ToolWhat happens to your pastaUpload your
recipe
Explains
every swap
Set your
nutrition goals
Tastes like
the original
Healthier or
lighter by day
Hits your
goals
SwapHealthy
Swap guides
Lists healthier swaps for cream and butter. You rework the recipe yourself.○●○◐○○
MyFitnessPal
Tracker
Imports it and logs the calories. Leaves the fix to you.●○●—○○
FoodiePrep
AI meal planner
Imports it, then shrinks your portion to fit your daily target.●◐●●○●
NutriStyle
Clinical meal plans
Replaces it with a plan built from its own recipe database.○○●○○●
ChatGPT
General AI
Writes a “healthy alfredo” on request. Numbers are estimates.●●●◐●◐
TwinplateSame pasta, reworked to your targets, with a reason for every change.●●●●●●

● Yes◐ Partly○ No— Doesn't change the dishIllustrative example, based on each product’s public features.

Planners hit your goal by changing what you eat. Swap guides leave the work to you. General AI can rewrite the recipe, but can’t promise it still tastes like yours. Twinplate keeps the dish and still hits the goal.

Opportunities for the MVP

Four features, each closing a gap users and the market left open

Bring Your Own Dish

Users: healthy eating means starting over.Market: tools that import a recipe only log it or shrink the portion; planners replace it.

How might we make a dish healthier without replacing it?

Paste a recipe or a link. Twinplate converts it to grams and tags each ingredient by its job.

The Goal Dial

Users: goals change day to day.Market: trackers and planners hold one fixed daily target.

How might we let people choose how far to push a dish, day to day?

Nutrition targets plus a Preservation ↔ Optimization slider.

Why-This-Change Notes

Users: unexplained swaps feel like a gamble.Market: swap guides explain swaps in general, not against your own targets.

How might we make every change easy to trust?

A plain-language reason on every edit, tagged nutrition, flavor or structure.

Structure Check

Users: if it stops tasting like the dish, they stop cooking it.Market: swaps and AI rewrites change ingredients without checking what each one does.

How might we protect what makes the dish work?

Every ingredient's job stays filled; changes that strip a binder or fat are penalized.

Success metrics

What success had to look like

North star

Redesigns that hit nutrition targets and still feel like the same dish.

Guardrail

No ingredient role shifts more than 15% of the dish.

Guardrail

A full redesign in about two seconds.

Product walkthrough

The product, screen by screen

Each screen answers one pain point, shown with the real baked ziti redesign.

Bring Your Own Dish

Paste the recipe text, or drop in a link to a blog or a cooking video. Twinplate converts every quantity to grams and tags what each ingredient does.

Connects to pain point 01

The Goal Dial

Set nutrition targets per serving, then choose how far to push them, from keep the original to hit the targets.

Connects to pain point 02

Why-This-Change Notes

Every edit shows what it was, what it became, and a plain-language reason, tagged nutrition, flavor or structure.

Connects to pain point 03

Structure Check

A role-by-role check that every ingredient's job is still filled, so the dish still holds together before you cook it.

Connects to pain point 04

See it in action

Key decisions

The calls that shaped Twinplate

One decision at each step of the flow, from the recipe that goes in to the redesign that comes out.

01 · IngestionYour recipe
Inputs a comfort-food recipe they already know how to cook.
Normalizes units to grams, maps ingredients to a 1,842-item vocabulary and tags functional roles.

01

Fix the dish, not the diet

Bring your own dish · Pain point 01

We chose

To fix the dish you already cook.

Instead of

Building a meal planner or recipe recommender.

Why

Interviews showed the core pain is starting over with unfamiliar food, and the planner space is already crowded.

Trade-off

The output can only be as good as the recipe the user brings.

02 · CalibrationYour goal
Sets nutrition targets and tunes the optimization slider.
Maps the slider input through a sigmoid curve to set the loss-function ratio (nutrition vs. preservation).

02

Sliders over gram targets

The goal dial · Pain point 02

We chose

Dynamic sliders with smart presets.

Instead of

Typing exact gram targets or picking one fixed "healthy" mode.

Why

People rarely know their numbers, goals shift day to day, and 17 of 24 participants actively used the slider.

Trade-off

More controls on screen, plus a sigmoid curve to keep outputs from jumping at the extremes.

03 · OptimizationWhole-dish engine
Gets a fully redesigned recipe in ~1.7 seconds.
Runs a beam-greedy search over in-role swaps, amount tweaks and additions, scoring nutrition, flavor and structure.

03

Whole dish over single swaps

Structure check · Pain point 04

We chose

To redesign the whole dish through whole-dish optimization.

Instead of

Naive one-for-one ingredient swaps.

Why

Swaps strip structure: 31% role drift vs our 12%. Every ingredient is tagged by its job, so changes stay within the same role.

Trade-off

Latency rose from 0.4s to 1.7s per redesign, and the ML engine was much harder to build.

04 · ExplainabilityExplained redesign
Reviews the reason behind every change before approving the diff.
Translates the dominant loss-function term into a plain-language rationale for every edit.

04

Explained edits over a black box

Why-this-change notes · Pain point 03

We chose

Explainable step-by-step search, where nothing is applied silently.

Instead of

Letting a generative model rewrite the recipe in one shot.

Why

Every edit is readable and carries a reason tied to the score that drove it, so the cook stays in control and trusts the result.

Trade-off

We traded generative creativity for auditable, predictable changes.

What we said no to: meal planning (the space is crowded and it replaces the dish), cook-proposed swaps (kept the first release focused), and clinical diets (they need precision our flexible approach can't promise).

Validation

Three rounds of validation

We fixed the friction, benchmarked the model, then measured what people preferred.

A 6-person pilot revealed two points of friction that undermined user trust. I made two technical updates before running the main study.

The frictionThe optimization slider felt “jumpy,” with small adjustments at the extremes causing drastic ingredient swaps.THE GOAL DIAL
The fixApplied a sigmoid curve to act as a shock absorber, ensuring the recipe eases gently into modifications rather than making wild, unpredictable swaps at the extremes.
The frictionChanges were explained only at the dish level, so individual edits felt like a black box and users second-guessed the system's logic.WHY-THIS-CHANGE NOTES
The fixSurfaced the model's dominant loss term as a plain-language rationale next to every edit.

Learnings

What I'd carry forward

01Hitting the target isn't what people judge

Nutrition accuracy didn't significantly predict how people rated a redesign. Structure drove whether it seemed plausible, and flavor drove whether it still felt like the same dish.

02Upgrade a habit, don't ask for a new one

Interviews showed the real friction was abandoning familiar food. Reworking the recipe people already cook removed the biggest barrier: asking them to change what they eat.

03A forgiving UI needs strict guardrails underneath

People rarely know their nutrition numbers, so a slider beat gram targets. But raw slider input made the optimizer jump at the extremes, and a sigmoid curve smoothed it.

04The real test is your own dish, in your own kitchen

Participants rated a curated set of dishes, on paper. That kept the swap-versus-Twinplate comparison controlled, but it isn't how people would use Twinplate. Next, I'd run a blind cook-and-taste test on recipes people bring themselves, and check the flavor model on cuisines it under-rated, like South Asian dishes.