Ironman Training Diary - August 24, 2026: Daily Carb Targets

← Click here to read this diary from the beginning

It has for some time now been abundantly clear my diet isn’t going to sustain the increasing workout load, and with each passing week this is going to become a significant liability. Over the past 18 months or so I’ve cleaned up my eating habits in a pretty dramatic fashion, having completely shunned fast food (only twice since January 1, 2025), wine (haven’t had a glass since April, 2025), and largely staying away from junk food. Rather, my problem is I simply don’t eat enough to sustain the current level of activity, and certainly don’t eat a suitable amount of protein, carbs, etc per day.

So last week I spent some time researching meals that are well-suited to people involved in high volume cross-training activities. The candidate foods aren’t much of a surprise: chicken, eggs, cottage cheese, brown rice, tuna, etc. Over the weekend I updated my spreadsheet to list the macros for each food, and then committed to figuring out how to eat enough of these foods to dramatically improve my macros.

For today my pre-planned breakfast, lunch, and late afternoon “snack” currently look like this:

TimeFoodQtyProteinCarbsFatFiberCalories
10:00 AMegg whites0.7519.900099
10:00 AMbaby spring salad mix1.000111020
10:00 AMcottage cheese0.5014.042090
10:00 AMstrawberries0.500.64.90.31.527
10:00 AMraspberries0.500.67.30.4432
10:00 AMblack coffee1.0000000
1:00 PMbrown rice0.7512.01024.53480
1:00 PMtuna1.0048.001.50210
4:00 PMwhey protein1.0024.051.50130
4:00 PMwhite milk1.008.01250120
Pre-dinner total12713616~191,208

Tonight we’re having leftover pasta and meatballs which should further boost my carb intake. This is good because I can see today’s carb intake is lower than it should be. I didn’t know to what extent so I asked Apollo to review this meal plan and provide advice:

🤖 Apollo (AI) analysis

Recommendation: 275–350 g of carbohydrate per day at your current training volume, periodized — roughly 250–300 g on easy/short days and 350–400 g on long-session days (the Saturday ride, the Sunday long run). Confidence: moderate-high on the range, with the honest caveat that carb targets are load-dependent, so this number grows as your weekly hours do; by the spring build phases it will be 400 g+.

The reasoning: sports-nutrition guidance for endurance athletes scales carbs to body mass and training hours. At ~85 kg training roughly one easy hour a day, the textbook band is 3–5 g/kg — 255–425 g. You have a second objective pulling the other way: 187 → 168 lb, which requires a chronic deficit of 300–500 kcal/day. The deficit should come out of the top of the carb range and from fat, never out of protein — hence landing you at 3–4 g/kg rather than 5+. The periodization matters more than the exact daily number: carbs concentrated on and around the days that use them buy you quality training and better recovery per calorie than a flat allocation.

Measured against that, today’s prefill through 4 PM is genuinely well-constructed with one exception:

  • Protein: 127 g before dinner. Dinner will push you past 150. The biggest gap in the program, closed. This is the plan’s best feature.
  • Carbs: 136 g banked, nearly all from the brown rice. Dinner needs to contribute 100–150 g — rice/potatoes/pasta portion plus whatever your wife makes — to land the day in the 250–300 easy-day band.
  • Fat: 16 g is the flag. Chronic intake below ~0.8 g/kg (about 65–70 g for you) suppresses hormone production, and this template is at a quarter of that before dinner. Don’t fear it — olive oil on the salad, whole eggs mixed into the whites, or simply a fattier dinner protein closes it at near-zero logging cost. This matters more than fine-tuning carbs.
  • Calories: dinner at 800–1,000 kcal puts the day at ~2,000–2,200 against your ~2,450 estimated burn — a 300–450 deficit, which is the correct rate (~0.5–0.75 lb/week) for losing weight without eating your training. Well-designed.

The fat intake warning really threw me for a loop, so I asked Apollo to give me a few examples of otherwise healthy foods with a higher fat content. It responded with these options:

🤖 Apollo (AI) analysis

Your last weigh-in has you at 84.4 kg (186 lbs), which is what I’ll use for targets. One caveat up front: your context was cleared, so I don’t have the original food log or the number I flagged in front of me — I’m answering on your statement that intake was extremely low. If you re-share the log, I can tell you exactly how far below target you are.

