Why We Don’t Suggest Substitutions — and What We Do Instead

Every cooking app we’ve audited offers ingredient substitutions. “Don’t have buttermilk? Use milk plus a tablespoon of vinegar.” “Out of sour cream? Try Greek yogurt.” The feature feels obviously useful. Users love it in surveys.
We don’t ship it. Here’s the reasoning.
The honest cost of a substitution suggestion
Substitution suggestions sound helpful. In practice, they shift the responsibility for the dish’s outcome from the recipe author to the app, and the app has no information to make the call.
A few examples from real apps’ substitution databases:
- “Heavy cream → half-and-half + butter.” Technically the same fat content. Behaves completely differently in a reduction. Your sauce won’t emulsify.
- “Buttermilk → milk + vinegar.” Works for pancakes. Doesn’t work for buttermilk biscuits or buttermilk fried chicken brine, where the acidity needs time to act.
- “Cilantro → parsley.” Cilantro is citrus and soap and bright; parsley is grass and water. They are not the same plant in a different shirt.
The substitution database doesn’t know which case you’re in. It hands you the substitution like a candy. You try the recipe. The dish is fine but a little off. You blame yourself. You don’t blame the app.
What we do instead
We took the opposite approach: tell the user honestly which ingredients they don’t have, never lie about whether a recipe will work without them.
A CookSnap result has three sections:
- What you have. The matched canonical ingredients that the recipe needs.
- What’s missing.Listed plainly. No substitution. No “you could try.” Just the list.
- How critical the missing items are. Three tiers: optional garnish, important flavor, structural to the dish.
That third tier is the one that matters. “Missing parsley garnish” and “missing chicken broth” are wildly different recipes. The user gets enough information to decide whether to cook it tonight, cook a different recipe, or add one thing to the grocery list.
The design principle: respect the recipe author
Every recipe in the CookSnap library was made by a person who decided exactly what went into the dish. When an app silently suggests swapping that person’s ingredient choices, it doesn’t just risk a worse dinner — it disrespects the work of the person who tested the recipe.
Apps in our category routinely strip recipes of attribution and source. Combined with substitution suggestions, the result is a kind of generic culinary slop — technically a recipe, emotionally a Mad Libs version of one. We don’t want to ship that. So we don’t.
Where substitution suggestions actually work
To be fair: substitution is a real and useful skill. The difference is whether you’re showing a substitution at the point of cooking, or teaching substitution as a general skill.
General substitution knowledge — “here’s how to think about replacing dairy in baking” — is a legitimate piece of cookbook content. We may eventually publish a substitution guide on this blog. What we won’t do is bolt the substitution suggestion into the recipe results, where it short-circuits the user’s own judgment.
The data backs this up
In an A/B test we ran last quarter on the iOS app, recipes delivered with substitution suggestions had 22% higher “saved for later” rates and 31% lower “cooked and rated” rates. The substitution made the recipe easier to imagine cooking and harder to actually cook well. Users were bookmarking aspirations and then not following through.
Recipes without substitutions had lower save rates and higher cook-through rates. The honest framing produces a worse-looking funnel and a better-tasting kitchen.
One concession
We do allow users to mark their own substitutions in the iOS app for future matches. If you swap olive oil for butter every time, that’s a personal preference and we’ll honor it for your library. We just don’t suggest it to you. Self-substitution is fine. Algorithmic substitution is what we’re opposed to.
The whole product is built around the same principle: tell the user the truth, let them make the call. If you want to try a recipe finder that doesn’t silently rewrite the dish, the web tool is here.