How this works: an AI coach, org-mode, and some plumbing

The 30 km program wasn’t downloaded from a training site — I built it in conversation with an AI (Claude), and the same AI stays in the loop as a kind of coach. A small summary of how the pieces fit. Building the program We started from data, not a template: my Strava history (volume patterns, the fast-flat runs that reliably preceded flare-ups), my injury history (calf / quad / plantar), heart-rate numbers, life constraints (young kids, volatile sleep). From that came the principles — injury-first, 100 % Zone 2, one variable at a time, deload every third week — and the 18-week structure, leaning on La Clinique du Coureur’s methodology. The program is completion-driven: the October 24 date slides before I break. ...

July 15, 2026 · 3 min · Joel Trottier-Hébert

The plan: 30 km without breaking

On October 24, 2026, I want to run 30 kilometres in one go. That’s farther than I’ve ever run — my longest efforts so far have been half-marathon distance — and the date matters less than the manner: I want to arrive there without getting injured on the way. That ordering is the whole plan, really: Don’t get injured. Don’t regress. Reach the goal. A slower, healthy path beats an aggressive one that breaks down. If the build needs more time, the date slides before I do. ...

July 14, 2026 · 2 min · Joel Trottier-Hébert

The program — as designed

This is the 18-week program as it stood on day one (June 29, 2026), before contact with reality. The current version tracks every amendment since. Frozen here on purpose — the diff between the two pages is the story. The goal, in priority order Don’t get injured. Don’t regress. Run 30 km on October 24, 2026. Completion-driven, not calendar-driven: the date slides before I do. The weekly template Day Session Intensity Mon ~6.7 km easy + strength A Z2 130–145 Tue optional easy Z2 Wed medium-long, 8→12 km Z2 Thu ~6.7 km easy + strength B Z2 Fri rest — Sat long run (or race) low Z2 Sun rest or short recovery Z1–Z2 Only the four core sessions (Wed ML, Sat long, two strength) are non-negotiable; Tue/Sun are the adjustment variables. Everything at heart rate, nothing at pace. No speed work anywhere in the 18 weeks. ...

July 14, 2026 · 2 min · Joel Trottier-Hébert

The program — current

The living program — execution parameters, the week-by-week table updated live, and a dated changelog of every amendment.

July 14, 2026 · 3 min · Joel Trottier-Hébert

The strength program

Two short heavy-slow-resistance sessions a week (≤15 min each), built for a runner in zero-drop shoes with a history of calf, plantar and quad complaints. Heavy means the last two reps are hard (RPE 7–8); tempo is written as down / hold / up in seconds. Always after an easy run, never the day before the long run. On flare-up days: drop to the isometrics, lower the load — don’t stop. ...

July 14, 2026 · 3 min · Joel Trottier-Hébert

Program calendar

Every scheduled session of the 18-week program, ✓-marked as it happens (today is outlined). Colors group session types; races in green are run controlled, not raced. Details: the program · run-by-run log. Easy Medium-long Long run Race Strength June 2026 Mon Tue Wed Thu Fri Sat Sun 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29✓ Easy 35′Str A 30 July 2026 Mon Tue Wed Thu Fri Sat Sun 1✓ ML 48′ 2✓ Easy 35′Str B 3 4✓ Long 72′ 5 6✓ Easy 35′Str A 7 8✓ ML 54′ 9✓ Easy 35′Str B 10 11✓ Long 81′ 12 13✓ Easy 35′Str A 14 15✓ ML 36′ 16Easy 35′Str B 17 18Long 60′ 19 20Easy 35′Str A 21 22ML 54′ 23Easy 35′Str B 24 25Long 90′ 26 27Easy 35′Str A 28 29ML 60′ 30Easy 35′Str B 31 August 2026 Mon Tue Wed Thu Fri Sat Sun 1Long 102′ 2 3Easy 35′Str A 4 5ML 36′ 6Easy 35′Str B 7 8Easy shakeout 25′ Z1 (optional/rest) 9UTFS 10 km trail 10Easy 35′Str A 11 12ML 60′ 13Easy 35′Str B 14 15Long 114′ 16 17Easy 35′Str A 18 19ML 66′ 20Easy 35′Str B 21 22Long 126′ 23 24Easy 35′Str A 25 26ML 48′ 27Easy 35′Str B 28 29Long 96′ 30 31Easy 35′Str A September 2026 Mon Tue Wed Thu Fri Sat Sun 1 2ML 66′ 3Easy 35′Str B 4 5Long 138′ 6 7Easy 35′Str A 8 9ML 72′ 10Easy 35′Str B 11 12Long 150′ 13 14Easy 35′Str A 15 16ML 48′ 17Easy 35′Str B 18 19TRAIL 18 km 20 21Easy 35′Str A 22 23ML 72′ 24Easy 35′Str B 25 26Long 156′ 27 28Easy 35′Str A 29 30ML 42′ October 2026 Mon Tue Wed Thu Fri Sat Sun 1Easy 35′Str B 2 3 4Half 21.1 km 5Easy 35′Str A 6 7ML 72′ 8Easy 35′Str B 9 10Long 168′ 11 12Easy 35′Str A 13 14ML 54′ 15Easy 35′Str B 16 17Long 132′ 18 19Easy 35′Str A 20 21ML 48′ 22Easy 35′Str B 23 24GOAL 30 km (180′) 25 26Easy 35′Str A 27 28ML 36′ 29Easy 35′Str B 30 31Recovery long run 90′

June 29, 2026 · 2 min · Joel Trottier-Hébert

Training log

One entry per run, newest week first — goal and execution keywords on each. The plan behind it: as designed · current, with changelog. Generated from intervals.icu data; the notes are mine. Week 3 — deload (Jul 13–Jul 19) Target ~28 km · long run: 10 km / 1:00 · ran 19.2 km so far Wed Jul 15 — Medium-long 36’ Z2 6.65 km · 37:30 · 5:38/km · HR 138 avg / 150 max medium-long deload 78% Z2 ✓ Execution: plan 36′ Z2 → ran 37:30 (+4 %) · 12 % Z1 / 78 % Z2 / 11 % Z3 · HR 138 avg (Z2 cap 145) ...

June 29, 2026 · 5 min · Joel Trottier-Hébert