For an endurance athlete in a 70.3 build, the evidence-based floor is ~0.8–1.0 g/kg/day, with a practical training range of 1.0–1.5 g/kg/day. For you:

  • Absolute floor: ~67 g/day (below this, chronically, you risk suppressed sex hormone production, poor fat-soluble vitamin absorption [A, D, E, K], and degraded cell membrane repair)
  • Target range: 85–125 g/day (roughly 25–35% of calories at a training intake of ~2,800–3,200 kcal)

“Extremely low” typically means someone eating 30–50 g/day, so you’re likely looking for +40–70 g/day. Confidence in these ranges: high — this is standard sports nutrition consensus (Burke, Jeukendrup, ACSM/AND position stands).

The foods, ranked by usefulness to you

Tier 1 — dense, easy, no prep. These close the gap fastest:

FoodServingFatNotes
Extra virgin olive oil1 tbsp14 gThe single easiest lever. Two tbsp/day over vegetables, eggs, or grains = +28 g. Buy real EVOO, use it cold or low-heat.
Mixed nuts (almonds, walnuts, cashews)30 g handful15–18 gWalnuts specifically for ALA omega-3. Two handfuls/day is trivially easy.
Peanut/almond butter2 tbsp16 gOn toast, in oatmeal, with a banana pre-run (see timing caveat below).
Avocado1 whole21–29 gMostly monounsaturated. Also potassium (~975 mg), which you’re losing in sweat.

Tier 2 — omega-3 carriers. Non-negotiable for an endurance athlete:

FoodServingFatNotes
Salmon150 g fillet15–20 g~2–3 g EPA/DHA. Aim for 2–3 servings/week minimum.
Sardines (canned in olive oil)1 tin15–20 gCheapest EPA/DHA per euro/dollar, plus calcium from the bones. Zero prep.
Mackerel150 g20–25 gHighest omega-3 density of the common fish.
Chia or ground flax seed2 tbsp7–9 gStir into overnight oats or yogurt. ALA, not EPA/DHA — a complement to fish, not a substitute. Confidence that ALA conversion covers you alone: low. Eat the fish.

Why this tier matters specifically for you: EPA/DHA have moderate-quality evidence for reduced exercise-induced inflammation and possibly reduced DOMS. At your training volume, this is the fat sub-category with the most direct performance relevance.

Tier 3 — whole-food staples that raise the baseline:

  • Whole eggs — 2 eggs = 10 g fat, plus choline. If you’ve been eating egg whites, stop; the yolk is the point.
  • Full-fat Greek yogurt — swap 0% for 5%: +10 g fat per 200 g serving, same protein. This is a stealth fix if you eat yogurt daily.
  • Full-fat cheese — 30 g hard cheese = 9–10 g. Saturated, but in whole-dairy-matrix form the lipid evidence is far more benign than the 1990s guidance implied. Confidence: moderate.
  • Dark chocolate (≥70%) — 30 g = 12 g fat. Stearic acid-dominant, largely cholesterol-neutral.
  • Whole milk in coffee/recovery shakes instead of skim: +8 g per 250 ml.

What a +60 g day actually looks like

  • Breakfast: oatmeal + 2 tbsp peanut butter + 1 tbsp chia (+20 g)
  • Lunch: whatever you already eat + 1 tbsp olive oil + ½ avocado (+25 g)
  • Snack: 30 g walnuts (+18 g)
  • Dinner 3×/week: swap the protein for salmon/sardines/mackerel

That’s ~63 g added with zero cooking-skill demands.

Two constraints that matter for your training

  1. Timing. Fat delays gastric emptying. Keep the 2–3 hours before a hard run or long ride relatively low-fat — the peanut-butter-banana is fine before an easy run, not before intervals. Load your fat at dinner and on the far side of workouts.
  2. Don’t displace carbohydrate. The failure mode when athletes “fix” low fat is unintentionally cutting carbs and going into sessions glycogen-poor. These additions should be additive calories (or displace lean-protein excess), not swapped in for rice, oats, and bread. If your fat was extremely low, your total energy intake was probably also low — worth auditing, because chronic low energy availability (RED-S) is a real risk in a 70.3 build and its early symptoms (declining HRV, rising RHR, flat sleep scores) are things your Garmin data would actually show. If you want, I can pull your RHR and sleep trends to check for that signature.

