Product & apps
Why AI recipe apps don't work
Apps that generate recipes with AI at runtime cannot be tested, so nobody knows what you'll get until you're cooking it. The argument, the failure modes, and the case for a meal planner where every recipe was checked by a person first.
Disclosure first: we make What's For Dinner?! (WFD), a meal-decision app with no AI anywhere in the dinner loop. So we have a position, and this post argues it. We are naming no competitors here, because the problem is not any one app. It is a design choice a whole wave of apps has made, and the argument against it holds whoever ships it.
The design choice is this: when you ask for a recipe, a language model writes one, right then, just for you.
Your Dinner Doesn't Exist
A recipe generated on-the-fly, when you ask, is a recipe that did not exist a second earlier. Nobody cooked it. Nobody tasted it. Nobody checked that the salt in the ingredients list is the same salt the steps use three times, or that the "per serving" number was actually divided by the servings. The developer never saw it either. It was produced for you, once, and if you don't cook it tonight it will never exist again.
A recipe is a tested procedure. Someone made the dish, fixed the seasoning, weighed what was left, and wrote down what worked. Generation produces text shaped like the output of that process without the process ever happening. Most of the time the text is plausible. Plausible is the problem, because you find out where it breaks with the hob on and people hungry.
You cannot test what hasn't been generated yet
Here is the technical core, and it does not require trusting our opinion of anyone's model.
AI generation at runtime is non-deterministic. Ask the same question twice and you can get two different answers. Some percentage of those answers contain errors, and no one can tell you in advance whether yours is one of them. That is not a bug a diligent developer patches next sprint. It is a property of the approach.
It follows that the product cannot be meaningfully tested. A fixed catalogue of two hundred recipes can be cooked, checked line by line, and fixed where it's wrong; once it passes, it stays passed. A generator has no catalogue to check. Its possible outputs are effectively infinite, so the developer can only sample them, and sampling tells you about the samples. The output that matters, the one produced for you on a Tuesday from your fridge contents and your dietary filters, has never been seen by anyone. Quality control has been moved out of the company and into your kitchen. The QA department is you, unpaid, at 7pm.
When we checked one AI recipe generator's published output in detail last year, this is what we found: protein and fat figures identical to one decimal place, a per-serving field carrying the whole recipe's calories, salt listed once and used in three steps with no split, and photos of dishes that had never existed. None of it was one bad writer's carelessness. It was what generation at scale looks like when someone finally reads the output slowly.
The errors all flow downhill into the shopping list
The failure modes are not exotic. They are the same few, over and over: an ingredient that appears in the steps but not the list. A quantity that never got scaled when the servings changed. A step that assumes something was prepped that no step prepped. Units that flip midway. Nutrition invented to two confident decimal places.
Each of these looks small on the screen. Then it compounds, because a meal planner is a pipeline. The recipe writes the ingredient list, the list writes the shopping list, and the shopping list writes what is actually in your kitchen come dinner. An error at the top surfaces at the worst possible point: the missing ingredient is discovered mid-recipe, the doubled quantity is discovered at the till, the wrong step is discovered with raw chicken in the pan. The app that made the error is not there when it lands. You are.
And this wrecks the one thing these apps are sold on: time. If the output can't be trusted, the only safe way to use it is to verify every recipe yourself, cross-checking steps against ingredients and sanity-checking the numbers, which takes longer than planning dinner the old way. A meal planner you have to proof-read is a longer way of doing it yourself. Worse, trust doesn't fail gradually. One shop that comes home wrong, one dinner that collapses at step four, and you check everything forever after. At that point the app is costing you time, which for a tool whose entire purpose was saving it means, in the plainest sense, that it does not work.
The boring fix: decide everything before it ships
The alternative is not better AI. It is no AI at the moment it counts.
Make the catalogue finite. Have a person cook-check every recipe before it ships: ingredients, measurements, units, steps, and the shopping list lines they generate. Then freeze it. Now the recipe you open on Tuesday is the same recipe, with the same numbers, it was last month and will be next year. Errors are still possible, humans make them, but they are findable, fixable, and once fixed they stay fixed for everyone. A generator's error is a fresh roll of the dice on every request. A catalogue's error dies the day someone catches it.
Deterministic is a cold word for a warm thing: it means the app cannot surprise you at 7pm.
Where WFD stands
This is how WFD is built, end to end. Every meal is a real dish a human has checked before it shipped. The household swipes, a mutual match decides dinner, matches build the weekly plan, and the plan builds one shared shopping list, and every link in that chain is fixed data, not a model's guess. Change the week and the list recalculates from checked quantities, the same way every time. Even our calorie and nutrition figures are calculated, not generated: derived from each recipe's ingredients using published food-composition data (McCance and Widdowson's The Composition of Foods and USDA FoodData Central), accurate to roughly the tolerance food packaging is allowed, and identical on every open. Meals we can't estimate confidently show no figure at all. Contains public sector information licensed under the Open Government Licence v3.0.
The trade-off is real and we have never hidden it: a checked catalogue is a smaller catalogue. WFD will not improvise a recipe from three things in your fridge, and it will not write you a tamarind surprise on demand. What it will do is get a household from "what do you want?" to a correct shopping list and a cooked dinner, every time, wherever you are, without you auditing a single line. In our opinion that makes it the most reliable, most dependable, most genuinely time-saving way to run the weekly food routine that we know of. Not because our AI is better than theirs. Because at dinner time there isn't one.
If you take nothing else from this, take the question. Ask it of any meal app, ours included: was this recipe checked by a person before it reached me, and will it be identical tomorrow? If the answer is no, you are the test plan. And if an app with AI at runtime genuinely solves this, verifiably, we will say so here. Tell us. Until then, here is how WFD's matching works.