Rules
How the engine builds a meal plan and a workout, step by step. Each block runs in order and feeds the next.
Meal Planning Rules
Profile in → daily calorie target out → macros split → meal plan checked.
BMR — Basal Metabolic Rate calculation
Calories burned at complete rest in 24h. Katch-McArdle, driven by lean mass from body fat %. Same formula for all genders.
| Lean mass | weight(kg) × (1 − body fat % ÷ 100) |
| BMR | 370 + 21.6 × lean mass(kg) |
TDEE — Total Daily Energy Expenditure calculation
TDEE is how many calories someone burns in a real day: BMR plus a percentage for daily movement, digestion, and workouts (TDEE = BMR + BMR × %). We never ask for that % directly. The engine reads it from two onboarding answers: how active the client's day is, and how many days a week they train. The grid below is every combination.
| Daily lifestyle ↓ · Training days → | 3-4 / week | 5-6 / week |
|---|---|---|
| Sedentary (desk job) | +37.5% Light · 2475 kcal | +55% Moderate · 2790 kcal |
| Moderately active | +55% Moderate · 2790 kcal | +72.5% Active · 3105 kcal |
| Very active (on feet all day) | +72.5% Active · 3105 kcal | +90% Very active · 3420 kcal |
Example kcal at BMR 1800. Six onboarding combinations above map to four distinct activity multipliers (1.375 / 1.55 / 1.725 / 1.9).
Calorie deficit / surplus target calculation
Weight-change speed is a fixed % of bodyweight per week, the same rate for every client on a goal. It converts to calories per person: daily kcal = rate% × weight × 7700 ÷ 7, where 7700 is the calories stored in 1 kg of body mass and 7 is days in the week (so a weekly target becomes a daily one). A lighter client gets a smaller cut; a heavier one a bigger cut, for the same weekly progress.
| Goal | Default rate (% bodyweight / week) | Direction |
|---|---|---|
| Fat loss | 0.5% of bodyweight / wk | Deficit · same for every client |
| Muscle gain | 0.25% of bodyweight / wk | Surplus · muscle builds slower than fat is lost |
| General fitness | 0 (eat at TDEE) | Maintenance · eat at TDEE |
Recalculated weekly from the latest weight at check-in; targets shift after ~5% weight change or a 2–3 week stall.
Protein and fats calculation
Protein is set first on lean mass (protein(g) = g/kg × lean mass), then fat as a share of daily calories (fat(g) = daily kcal × fat% ÷ 9). Carbs take whatever calories remain (carbs(g) = remaining kcal ÷ 4).
| Goal | Protein (g/kg lean mass) | Fat (% of daily kcal) | Note |
|---|---|---|---|
| Fat loss | 2.6 g/kg | 25% | Protects muscle in a deficit (Helms range) |
| Muscle gain | 2.2 g/kg | 20% | Lower fat % frees carbs to fuel training |
| General fitness | 1.8 g/kg | 25% | Maintenance, less strict |
Rule of thumb: ~25–30 g protein per palm-sized portion of chicken, fish, paneer, or 1.5 scoops of whey.
Meal Plan Total Calorie Acceptable Variation
A finished daily plan passes if calories land within ±50 kcal of the target. This small band keeps the portioner from getting stuck on gram-perfect totals. Protein must meet or beat the target (no upper limit); falling short fails even when calories are exact.
Workout Planning Rules
Training days in → split and volume out → your signature rules applied.
Training days per week
The client picks how many days a week they will train. This one choice drives the split template (Step 2) and which TDEE activity column applies (Step 2 in Meal Planning: 3–4 vs 5–6 training days).
| Days / week | Onboarding | Split (Step 2) | TDEE column |
|---|---|---|---|
| 3 | Allowed | Full body × 3 | 3–4 days/week column |
| 4 | Allowed | Upper / Lower × 2 | 3–4 days/week column |
| 5 | Allowed | Push / Pull / Legs / Upper / Lower | 5–6 days/week column (+1 tier) |
| 6 | Allowed | Body-part split | 5–6 days/week column (+1 tier) |
Split by training days
The skeleton each profile gets for their chosen days/week. Beginners are capped at 3–4 days regardless of what they pick: 5–6 day splits need base experience and recovery capacity.
| Training days | Split template | Note |
|---|---|---|
| 3 days / week | Full body × 3 | Beginner-friendly |
| 4 days / week | Upper / Lower × 2 | Beginner cap (max 4 days) |
| 5 days / week | Push / Pull / Legs / Upper / Lower | Regular clients only |
| 6 days / week | Body-part split | Regular clients only |
Volume — exercises and sets
Volume is how much each muscle is worked per week. It is built from two inputs, then checked against a weekly target: exercises × sets per session × times trained that week.
Input 1 · Per session, by training experience
The client self-reports their level at onboarding (no test or coach review). That picks how much goes into each session.
| Onboarding answer | Number of exercises | Number of sets per exercise |
|---|---|---|
| Complete beginner | 3–4 | 2–3 |
| Some experience | 4–5 | 3 |
| Regular lifter | 5–6 | 3–4 |
Input 2 · Times trained per week, by split
The split from Step 2 decides how often each muscle comes up. A 3-day full body hits each muscle 3×; a 4-day upper/lower hits it 2×; a 6-day body-part split hits it 1–2×.
Target · Weekly sets per muscle
| Every muscle should land inside | 10–20 sets / week |
Example: a regular lifter on a 4-day upper/lower trains chest twice a week. 3 chest exercises × 3 sets × 2 days ≈ 18 sets, inside the target.
Mandatory inclusions
Signature rules that every weekly plan must satisfy. Confirm these match how you coach today.
| Rule | Every weekly plan includes |
|---|---|
| Forearm rule | Wrist Curl + Reverse Curl weekly |
| Weekly minimum | Abs + cardio every week |
Sets & reps prescription
Pulled straight from the exercise library's Gaining vs Cutting columns by goal.
| Goal | Rep range | Note |
|---|---|---|
| Muscle gain | Gaining (e.g. 8–12) | From exercise library Gaining column |
| Fat loss | Cutting (e.g. 12–16) | + more cardio |
| General fitness | Gaining or Cutting | Matches primary goal at onboarding |