Product designDevelopmentiOS

bakebook

An app for bakers to develop their recipes, not just store them.

I designed, built and shipped it to the App Store, solo.

Role
Designer + developer
Timeline
Designed 2024Developed 2026
Research
3 studies17 participants
Constraint
Self-directed, unfunded
Status
Live on iOSAndroid planned
A recipe screen: Vegan Berry Cake, with a versions row listing two variations, and an ingredients table with cup and gram toggles.
The bakebook recipe library: a grid of the baker's own photographed bakes, several marked with a variation or bake count.
butter drafting a whole recipe in conversation, with a save card summarising its parts, ingredients and steps.

Bakers weren’t looking for another place to store recipes. They needed to remember what changed between bakes.

2024concept

Six weeksresearch through final UI

Recipe apps store recipes. Almost none help you develop one.

makebakelogtweakrepeat

Bakers change things across attempts: ingredients, method, timing. Those changes are the first thing to get lost. I designed bakebook around that loop.

The 2024 moodboard: vintage cookbook spines in gingham and checks, a 1920s Giggle Water cover, mid-century recipe pamphlets, and three well-used handwritten recipe binders, one with a pocket watch and reading glasses, one stuffed with loose cards, one with a birthday note taped inside.
the 2024 moodboard, where the palette came from
research
  1. 01Understand7 bakersJune 2024Questionnaire, hobby bakers to pastry chefs
  2. 02Prototype5 bakersJuly 2024Moderated usability test
  3. 03Live product5 bakersJul–Aug 2026One week in the live app

Study 01what the questionnaire decided

Asking
How do you save, change, scale, and come back to a recipe?

Cut

A social recipe feed.

  • public posting
  • comments
  • likes
  • saving other people’s recipes off a wall
3/10

interest ratingfrom the few who had any

I wrote it into the concept before I asked anyone. Seven answers ended it, and it was never built.

Kept

  1. Recipes lived on notepads and scraps, and got lost.

    “I generally write down recipes on notepads and scraps of paper because I know I’m going to make corrections. Then I tend to lose track of the recipe later.”

    Steve, 32home baker

    a searchable library

  2. They changed recipes mid-bake, then forgot what they’d changed.

    the Log Book

  3. Scaling and substituting created uncertainty they Googled their way out of.

    scalingunit flexibilityeventually butter

They weren’t trying to publish recipes. They were trying not to lose their own work.

Study 02what testing found

Tasks
Add a new recipe, revise it, then scale it.

Layer oneBuilt

Somewhere to keep a recipe

Structured storage: recipes, versions, variations, the Log Book.

What the test showedBakers built a recipe without help. Two asked for the Log Book without being prompted.

Layer twoDidn’t exist

Help changing a recipe

Nothing could read a whole recipe and answer what happens if I change this.

What the test showedAll five left the app to look up substitutions, then came back and typed the answer in by hand.

2024structure

I worked out what the app was made of before I designed a single screen.

A whiteboard covered in hand-written columns: ingredient, method, category, log book, added ingredients, recipes, recipe, new log, note. Each has its properties and the actions available to it, alongside small sketched interface fragments.
the object map, before any screen
ingredientmethodrecipecategorylog booknote

Empty screen to finished recipe, in four steps.

Voice was designed in, then scoped out for a later release.

Wireframe of the new-recipe screen: an image placeholder, recipe name and description fields each with a microphone, category selection, and an add-ingredients button.
new recipe
Wireframe: a searchable ingredient grid, the search field carrying a microphone icon.
ingredients
Wireframe: numbered method steps, each step with its own microphone icon.
method
Wireframe of a finished recipe: an ingredients table with cups/grams and 1x/2x/custom scaling, then the numbered method.
recipe
2026rebuild

Two years later

I came back able to build it.

About three weeks from restarting to the App Store.

Building it myself changed how I designed. I stopped asking what would be good to have and started asking what the data has to look like.

the apprebuilt from scratch, shipped on iOS
the data modelrewritten before any screen
butteran AI chatbot turned recipe development agent
the identitya full redesign

Study 03a week in the live app

butter worked. That was the problem.

butter rewriting a recipe's method: removed steps struck through in red, added steps marked in green, ending with a confirmation that the recipe was updated.
what none of them found

Three of the five asked butter for single swaps: I’m out of sour cream, can I use buttermilk? They got good answers every time. Two never opened it. Then one found out it could read her whole tiramisu recipe and tell her how to push it brighter. It had been able to do that all week.

Nobody had run into a limit. Every easy question got answered, and no one pushed for a harder one. That is mine to fix, not theirs. The redesign made butter’s range visible from the recipe screen.

2026identity

They were reading the app before they ever opened it.

“More like making a recipe vegan, or gluten-free.”a baker, asked what she thought butter was for

BeforeTerracotta and a friendly serif said grandma’s recipe book: cozy and homemade, not a lab.

ProblemThat identity made butter feel narrower and softer than the product actually was.

What it was

Fraunces + Nunitonine warm neutrals, a serif with history

DecisionA midpoint between precise and warm reads lukewarm, so each got a job: teal and mono hold the structure, cream and sans hold the soul.

the tablespoon lines on a stick of butter

The app icon on the App Store: a single cream lowercase b on a terracotta ground.The redrawn app icon: the teal measurement mark as a vertical rule, a charcoal b and a terracotta b, on cream.

the redraw ships in the next release, untested so far

structure
#007E9C
ink
#1E1714
accent
#A8432B
ground
#F6F4EE

Source Code Pro + Source Sans 3together they read as a lab book

Decisionsv1 → v2

01

Data model

A variation isn’t a different type of object. It’s a recipe with a parent.

Variation { … }

Recipe { parentId → Recipe }

Variations started as a separate object, then immediately needed everything recipes already had: scaling, notes, versions. Keeping two models meant building every feature twice.
Users see a file inside a folder. Underneath it’s the same object.

A storage decision, caught before any code
02

Assistant

butter needed memory before it could give better answers.

v12024 concept
The 2024 butter design: an empty conversation opening on a generic greeting, 'hi, baker! butter here, your friendly baking assistant, let's create something delicious together', above an empty message field.
Caught in design, before any code
v2shipped 2026
butter open on a recipe: a conversations control, a greeting reading 'ask me anything about Black Sesame Cake — substitutions, ratios, technique, or what went wrong', and an answer reasoning about the ratio of sesame paste to yogurt.

02why it changed

Bakers develop a recipe on and off over weeks. An assistant that forgets the thread is useless for iteration, so the conversation had to become a stored object. That is why the conversations tab exists: it came out of a storage decision, not a UI one.

butter now reads

  • the recipe
  • its versions
  • its variations
  • the conversation history

A thread can be picked back up three weeks later.

03

Navigation

Categories were a filter wearing a page's clothes.

2024concept2026shipped, July2026next release
The 2024 hi-fi design: recipes and categories sit side by side as two tabs. The categories tab is selected, with a search-my-categories field and rows for cakes, cookies, vegan, specialties, pies and family, each with a recipe count.
2024conceptA page, with its own tab
The July 2026 App Store build: the same two tabs, categories still selected, rebuilt as a grid of image-backed category cards with recipe counts.
2026shipped, JulyStill a page: rebuilt, not reconsidered
The current build: the categories tab is gone. A sort control reading 'by category' sits beside the search field, grouping the recipe list into rows headed Cakes, Cookies and Quick Breads.
2026next releaseA value in the sort control
A page, with its own tabStill a page: rebuilt, not reconsideredA value in the sort control

The only one I shipped before I cut it

03why it changed

I knew while I was rebuilding it that categories didn’t deserve a destination. I kept it anyway, because I wanted to watch it working before I took it out.

The home screen’s most valuable pixels should serve the highest-frequency action, browsing and opening recipes, not a filing system you touch occasionally.

1designer + developer
17bakers3 studies
2–7recipes created per participant during live-app testing
LiveiOS App Store

In the 2026 study, import-from-photos and quick scaling were both named unprompted as favorites. One baker called it something she was “very excited to use as I perfect my recipes for the farmers market.”

No usage metrics yet. The app is new, and I’d rather say that than dress it up.

The original concept stored recipes. The shipped product helps bakers develop them.

What it cost

I built capability I failed to make visible.

Capability that can’t be seen from the surface it lives on may as well not be built yet.

Built with

Design
Figma · Illustrator
Front end
HTML · CSS · JavaScript, no framework
App shell
Capacitor · Xcode
Backend
Firebase: Auth, Firestore, Cloud Storage, Cloud Functions, Hosting
butter
Claude Sonnet via the Anthropic API, proxied through a Cloud Function so the key never reaches the device
Development
Claude Code
Shipped via
TestFlight · App Store Connect