Skip to content
alexmi256Public

About

Data-backed flan formulation model: USDA-sourced composition data, a setting-index model calibrated on 15 traditional recipes, and small-batch recipes across 20+ cultures

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Flan project

Research, formulation maths and small-batch recipes for a cross-cultural flan experiment. Every measurement is in grams.

Read in this order

File What it is
flan-research.md The 25+ traditions across Europe, Latin America and Asia, what anchors each one, the eight axes that actually differentiate them — plus the two quantitative answers: how much liquid one egg sets and how much sugar a flan carries.
flan-formulation.md The derivation. Ingredient composition table with USDA sources, the setting-index model, calibration against 15 published recipes, validation against the classic kitchen rules of thumb, the full egg-capacity and sugar tables, and an honest list of where the model breaks.
flan-recipes.md 20 recipes, one per tradition, capped at two eggs, each with a table of dairy-swap variants solved to hold the same set.
flan-3eggs-10cream.md 11 recipes re-solved for a fixed basis of three whole eggs + 10% cream, plus the firmness dial and the split-egg trade-off table.
flan-recipe-matrix.csv The 93 rows of flan-recipes.md, machine-readable, for filtering and pivoting.
flan-3eggs-10cream.csv The 11 rows of the three-egg set, machine-readable.
tools/ The five scripts that generated all of it. Change a number in flan_model.py and every table downstream recomputes.

The short version

  • One large egg sets about 120 g of milk into a normal flan, 70–85 g if you want it firm enough to slice cleanly, and ~200 g if you only want a barely-set custard.
  • Sugar: about 15% of the dairy weight in the custard, plus another 15–20% of the dairy weight in the caramel. Call it 30% of the liquid weight in total. If condensed milk is in the bowl, add no granulated sugar at all.
  • Cream does not set a flan. All four cream grades sit at the same setting index as milk (3.5%). Cream buys richness and mouthfeel. Only concentrated dairy — evaporated milk (8.1%), condensed milk (9.7%), cream cheese (10.9%), Greek yogurt (10.5%), milk powder (64%) — changes the set.
  • Condensed milk can only make firm flans. Its own setting index is 9.7%, so it cannot be diluted to a soft set no matter how much of it you use. That is a physical limit, and several rows in flan-recipes.md say so explicitly.
  • Discarding one white to use 1 whole egg + 1 yolk costs 29% of the setting power of 2 whole eggs and sets ~78% of the liquid. 2 yolks + one spare white is equivalent to 1 whole egg + 1 yolk.
  • On a basis of 3 whole eggs and 10% cream the richness is fixed at ~9% fat — 3 whole eggs are 9.1% fat and 10% cream is 10% fat, so the cream quantity controls only firmness. Swap the dairy, or the egg load, to change richness.

Regenerating

cd tools
python3 flan_model.py          # ingredient DB + calibration of the 15 sourced recipes
python3 flan_solve.py          # egg setting capacity + validation vs published rules
python3 flan_recipes.py        # rewrites ../flan-recipes.md and ../flan-recipe-matrix.csv
python3 flan_3egg_cream.py     # rewrites ../flan-3eggs-10cream.md and .csv
python3 dairy_table.py         # each ingredient's own setting index

License

MIT — see LICENSE.

About

Data-backed flan formulation model: USDA-sourced composition data, a setting-index model calibrated on 15 traditional recipes, and small-batch recipes across 20+ cultures

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages