Curvamino

Build d3325f0 · published 2026-09-18

Every point on a Curvamino curve should be checkable.

This page is where you check how Curvamino is built: which food rows it reads, which requirement tables it quotes and where they were later corrected, how a plate becomes a score, what it does about digestibility, and what it cannot tell you. If something here is wrong, write to hello@grove-lab.org.

Sources and licences

#

The food rows are USDA FoodData Central, SR Legacy 2018-04: the last release of the Standard Reference database, frozen since. USDA publishes it in the public domain (CC0 1.0) and asks to be cited as: U.S. Department of Agriculture, Agricultural Research Service. FoodData Central. fdc.nal.usda.gov.

Curvamino reads one pinned copy of that release, verified by checksum before every build, so a rebuild from the same file gives the same bytes. The build on this page is d3325f0; it changes only when the data does.

The requirements, the digestibility factors and the cited proportions are figures quoted from the publications below. They are quoted as printed, each with the table it comes from, and none is ours:

  • WHO/FAO/UNU (2007). Protein and amino acid requirements in human nutrition. WHO Technical Report Series 935.
  • FAO (2013). Dietary protein quality evaluation in human nutrition. FAO Food and Nutrition Paper 92.
  • FAO/WHO (1991). Protein quality evaluation. FAO Food and Nutrition Paper 51.
  • FAO (1992). Maize in human nutrition. FAO Food and Nutrition Series 25.
  • Bressani, R. and Valiente, A. T. (1962). All-vegetable protein mixtures for human feeding. Journal of Food Science 27(4): 401–406. doi:10.1111/j.1365-2621.1962.tb00115.x.

The requirements, and their errata

#

“Complete” is always complete for someone. Curvamino carries 7 published scoring patterns: the amount of each essential amino acid, in milligrams per gram of protein, that a given group needs. Methionine is pooled with cysteine and phenylalanine with tyrosine, as every one of these tables pools them, which leaves nine lanes.

  • Adult: WHO/FAO/UNU (2007). Protein and amino acid requirements in human nutrition. WHO Technical Report Series 935. Table 23 (p. 150) and Table 36 (p. 180), adults.
  • Child, 3–10 years: WHO/FAO/UNU (2007). Protein and amino acid requirements in human nutrition. WHO Technical Report Series 935. Table 36 (p. 180), 3–10 years.
  • Child, 1–2 years: WHO/FAO/UNU (2007). Protein and amino acid requirements in human nutrition. WHO Technical Report Series 935. Table 36 (p. 180), 1–2 years.
  • Infant, 6 months: WHO/FAO/UNU (2007). Protein and amino acid requirements in human nutrition. WHO Technical Report Series 935. Table 36 (p. 180), 0.5 years.
  • Older child, adolescent, adult: FAO (2013). Dietary protein quality evaluation in human nutrition. FAO Food and Nutrition Paper 92. Table 5 (p. 29), older child, adolescent, adult.
  • Child, 6 months–3 years: FAO (2013). Dietary protein quality evaluation in human nutrition. FAO Food and Nutrition Paper 92. Table 5 (p. 29), child 6 months to 3 years.
  • Preschool child, 2–5 years: FAO/WHO (1991). Protein quality evaluation. FAO Food and Nutrition Paper 51. Table 7 (p. 23), preschool child 2–5 years, from FAO/WHO/UNU 1985; histidine 19 is interpolated there.

A later report reprints some of these values with their calculation corrected. Curvamino quotes each table as printed and shows the correction beside the row it affects, rather than choosing silently:

  • Child, 3–10 years: isoleucine 31 → 30 mg/g; methionine + cysteine 24 → 23 mg/g (FAO 2013, Table 3, footnote).
  • Child, 1–2 years: methionine + cysteine 26 → 25 mg/g; tryptophan 7.4 → 7 mg/g; valine 42 → 41 mg/g (FAO 2013, Table 3, footnote).
  • Infant, 6 months: methionine + cysteine 28 → 27 mg/g (FAO 2013, Table 3, footnote).

From a plate to a score

#

A food’s height in a lane is its amino acid per gram of protein, divided by the requirement for that lane. At 100 % the food meets the requirement in that lane, gram of protein for gram of protein.

A plate pools its foods by the protein each one really brings: grams on the plate times the food’s protein content. The plate’s line is therefore the protein-weighted mean of its foods’ lines, and always lies between them.

The score is the lowest lane. Nothing else enters it: no weighting of lanes, no bonus for a surplus elsewhere.

That is not a scoring convention. A protein is assembled from all nine at once, in the proportions it calls for, and the body keeps no store of spare amino acids to draw on: synthesis runs only as far as the scarcest one allows, and what cannot be used is oxidised. The lane that runs out first is the limiting amino acid. A mean across the nine would report a surplus in one lane as making good a shortage in another, which it cannot do — so the instrument reports the minimum, and rings it on the chart.

For two foods the score can be drawn at every proportion. Pooling is linear in the share of protein each food brings, so the curve is the lower edge of nine straight lines. Its corners, its best mix and the range of mixes that meet the requirement are computed exactly, not sampled.

