Every dish on this site carries a small nutrition panel: calories, protein, fat, carbs, sometimes iron or zinc. People ask me more often than I expected where those numbers actually come from. Here’s the honest answer: the method, the sources, and where the method runs out.
The calculation itself
Every number starts from the recipe’s own ingredient list, in the quantities given. Value per 100g, multiplied by the amount used, divided by the number of servings. Nothing is estimated by eye, and nothing is guessed by a language model reading the recipe. The sum runs through a script I keep and can re-run, so if a reference value turns out to be wrong, I fix it once and every dish that used it recalculates. I don’t have to hunt through 250 pages by hand.
The reference values themselves, how much protein or iron sits in 100g of raw lamb shoulder or dried white beans, come from standard food-composition tables of the USDA SR Legacy / CIQUAL type. These are stable numbers for unprocessed ingredients. They don’t drift year to year the way a rough guess on a recipe blog might.
One limitation I won’t hide: I can’t reach the USDA FoodData Central API directly from where these calculations run, so my reference table lives locally, entered by hand instead of pulled live. That means I had to audit it, ingredient by ingredient, before publishing at scale, and I still audit it, because one wrong number in that table would quietly spread across every dish that shares the ingredient.
What actually gets published, and what doesn’t:
- Calories, protein, fat (and saturated fat), carbohydrates, fiber, on every dish.
- Sodium, when it’s structural to the dish (a cured meat, a heavily salted sauce) rather than incidental.
- Iron or zinc, when the amount is genuinely notable, not as a routine line item.
- Detailed vitamins, left out on purpose. Cooking method and prep swing vitamin content too much for me to put a number behind it.
Rounding is deliberate too. Calories round to the nearest 5, everything else to the nearest gram, no decimals. A decimal would claim a precision this method doesn’t have, and I’d rather round honestly than look falsely exact.
The line about cost
Below the nutrition panel, most dishes carry a second, smaller fact: what a healthy diet costs, per person per day, in the dish’s country of origin. That line went through more changes than the nutrition panel ever did.
The first version tried to price the dish itself, ingredient by ingredient, against a cost-of-living dataset from Numbeo. Two things killed it before it ever reached the site. Numbeo’s free tier explicitly excludes commercial, ad-monetized use, and the paid plan runs $260 to $560 a month, a strange price to pay for one line of context on a recipe page. The free alternative I tried next turned out to be worse than it looked: it quietly re-aggregated its numbers from an unrelated third-party site while marketing itself as World Bank-sourced, and it didn’t cover every country I needed.
What replaced both is a single, heavily sourced number: the cost of a nutritionally adequate diet, per person per day, in the dish’s country, from the World Bank and FAO’s Food Prices for Nutrition database. It’s CC-BY licensed, its methodology is published, and it’s the same dataset newsrooms like the BBC and the New York Times cite when they write about food affordability. On the Rogan Josh page, that line reads $4.07 a day for India, 2024 purchasing-power-parity dollars. It’s not claiming to price this specific curry. It’s telling you what eating well costs in the country it comes from, so you can judge for yourself whether lamb shoulder, ghee, and a long spice list are everyday cooking or an occasion.
I standardized on one specific version of that dataset, the CSV published via Our World in Data, version 4.0, dated 30 July 2025, after a live API pull gave me a different number for North Macedonia than the CSV did, same country, same year. Nothing sinister, probably just an unversioned revision somewhere upstream. But it told me to pick one dated, citable source and stay on it, instead of mixing two feeds that don’t agree with each other.
What I won’t write, whatever the ingredient
No dish description on this site tells you a food is good for your heart, helps with anemia, or should be avoided at night. That’s medical advice dressed up as a food fact, and I’m not qualified to give it. Nobody writing a cuisine site is, credentials or not. So instead of “good for your heart,” a page states the saturated fat per serving. Instead of “helps with anemia,” it states the iron, and what share of the reference intake that represents. You draw the conclusion. I supply the number.
Every dish page ends with the same disclaimer, because it’s true on all of them: these are estimates from standard composition tables, they’ll shift with the exact cut or trim you use, and they’re for information, not a diet plan.
None of this makes the numbers perfect. It makes them checkable, which matters more on a site that lives or dies by whether you trust what’s on the page.