The Recipe Book Is Live: A Cup Is Not a Unit
The Recipe Book is live.
It is a curated cookbook. There are no ads, no pop-ups, no cookie wall, and no account to create. You open a recipe and the recipe is there.
That last sentence should not be a feature. It is, though, so we will start somewhere more interesting: the numbers.
The problem with one cup of flour
Set a recipe to twelve servings and something has to happen to every amount on the page. Switch it to metric and something harder has to happen.
A cup of flour is 125 grams. A cup of honey is 340. A cup of butter is 227, and a cup of rolled oats is 90.
A cup, in other words, is not a unit of anything. It is a unit of volume being asked to describe mass, and the exchange rate depends entirely on what you have poured into it. Every converter that turns “1 cup” into a single number, regardless of the ingredient, is guessing. Most of them guess water.
So The Recipe Book carries a density table — grams per cup, hand-curated, one entry per ingredient family. It is the least clever part of the codebase and the part the rest of it depends on. There is no way to derive it. Somebody has to go and find out what a cup of honey weighs.
Refusing to answer
The more useful decision was what to do when the table has no entry.
The conversion engine can fail. When it is asked to cross from volume to mass for an ingredient it does not have a density for, it does not fall back to water, and it does not quietly pick something close. It returns an error that names the ingredient it could not convert, and the interface shows the original measure instead.
Some units refuse to convert at all. A clove is not a volume. A pinch is not a mass. A can is a can. There is no honest number to give you, so the app does not invent one.
The same instinct governs rounding. A converted amount is an approximation, and a screen that reads 40.86 g is claiming a precision that does not exist anywhere in the chain — not in the density table, not in the original recipe, and certainly not in your kitchen. Converted amounts get rounded by magnitude. The app would rather be usefully approximate than precisely wrong.
What that buys you
Once the numbers can be trusted, they can go everywhere.
Set the servings and every amount rescales — including the amounts written into the middle of the instructions, so a step that says to whisk the flour tells you how much flour it means, at the scale you are actually cooking at.
Add a few recipes to a shopping list and the same ingredient merges across all of them, where the units allow it. Where they do not, the list says so rather than adding two cloves of garlic to a tablespoon of it and reporting a total.
Set your allergens once and the recipes that contain them stop appearing.
Why we built it this way
There is a version of this product that is much easier to build. It converts everything, it always returns a number, and it is wrong perhaps a tenth of the time — quietly, in the middle of a recipe, in a way you only discover when the bread does not rise.
Software that will not admit uncertainty is not confident. It is just unfalsifiable. The interesting engineering here was almost entirely in deciding what the app is not allowed to claim, and every AveFrame product ends up with a version of that same decision somewhere in it.
Cooking is a good place to learn the lesson, because the feedback is immediate and it comes out of the oven.
The Recipe Book is here. It is free, and there is nothing to sign up for.
— The AveFrame Team