Recap: target 85–125 g fat/day at 84 kg; close the gap with olive oil, nuts, nut butter, and avocado as the everyday levers; make fatty fish (salmon/sardines/mackerel) a 2–3×/week fixture for EPA/DHA; switch to full-fat dairy and whole eggs; keep fat away from the pre-workout window and don’t let it cannibalize carbs. Re-share the food log and I’ll compute your actual deficit instead of estimating it.

I had forgot I cleared the AI context (off-topic but this is occasionally done to optimize token usage), and so reshared today’s food log. Apollo responded with some additional specifics:

🤖 Apollo (AI) analysis

Today’s totals (through 4:00 PM)

MacroTotalAssessment
Fat25.5 g0.30 g/kg — well below the 0.8 g/kg floor (~67 g)
Protein139.1 g1.65 g/kg already, before dinner
Carbs180.2 g~2.1 g/kg — low for a training day
Calories~1,498Low for an 84 kg athlete by mid-afternoon

Fat is 15% of calories so far. Even if dinner adds 15–20 g, you’ll land around 40–45 g — still 25+ g short of the floor and 40–80 g short of the training range. And note where today’s fat actually came from: a Clif bar and milk account for 14.25 g of the 25.5 g. Your whole foods contributed almost nothing.

The real diagnosis: your macros are inverted

This log has a recognizable signature — it’s a physique-cut template, not an endurance template. Every protein source is the deliberately fat-stripped variant: egg whites, low-fat cottage cheese (2 g fat per half serving says 1–2%), water-packed tuna, whey. Meanwhile protein is on pace for ~170 g by day’s end (2.0+ g/kg), which is beyond where additional intake does anything for you. You are overspending on protein and starving fat. The fix isn’t adding food volume — it’s swapping protein sources for their intact versions, which raises fat and calories while protein stays flat or drops slightly. That matters because your total energy also looks low, and chronically pairing low energy with 70.3 training volume is how you end up with suppressed HRV, stalled adaptation, and RED-S symptoms.

Also, your milk math says it’s 2% (5 g fat/serving), not whole, despite “white milk.” Minor, but switch it.

Line-by-line swaps on this exact log

You loggedSwap toFat change
0.75 egg whites (0 g fat)2 whole eggs + whites to taste+10 g, plus choline and vitamin D you’re currently discarding
Low-fat cottage cheese4% full-fat+4 g, same protein
Water-packed tuna ×2 cansKeep one can; make the second sardines or mackerel in olive oil 3×/week+12–15 g, and it’s the only swap that gets you EPA/DHA — currently you have essentially zero omega-3 in this day
Brown rice, drySame rice + 1 tbsp EVOO stirred in+14 g
Salad, naked½ avocado or EVOO + vinegar+10–14 g
2% milkWhole milk+3 g
Whey shake at 4 PMKeep it, or blend with 1 tbsp peanut butter+8 g

Take even five of those seven and you add ~50 g fat (+450 kcal) while protein barely moves — landing you at ~75–80 g before dinner, inside range. None of it requires eating “more meals.”

One thing to preserve: the 10 AM–4 PM eating window is fat-light before what I assume are afternoon/evening sessions, and low fat pre-workout is correct. So bias the additions toward whichever meals sit after training — if you run in the evening, load the olive oil and avocado at lunch and dinner rather than the pre-run snack.

Recap: measured intake is 25.5 g fat (0.30 g/kg, 15% of calories) by 4 PM against a floor of 67 g — the flag was accurate. Cause: systematically fat-stripped protein sources while protein overshoots at 2.0+ g/kg. Fix by swapping to whole eggs, full-fat dairy, oily fish, and adding EVOO/avocado to meals you already eat — roughly +50 g fat and +450 kcal with no change in food volume. Send tomorrow’s log after a day of swaps and I’ll verify you’re in range.

This sort of input is so incredibly useful to me, and so I’ll start incorporating it into my diet moving forward. Excited to see where all of this leads!

Read the next diary entry →