6. Meal schedule¶
The day is three main meals and two snacks, on a clock. Not "eat when hungry", and not six small meals — five occasions, at times that line up with when the body handles food best.
This step moves portions between slots. It never changes how many there are.
The shape of the day¶
| Slot | Window | Weight | Rule |
|---|---|---|---|
| On waking | — | — | Water only. No food for 90–120 minutes |
| Breakfast | 08:00–10:00 | Light to medium | ~25% |
| Snack 1 | between | Small | ~10% |
| Lunch | 12:00–14:30 | Heaviest | ~35% |
| Snack 2 | between | Small | ~10% |
| Dinner | 18:00–20:00 | Light | ~20% |
Percentages are of the day's energy and are approximate — they are a shape to aim at, not a constraint to hit. The rules below are the constraints.
Waking¶
No food for 90–120 minutes after waking. Water on an empty stomach immediately — see Hydration. Coffee after the first meal, not before it.
For a 06:30 riser this puts breakfast at 08:00–08:30, which is why the breakfast window opens where it does. For someone waking at 05:00 the window opens at 06:30–07:00 and the whole day shifts earlier; see below.
Gaps¶
3 to 5 hours between main meals. A snack sits in a gap; it does not create a new one. Under 3 hours the previous meal is still being handled; over 5 and the client arrives at the next meal hungry enough that pace and portion both go.
Where sys_digestive_nausea is "Yes", keep to the short end — 3 to 3½.
Dinner¶
Two rules, both hard.
- Finished by 20:00. 20:30 at the absolute latest. Nothing after.
- No starch. Protein, vegetables and fat only.
The no-starch dinner is the most visible thing about this menu and the thing clients ask about most. It is worth being able to state the reason: carbohydrate tolerance falls through the evening, and an evening starch load sits against a long overnight fast doing nothing useful. Vegetables and protein at that hour digest better and sleep better.
Fruit is not a dinner food either — it is carbohydrate. Fruit portions go in the snacks or at breakfast.
Late-night eating
Nothing after dinner. Where a client's nut_last_meal shows 22:00 or later,
this is the largest change the menu makes to their day, and it needs to be
in Notes for you as a change rather than buried as a time in a table.
Distributing the portions¶
Work in this order — each constraint is tighter than the one after it.
1. Dinner first, because it is the most constrained¶
Zero starch, zero fruit, and still 30–40 g of protein. That is 4–5 protein portions plus vegetables and fat, and there is no other way to build it. Assign dinner before anything else and the rest of the day has room; assign it last and the protein portions are already spent.
2. Lunch, because it is the largest¶
Roughly a third of the day. Half the plate vegetables (3 portions), a quarter protein, a quarter starch — see step 7. This is where the biggest starch allocation goes.
3. Breakfast, against the protein floor¶
30–40 g of protein. This is where the requirement bites: a breakfast of bread and coffee reaches about 8 g. Reaching 30 needs eggs, dairy, cottage cheese, Greek yoghurt or legumes, and often two of them.
Breakfast is light to medium in energy but not light in protein. Those are not in conflict — protein is the cheapest macro per calorie in this system.
4. Snacks, with whatever is left¶
10–15 g of protein each. Typically a fruit portion plus a protein or fat
portion; a dairy portion works well in one of them. Snack 2 sits between lunch
and dinner, which is the afternoon slump — see
life_energy_crash.
5. Check¶
- Portions per group sum exactly to the daily counts from step 5
- Dinner has zero starch, zero fruit
- Each main meal is 30–40 g protein
- Lunch is the largest slot by energy
- Dinner is smaller than lunch
- No gap under 3 h or over 5 h
Worked example¶
Continuing: 7 starch · 12 protein · 6 fat · 7 vegetable · 2 fruit · 2 dairy. Client wakes 06:30, works a seated job, trains three evenings a week.
| Slot | Time | Starch | Protein | Fat | Veg | Fruit | Dairy | Protein g | kcal |
|---|---|---|---|---|---|---|---|---|---|
| Breakfast | 08:00–08:30 | 2 | 2 | 1 | 1 | — | 1 | 30 | 400 |
| Snack 1 | 11:00 | — | 2 | 1 | — | 1 | — | 14 | 175 |
| Lunch | 13:00–13:30 | 4 | 3 | 2 | 3 | — | — | 39 | 590 |
| Snack 2 | 16:30 | 1 | 1 | — | — | 1 | 1 | 18 | 275 |
| Dinner | 19:00–19:30 | 0 | 4 | 2 | 3 | — | — | 34 | 305 |
| Total | 7 | 12 | 6 | 7 | 2 | 2 | 135 | 1745 |
Every column sums to its daily count. Main meals at 30, 39 and 34 g of protein. Lunch is the largest slot at 34% of the day, dinner the smallest main at 17%. Gaps: 4½ h and 5½ h between mains — the second is at the limit, which is what the 16:30 snack is for.
When the day doesn't fit¶
Shift work¶
life_shift_work = "Yes". The clock times are not usable; the structure
is. Anchor everything to waking rather than to the hour:
| Waking + 0 | Water |
| Waking + 1½–2 h | Meal 1 |
| Then | 3–5 h gaps, five occasions |
| Last meal | ≥ 3 h before sleep, no starch |
Read life_shift_pattern and write the menu against the client's actual
rotation. If the pattern rotates, give the shape and say it applies to each
rotation.
Early or late risers¶
Shift the whole day. A 05:00 riser eats at 06:30, 09:30, 12:00, 15:30, 18:00 — same gaps, same rules. A 10:00 riser eats at 11:30, 14:00, 16:30, and dinner still ends by 20:00, which compresses their afternoon. Say so.
Training in the evening¶
Common, and it collides with two things at once.
The dinner rule. Put snack 2 before the session, with its starch
portion, and keep dinner after it as specified — light, no starch.
nut_around_training says what the client already does.
The 3–5 h gap. It cannot hold. A client waking at 06:30 eats first at 08:15; a dinner late enough to follow an evening session puts lunch and dinner more than five hours apart no matter where lunch sits, because the day is simply longer than three gaps of five hours. This is the one documented exception: on a training day the lunch-to-dinner gap may reach 6 hours, and snack 2 is what covers it. Place that snack in the second half of the gap, and give it protein and fat rather than fruit alone.
Where the client does not train, the ordinary 3–5 h rule applies and the menu should show the earlier dinner.
Fewer than five occasions¶
nut_meals_per_day of 2, a client who cannot eat at work, an intermittent
fasting pattern in nut_pattern. Consolidate the snacks into the mains rather
than dropping their portions — but keep 30–40 g of protein per meal, which is
harder with three occasions than five, and say what was consolidated.
Do not consolidate into fewer than three occasions. Below that the per-meal protein cannot be met.
Previous: 5. Portion exchanges · Next: 7. Plate & combinations