Get the app
Iterative by design

An AI meal planner you can answer back.

The short answer

Is there an AI meal planner that never tells you to eat less?

Just Add plans a meal around food you already have and then lets you keep working on it: swap any part for free, say what you want in your own words, or go back to a version you preferred. It only ever adds — asking it to make a meal smaller is refused — and every version is checked from scratch before you see it.

Why most AI meal planners are a one-shot answer

You ask, it produces a week of dinners, and the only thing you can do about the one you dislike is throw the whole thing away and ask again. The output is a document; you are a reader of it.

A plate here is a sequence of decisions. It starts as a suggestion with real alternatives already inside it, and it stays editable: swap a part, say what you want, take it back. The first answer is a starting point, not a verdict, and none of that requires you to re-describe your dinner from the beginning.

It also plans around the food that already exists — the leftovers, the thing you already cooked, the half a jar of pesto — rather than handing you a shopping list for a week you have not had yet.

Three ways to change a plate, and only one is a prompt

  • Pick — and it costs nothing

    Every answer arrives with genuinely different options already in it, written and checked together. Choosing among them is instant: no wait, no spinner, no second request. Most of the fiddling people do with a meal plan should never cost a thing, and here it doesn't.

  • Refine — for what the buttons can’t say

    “Something crunchy on top.” “I’ve run out of feta.” “I want to use the oven, not the hob.” The plate is rebuilt around it rather than patched, and the answer that comes back is a whole new answer that has been through every check the first one did.

  • Go back — and keep everything

    Versions are named by what changed — “with couscous”, “with something crunchy”, “the first one” — not by a timestamp and not by a count of how many times you changed your mind. Returning to one is a move, not a rollback, so the newer versions stay reachable.

  • Ask for less — and it says no

    Warmly, every time, and it offers to make the meal more filling instead. This is the one instruction the app structurally cannot carry out, and it is refused as a category rather than quietly obeyed.

Try it — ask it for something

Your plate, right now

Pesto pastaA fried eggSpinach

Ask for a change

Ask for one of those and the plate answers here.

Versionsthe first one

Including the one that gets refused. That refusal is the product, said out loud in the moment somebody tests it.

Every version is checked from scratch

The temptation with iteration is to check only what changed. It is cheaper, it is faster, and it is exactly wrong.

Models under pressure to improve an answer restate their constraints almost perfectly and then break them anyway — published measurements put the rate anywhere between 8% and 99% depending on the model. Long back-and-forths make it worse: accuracy drops by more than thirty per cent when the important instruction drifts into the middle of the input, and assistants tend to agree with whatever was said most recently.

Our constraints are somebody’s allergies and the rule that we never suggest less. So every turn is a whole new answer and gets the whole check — allergens, banned language, health claims, anything that quantifies what you ate. A version that fails is regenerated once and then declined, leaving the plate you already had untouched. A failed refinement must never destroy a good dinner.

How fast is it, really?

Picking a different option is instant — there is no request at all. A rebuild or a refinement takes about a second for a dish it has seen before, and a few seconds for one it has not.

Part of that wait is not negotiable. Before anything about food is generated, what you typed is screened in case you are having a hard time — on the first message and on every refinement after it. That check costs most of a second and it is not a target to beat. So it is narrated rather than hidden behind a spinner: you can see what is happening while it happens.

Questions about planning, and changing your mind

What an AI meal planner should be able to do, and the one thing this one refuses.

Just Add is one. It has no calories, macros, servings, points or scores anywhere in it, and there is nothing to log. You say what you are eating or what you have in, and it returns a named plate with one or two things that make it more filling — then you keep working on that plate until it is the dinner you actually want.

Yes, in three ways. Picking a different option is free and instant, because the options were generated and checked together. Saying something in your own words rebuilds the plate around it. And going back to an earlier version is always available and never destroys the newer ones.

It remembers the recent turns verbatim and carries everything settled — your food, your picks, your constraints — as state rather than as a growing transcript. That is deliberate: model accuracy drops by more than thirty per cent when the important information ends up buried in the middle of a long input, and a rule about an allergy is exactly the kind of thing that gets lost there.

Identically, and this is the load-bearing rule of the whole feature. Every turn is a new answer that gets the full check — never a diff, never “it already passed”. Published measurements of models under iterative pressure to improve an answer show them restating a constraint accurately and then violating it anyway at rates ranging from 8% to 99%, so nothing is ever waved through because an earlier version was fine.

Two things. Requests to remove or reduce are refused as a category, and the meal is measured across turns rather than only inside one. Our own evaluation caught exactly this failure on its first run: “nothing complicated” and “just the easy version” — both perfectly innocent instructions — each produced a plate with less on it, and both were refused rather than shown. Every one of those turns would have passed a per-answer check.

The recipe. Every plate comes with a method written as one action per step, with the amounts inline in the step that uses them rather than in a list you have to hold in your head. There is a cook mode that keeps the screen awake, reads steps out and runs a timer per step — and because a timer stores the moment it ends rather than counting down, putting your phone down mid-recipe cannot make it drift.

Yes. Add the people you feed to a table and every plate is built around all of their allergies and diets at once, with the same refinement working on top. A refined plate for a table is checked against the table as it stands at that moment, not as it was when the plate was first made.

Dinner, sorted in about a second

Out now on iPhone, and free forever for a real daily allowance of meals, every way in and every situation — nobody is ever locked out of working out what to have tonight.