How your recommendations work
No black box. Every meal we suggest is chosen by a transparent, priority-weighted nutrition engine built entirely on public dietary-reference data — NIH, the National Academies, the USDA–HHS Dietary Guidelines, and the FDA. Here is the whole method, end to end.
A full day, three sizes
Each day the engine plans four meals — breakfast, lunch, snack, dinner — and offers ten options for every meal in three calorie tiers. On mobile the app pre-selects the tier that fits your day's activity; on the web you pick. Everyone gets a balanced plan — your health data only personalizes it.
Built on public science
Targets and limits are real numbers from public references, in the same units the recipe nutrition data uses — so the engine compares like with like, never a guess:
Daily nutrient targets are the sex- and age-specific RDA/AI values from the Dietary Reference Intakes. The calorie budget uses the IOM Estimated Energy Requirement equation (age, height, weight, activity), falling back to a reference value when height/weight aren't set. Protein is 0.8 g per kg of body weight. "Eat-less-of" caps — saturated fat and added sugars (≤10% of energy), sodium, cholesterol — come from the Dietary Guidelines and FDA Daily Values, and intakes are bounded by the Tolerable Upper Intake Levels.
A priority-weighted nutrition score
A few rules are absolute — your diet, allergies, intolerances, cultural/religious rules, anything you've thumbs-downed, and the meal's calorie band. Everything that survives is given a single, transparent score by how well it fills your day's still-open nutrient gaps, weighted by priority: safety caps and protein carry the most weight, then your measured markers, then the rest of your micronutrients, then taste. Higher-priority goals dominate the score — but it's a balance across all of them, not a hard veto. The shortlist is then re-ranked for variety.
How a meal is chosen: eligible recipes first pass hard filters (diet, allergies, intolerances, cultural rules, dislikes, and the calorie band); each survivor is given a single priority-weighted score — safety caps and protein carry the most weight, then your blood markers, then remaining micronutrients, then taste, variety and effort; the shortlist is re-ranked for variety (different protein sources, rotating away from the last 14 days) into your ten options.
flowchart TD A([Eligible recipes]):::edge --> F["Hard filters
· diet
· allergies
· intolerances
· cultural / religious
· dislikes
· calorie band"]:::filter F --> S["Priority-weighted score
· safety caps + protein — most weight
· your blood markers
· remaining micronutrients
· taste · variety · effort — least"]:::score S --> R{{"Diversity re-rank
· vary protein source
· rotate away from the last 14 days"}}:::rerank R --> O([Your 10 options]):::edge classDef filter fill:#FFFCF3,stroke:#1F1A14,stroke-width:1.5px,color:#1F1A14; classDef score fill:#EFE6CF,stroke:#1F1A14,stroke-width:1.5px,color:#1F1A14; classDef rerank fill:#FFFCF3,stroke:#1F1A14,stroke-width:1.5px,color:#1F1A14; classDef edge fill:#1F1A14,stroke:#1F1A14,color:#FFFCF3;
Hard filters first, then a single priority-weighted score (safety + protein highest, then markers, micronutrients, and taste), then a diversity re-rank into your 10 options.
Hard filters run first; the rest is one weighted score, then a variety pass — no opaque "relevance" number.
Two rarer allergens — lupin and sulphites — aren't yet detectable in our recipe data, so they're recorded on your profile and shared with your chef, but not part of this hard filter.
Filling the gaps, then breaking the monotony
Within a meal, each recipe is scored by how much of the day's still-open need it fills — a nutrient you've already met earns nothing, which spreads nutrition across the day instead of piling it onto one number. Each nutrient's per-serving credit is capped, so a single dish that maxes one easily-met nutrient (marine omega-3 has a tiny daily target) can't out-score a dish that fills many goals a little.
The top candidates are then diversity re-ranked (maximal marginal relevance) so your ten options vary by main ingredient and protein source — not just cuisine — and anything you've eaten in the last 14 days is rotated to the back.
Optional, never required
Without any of the below you still get a balanced reference-value day. Each signal you add sharpens the plan:
Blood markers
An out-of-range marker promotes its nutrient up the priority stack — e.g. low ferritin raises the weight on iron; a glycemic marker adds a sugar cap.
Activity
On mobile, your day's activity selects the calorie tier the app shows first.
Height & weight
Feed the IOM energy equation and the per-kilogram protein target for a budget that's actually yours.
Thumbs & saves
/ saved recipes get a gentle boost; recipes are excluded, and a cuisine you keep disliking is eased back.
Every pick says why
Each recommendation carries a plain-language reason using the FDA's %DV framing (capped at 100%), so you can see the nutritional case at a glance — no opaque "relevance score":
As a rule of thumb, the FDA calls 5% of the Daily Value "low" and 20% or more "high" for a given nutrient.
These recommendations are general wellness information built on public dietary reference values. They are not medical or dietetic advice and are not a substitute for a qualified professional. If you have a medical condition or specific clinical needs, talk to your doctor or a registered dietitian before changing your diet.