The arithmetic is checked against a published worked example (FAO/WHO 1991, Table 10, wheat, chickpea and milk powder mixture). From the same USDA rows Curvamino reproduces its lysine score of 0.86 and, by that report’s own method, its corrected score of 0.73. By the per-food method described in the next section, the same mixture gives 0.74.

Digestibility, and its limit

#

Not all protein eaten is absorbed. When the correction is switched on, each food’s amino acids are multiplied by one published factor, the true faecal digestibility of its protein, before the plate is pooled. The factors are quoted from FAO/WHO 1991, Table 8 (p. 32), digestibility of proteins in man; reprinted as WHO TRS 935 (2007), Table 5.

A factor is published for 73 of the 197 foods. The others stay uncorrected, and their row says so; Curvamino does not borrow a neighbour’s factor.

This is the interim rule FAO 2013 recommends. The goal it names is a separate digestibility for each amino acid, measured at the end of the small intestine, but it also finds that no agreed dataset of those values exists yet. FAO’s own 2012 collation calls itself interim, rests mostly on pig and rat values, and carries no licence of its own, so Curvamino does not use it.

Weighting each food before pooling differs slightly from the shortcut in FAO/WHO 1991, which multiplies the pooled score by the mixture’s average digestibility. The per-food rule keeps a plate the weighted mean of its foods, which the two-food curve depends on.

The foods, and their portions

#

The set is 197 recognisable foods as eaten: cooked where a food is eaten cooked. Each has one ordinary portion. For 183 of them the portion is one of the row’s own household measures; for 14 USDA lists none, so the portion is set by hand and the row says so.

USDA measured the amino acids of 80 of these foods directly. For the rest the values were calculated from another form of the food, imputed from a similar one, computed from a recipe, supplied by a manufacturer, or carry no stated derivation. Each row on a plate says which, and links to its page on FoodData Central.

Most foods appear several times in the release. The instrument shows how far a food’s rows disagree, as the range of scores they give alone against the adult requirement.

Rows we did not use

#

2 rows disagree with their siblings so far that Curvamino leaves them out. Every tool built on this release inherits them silently; here they are shown.

“Bread, whole-wheat, commercially prepared, toasted”: lysine at 11.3 mg per gram of protein, against 29.1 across its 2 sibling rows. On its own it takes the Peanut butter sandwich from 66% to 45%. FDC 172689

“Mollusks, oyster, eastern, wild, raw”: threonine at 4 mg per gram of protein, against 43 across its 8 sibling rows. FDC 171978

Dishes and their proportions

#

The 18 dishes are traditional pairs of a staple and a protein food. For 1 of them the proportion is published: FAO 1992 gives it in its chapter “Improvement of maize diets”, after Bressani and Elías (1974), by dry weight. For every other dish the portions are ordinary servings we chose, and the instrument says so on the plate.

Where a publication reports another proportion of the same two foods, it rides the curve as an open point with its source: the household intakes that same report records, and the mix rats grew best on in Bressani and Valiente 1962. Those points are theirs, not ours.

Other published proportions exist, among them human studies of rice with chickpeas and of lentils with rice, and national guidelines for cereal to pulse. What we could read of them states no basis for the ratio, so they are not on a curve.

How to cite

#

Cite Curvamino with its build and publication date; together they pin exactly the data you saw:

Grove Lab. Curvamino, build d3325f0, published 2026-09-18. https://grove-lab.org/en/curvamino (accessed 2026-09-19).

Curvamino re-draws published figures, so a claim about a food or a requirement should cite where it comes from: USDA FoodData Central for the food rows, and the report a requirement is quoted from. Both are listed under Sources and licences.

For a specific view, link the view itself: explore links (/curvamino/explore?…) carry the requirement, the plate and its portions, so the link you share opens where you were.

Limits

#

Curvamino answers one narrow question, and its limits are the limits of that question and of its sources:

  • It reads the pattern of a plate’s protein, not its amount. A plate can clear every lane and still hold too little protein, or too little food.
  • It draws amino acids only. Minerals, vitamins, energy and everything else a meal is for are outside it.
  • The requirements describe healthy groups, not a person. They are not dietary advice, and least of all for an infant.
  • The food rows are SR Legacy 2018-04, a release USDA no longer updates. Foods, cultivars and recipes move on; the rows do not.
  • Only 80 of the 197 rows are measured. A calculated or imputed value can be far from the food on your plate, and one row of a food can disagree with the next.
  • The digestibility correction is one factor per food, measured on whole protein, and published for 73 of 197 foods. It is the accepted interim rule, not the last word.
  • Apart from the cited dish, portions are assumptions. The two-food curve exists to show what happens to the score when they change.
  • Both charts stop at 200% of the requirement. A lane above that sits on the top edge; its number is printed under it.
  • Build d3325f0 was published on 2026-09-18. A later build may differ in any figure on this page.

Curvamino is published by Grove Lab; who we are, and why it is built this way, is on the lab page.