Nutrition
Your daily calories and macros are computed from your own measurements, and the week is planned meal by meal, gram by gram.

Your Nutrition Plan · 1/8
The nutrition module’s entry screen. Tapping the nutrition card on the Dashboard brings you here; back returns you to the Dashboard.
You see at a glance how much you have eaten today and move from the cards below to the daily plan, the weekly plan, your shopping list or your preferences.
- Today — the day’s meal list and check-offs
- Weekly Plan — a summary of seven days
- My Shopping List — the weekly basket
- Preferences — settings for the next plan cycle
- Back — Dashboard
What is on this screen 4
Say you open the app on a Wednesday afternoon. The top of the card reads "1,543 / 2,266 kcal" and "68% daily progress".
The left number is the total of the meals you ticked today, the right one today’s target; the percentage is their ratio.
The target comes out of your own measurements: your weight, height, age and activity level set your basal metabolism, an activity factor is applied on top, then a delta for your goal. That is why the target is not the same for everyone and changes when your profile does.
If the percentage lags, spread the remaining calories across the rest of the day; if it is running high, keep the evening light.
The system calls this the "daily calorie target".
Under the calorie line sit Protein 124/180 g, Carbohydrate 133/238 g, Fat 53/66 g.
Today’s target and your intake so far are shown separately for each of the three macronutrients.
Eating the same calories with three different macro splits does not give the same result: on a fat-loss goal protein limits muscle loss, fat has a lower bound, and carbohydrate is computed from what remains. A single "calories" number would hide that difference.
If you are behind on protein, make a protein-heavy choice at dinner; if calories are full while protein is short, the problem is the split, not the calories.
The system calls these the "macro targets".
Just below the calorie card there is a green-framed box: "Your nutrition coach — 723 kcal left to your target".
This box carries the verdict the server made at that moment; the screen does not compose the sentence itself.
The sentence’s state and the remaining calories come from the server. If no answer arrives the field stays empty and the box is not drawn at all — the phone saying "you are doing well" on its own would be a comment with no data behind it.
If the box is missing, the coach has gone quiet — it does not mean bad news.
The system calls this fail-closed behaviour.
Scrolling down you see four cards: Today, Weekly Plan, My Shopping List, Preferences.
Every sub-screen of nutrition is entered from these four cards.
The cards are drawn conditionally: the shopping-list and preferences cards appear only if their entry points are wired. Drawing an unwired card would create a button that does nothing when tapped.
If the screen you are looking for is not in this list, there is no entry to it from this hub.
The system calls this the "navigation panel".
Behind the scenes — how the system decides 9
The calorie base: which formula runs (Cunningham ⟷ Mifflin-St Jeor)
Say you are a 32-year-old man, 178 cm, 82 kg, and you have not had a body analysis yet.
The engine computes your basal metabolism with the Mifflin-St Jeor equation: 10 × weight + 6.25 × height − 5 × age + 5.
There are two formulas and the choice turns on one question: is your lean body mass known. If it is, the Cunningham equation runs (500 + 22 × lean mass), because muscle burns more energy than fat and knowing lean mass narrows the estimate. If not, Mifflin-St Jeor is used from weight, height and age. For women the final term is −161 rather than +5.
Once you do a body analysis and give the system your lean mass, your calorie target rests on a more personal base.
The system calls this the "BMR estimate".
The activity factor: how basal metabolism becomes daily expenditure
Say your job is moderately active, you walk 6–10 thousand steps a day and you train four days a week.
Your basal metabolism is multiplied by a factor: moderately active work gives a base of 1.35, the 6–10 thousand step band adds 0.05, and each weekly session adds 0.025 — 1.50 in total.
Basal metabolism is what you would burn without moving at all; living the day sits on top of it. The factor is clamped between 1.0 and 2.0, because left unbounded someone declaring "20 thousand steps a day plus 7 training days" would arrive at an unrealistic target.
Declare your step band and weekly training days honestly — these two fields directly enlarge or shrink your target.
The system calls this "total daily energy expenditure" (TDEE).
The goal delta and the calorie floor (−15% on fat loss)
Say your daily expenditure was computed at 2,666 kcal and your goal is fat loss.
15% is subtracted from your expenditure — 2,666 × 0.85 = 2,266 kcal — and the result is checked against a floor.
The delta is a percentage of expenditure, not a fixed number of calories: cutting 500 kcal is measured for someone burning 3,000 and dangerous for someone burning 1,600. Muscle gain applies +10%, strength and endurance +5%, recomposition −5%. The result cannot go below 1,500 kcal for men and 1,200 for women; that floor rests on the ACSM 2021 position stand, below which meeting micronutrient needs becomes difficult.
When you change your goal your calorie target is recomputed the same day; if the floor kicked in, losing faster means moving more rather than cutting calories.
The system calls this the "goal delta plus calorie floor".
The macro split: protein first, fat second, carbohydrate from what remains
Say your daily target is 2,266 kcal and you weigh 82 kg; the screen reads 180 g protein, 66 g fat, 238 g carbohydrate.
Protein is set first per kilogram (2.2 g/kg on fat loss → 180 g), then fat (0.8 g/kg → 66 g), and the remaining calories go to carbohydrate: (2266 − 180×4 − 66×9) ÷ 4 = 238 g.
The order is not arbitrary. In a deficit protein limits muscle loss, so it is the first macro protected; fat has hormonal functions, so it is never taken below 30 grams a day; carbohydrate is the most flexible, so it carries the remainder. The protein ceiling is 300 g and the carbohydrate floor 50 g. These thresholds come from the ISSN 2017 position stand and are written in the code with their citation.
As your weight changes your protein and fat grams change and carbohydrate is recomputed from the remainder — you do not need to track all three separately.
The system calls this the "macro policy".
Which weight the protein calculation uses in obesity
Say your body mass index is above 30 and multiplying by your raw weight would have pushed your protein target past 250 grams.
In that case the engine uses a calculation weight: ideal weight plus a quarter of the excess, instead of your raw weight.
Fat tissue creates no protein requirement; multiplying by raw weight overstates the need, and the unnecessary protein eats the calories left for carbohydrate. The source is again ISSN 2017 together with Choban & Dickerson.
At a high body weight your protein target will not look proportional to your raw weight — that is a measured correction, not an error.
The system calls this the "adjusted body weight".
How training load changes nutrition — the daily recalculation
Say Tuesday is a training day and Wednesday a rest day. Your daily calorie target is 2,266 kcal on both.
The calorie total stays the same on both days; what changes is the gram split between carbohydrate and protein. On a training day carbohydrate rises with intensity — +20% at high, +15% at moderate, +10% at low — and falls 10% on a rest day.
Carbohydrate is training fuel; raising it on the day you need it and lowering it on the day you do not preserves performance within the same weekly calories. For those training five or more days a week, protein rises a further 0.1 gram per kilogram. A training day also enlarges the snack’s share by 0.10 while a rest day shrinks it by 0.02 — because an extra fuelling window opens around training.
When you change your training plan, your nutrition plan redistributes across the week too; you do not have to tune the two modules separately.
The system calls this "carb cycling".
How the meal plan is built — from the day’s calories down to a meal
Say your daily target is 2,266 kcal and you eat four meals; the breakfast card reads "30% · ~680 kcal".
The daily calories are first split into meal shares (breakfast 0.30, lunch 0.35, dinner 0.30, the remainder to the snack), then foods that hit each meal’s calorie target are selected from the catalogue.
The selection is scored rather than random: candidate foods are ranked by how close they come to that meal’s calorie and macro target, repetition of the same food within the week is limited, and the winner is decided deterministically. Determinism means the same profile produces the same plan — if the plan changed on every open, neither a shopping list nor weekly tracking would be possible.
The foods in your plan come out of your target and the catalogue’s macros; swapping an item you dislike for its alternative does not disturb the day.
The system calls this the "week plan builder".
Allergen and restriction filtering: which foods never enter the pool
Say you declared a gluten intolerance and see no wheat products in your plan.
Your declaration is converted into an allergen tag and every food carrying that tag is removed from the pool before the plan is built.
The filtering runs BEFORE the plan builder, not after. Filtered afterwards, the builder would compose a meal with that food, the item would then be removed and the meal would fall below its calorie target. Foods you dislike work differently: individually chosen foods are removed entirely, while disliked tags are not removed but merely down-scored — because deleting a whole tag could starve the pool.
If you definitely do not want a food, select it individually; saying "I do not like this style" pushes it back rather than removing it.
The system calls this the "food constraints filter".
How the target corrects itself over time
Say you have followed your plan for three weeks but the scale has not moved.
The engine re-measures your target: with good adherence it cuts your calorie target by 3%; with poor adherence it leaves the target alone.
The engine separates a stall into two causes — metabolic adaptation or not following the plan — and their remedies are opposite. Cutting calories without measuring adherence would needlessly lower the target of someone who simply is not following the plan, widening the deficit. If loss exceeds 1% of body weight a week, the target is raised 5% instead. Total drift from the starting target is capped at 15%.
When the scale stalls, first get your meal ticks in order — the engine’s ability to decide correctly depends on them.
The system calls this "dynamic TDEE adaptation".
What your data is for 6
Weight, height and age
If you provide it Your basal metabolism is computed from your own measurements; your calorie target and all three macro grams rest on it.
If you skip it The engine does not stop but falls back to defaults: weight 70, age 25, height 175 for men and 162 for women. A plan is still produced, but produced for someone else’s measurements — an 82 kg person gets a 70 kg person’s target.
Lean body mass (from your body analysis)
If you provide it Basal metabolism is computed with the Cunningham equation and your muscle mass’s contribution to energy burn enters the calculation.
If you skip it The Mifflin-St Jeor branch runs. That is not a wrong calculation but a coarser one: of two people at the same weight, the muscular one and the fatter one get the same estimate.
Occupational activity and daily step band
If you provide it Your activity factor is built from your actual day; a desk-bound day and a day on your feet produce different targets.
If you skip it The factor falls to its unknown branch with a base of 1.25. For someone on their feet all day that keeps the target too low; for someone seated all day, too high.
Your allergen and dietary restriction declaration
If you provide it Foods carrying that tag are removed from the pool before the plan is built; they never appear in your plan.
If you skip it The pool stays complete and the plan selects from the whole catalogue. The system cannot know an allergen you did not declare; every item you see on screen was chosen on the assumption that you have no restriction.
Meal ticks ("Done" / "Skipped" on the Today screen)
If you provide it Your intake total grows, the percentage on the hub advances and the coach sentence states your remaining calories correctly. Your adherence measure also comes from this record.
If you skip it Plans keep being produced and the screens keep working — but consumed calories stay at 0 and daily progress shows 0%. More importantly the long-term correction does not run: when the scale stalls the engine cannot say "adherence is good, cut calories" because it has no record to measure adherence with, and it leaves the target alone.
Your weekly training day count and intensity
If you provide it 0.025 is added to your activity factor per session, and the carbohydrate on training and rest days diverges.
If you skip it No training contribution enters the factor and every day gets the same carbohydrate split — training days end up underfuelled and rest days overfuelled.