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:

  1. Don’t get injured.
  2. Don’t regress.
  3. 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.

Why every single run is easy

I have a history: recurring calf, quad and plantar tightness, and a well-documented pattern where fast, flat running reliably flares something. So this plan has zero speed work. Every run is Zone 2, governed by heart rate — for me that’s 130–145 bpm — not pace. Pace is whatever it is that day; the heart rate cap is the contract.

The methodology leans on La Clinique du Coureur principles plus the boring classics: progress one variable at a time, respect the 10 % rule, cap long-run progression by duration, deload every third week, and keep the acute:chronic workload ratio in the 0.8–1.3 band.

The shape of it

Eighteen weeks, from ~35 km/week up to ~53 km/week at the peak. Each week looks like this:

  • one long run (Saturday), the backbone of the build
  • one medium-long run (Wednesday)
  • easy runs to fill out the volume
  • two strength sessions — non-negotiable, because I run in zero-drop Altras, which load the calves, Achilles and plantar fascia hard

Three stepping-stone events punctuate the build, and none of them are raced — all run controlled and easy:

  • UTFS 10 km trail — August 9, climb-heavy
  • Beluga 18 km trail — September 19, descent-heavy
  • Half marathon — October 4, comfortable, not all-out

The real constraint

Young kids, unreliable sleep, the occasional daycare plague. My recovery capacity — not my ambition — is the binding constraint, so the plan is built to tolerate interruptions. Missed sessions are never made up; the plan absorbs them and moves on. Completion-driven, not calendar-driven.

The whole thing lives in org-mode, syncs itself to intervals.icu and my Garmin watch through a couple of Python scripts, and gets analyzed after every run. I’ll write about that tooling separately.

Week 1 is already in the books. More soon.