Ironman Training Diary - May 26, 2026 Run

← Click here to read this diary from the beginning

I’ve been pretty laid up over the past few days due to an ongoing sinus issue. Felt okay today and so went out on an easy 5K run. I’ve also officially stopped the “Garmin Half Marathon Training Plan” because it was more clear by the day how useless it is compared to Apollo in terms of customizing the run based on the ongoing analysis. This week I’ll work with Apollo to construct a running plan that is completely tailored to me, glorious me.

Apollo Analysis of May 26 Run

Y O U R   R U N

Dublin Running

Tuesday, May 26 · 5:34 PM

PACE (min/mi)
/mi · bpm
T O T A L   T I M E
M I L E S
A V G  H R
‌⚡
P A C E
H E A R T   R A T E   Z O N E S

🤖 Apollo (AI) analysis

MetricValue
Distance3.11 mi
Duration40:31
Avg pace13:00/mi
Avg HR148
Max HR162
Cadence154 spm
Training load389
Days since last run5

Framing. This is the first run after a five-day break — the last run was the May 21 stride-repeat session, and the intervening days included the holiday weekend. The run was intended as an easy 5K to re-enter training.

What the data shows

The observable facts, without inference attached:

May 14May 18May 19May 20May 21*May 26
Distance (mi)2.272.632.312.162.423.11
Duration30:0030:0030:0030:0029:1940:31
Avg pace13:1211:2312:5913:5412:0713:00
Avg HR149163154144162148
Max HR165175169153179162
Z2 %3%3%11%9%1%9%
Z3 %43%11%29%89%17%58%
Z4 %45%85%58%0%75%30%
May 21 was an interval session; Z4 there is by design.

This run is longer than anything else in the table by about ten minutes and a mile. Pace landed at 13:00/mi — closer to the May 19 easy run (12:59) than to the cleanly executed May 20 Z2 run (13:54). Z4 time was 30% of the run: not the 85% from May 18, not the 0% from May 20, somewhere in between.

The per-mile breakdown:

LapDistancePaceAvg HRMax HR
11.00 mi12:53134151
21.00 mi13:09151160
31.00 mi13:08157162
40.11 mi13:51157159

Mile 1 had the lowest avg HR (134) — consistent with a normal warmup phase, not terrain. From mile 2 onward, pace stabilized around 13:08–13:09 and HR drifted upward at constant pace: 151 → 157, with max HR climbing 151 → 160 → 162 across miles 1–3.

The first-five-vs-last-five HR comparison:

WindowAvg HR
First 5 min114
Last 5 min157
Drift+43 bpm

For reference, May 20’s same comparison was +22 bpm at a slower pace (13:54/mi). Today drifted twice as much over the longer run at a faster pace.

What the data does not show

The same caveats from the May 20 entry apply, and a few more are specific to today.

Five days of rest is not a clean baseline. Coming off a layoff, the cardiovascular system is fresh, which would tend to suppress HR, not elevate it. The +43 bpm drift across the run is therefore more notable than it would be after a continuous training week, not less. It is consistent with several explanations — afternoon heat (the run started 17:34 EDT, no temperature was recorded in the file), dehydration going in, residual de-training from five days off, the longer absolute duration of the session — and the data alone cannot separate them. A 13:00/mi opening for an easy day on flat ground is faster than the May 20 model would prescribe.

One run cannot establish a trend. This run did not produce a clean Z2 execution by the May 20 standard, but that is one observation under a specific set of conditions (afternoon, post-layoff, +10 min vs. prior easy runs). Easy-day execution is better evaluated on the distribution of runs over 2–3 weeks than on any single session.

VO2 max still reads 39.0. Five days off plus a 40-minute run did not move it. That number requires weeks of consistent input to shift and is not useful for day-to-day feedback.

Reading this run as an easy day

The intent was an easy 5K. Measured against that intent, the execution missed the target — 30% Z4 is not easy, and a 13:00/mi opening mile is fast for an easy run that’s also extending duration from 30 min to 40 min for the first time. The May 20 entry already flagged the trap: “Don’t reward today with a faster run tomorrow.” Today was not tomorrow, but the same dynamic applies after a rest break — the legs feel fresh, so the pace creeps forward.

If today is reclassified as a steady-state run, the data are consistent with that intent: HR drift is expected, mid-Z3 to low-Z4 time is appropriate, and the per-mile pacing was even from mile 2 onward. The framing in the metric block — and at the top of this post — was “easy,” so against that label it did not land where it was supposed to.

Recommendations (low confidence)

  • The next run should be a strict Z2. If today was an easy day that drifted, the corrective is a 30-minute run with HR capped at 148 — slower opening pace if needed to keep mile 1 in the low 130s. May 20 is the model.
  • Log course conditions. Start time, temperature, and a rough RPE (1–10) per run would let future entries separate “today was an off day” from “the day was hot.” None of those are in the Garmin file by default; they fit in a one-line note.
  • Don’t extend duration and increase frequency in the same week. Today went from 30 min to 40 min after five days off. The next session should hold either the duration or the layoff-recovered freshness as a constant, not push on both at once.