All posts

Spotlight: @joao-brito, the Marathon He Already Ran

MR
Martijn Russchen
·4 min read

Most spotlights in this series look forward to a race that hasn't happened yet. This one looks back. Just over three weeks ago, in 30°C heat in Portugal, @joao-brito ran the Maratona da Europa Aveiro 2026: 42.3 km, three and a half hours, threshold pace from start to finish.

The athlete

João is a runner from Lisbon, six days a week, mostly road. He picked Pyramidal as his periodization model himself: a wide base of low-intensity volume, a structured layer of threshold and tempo work above it, a smaller cap of VO2max sessions at the top. For a marathon prep done around real life, that's the right shape. The slow stuff is most of the calendar; the hard stuff is the part that actually moves the needle.

The build into Aveiro spanned weeks of progressive long runs, sub-threshold blocks at marathon pace, and over-deliveries on the hard days. Ten days before race day he ran 8 × 3 minutes at 15K pace at 133% compliance: the kind of session you only oversend on if you're feeling the form arriving. A week out, 3 × 10 minutes at sub-threshold inside a 102-minute medium-long run, with decoupling under 4% across all three intervals. The legs were ready.

The race

Race day, April 26. Aveiro. 27-32°C, which is to say, hard.

João ran 42.3 km in three hours and 22 minutes, average pace 4:45/km. The session metrics still take my breath away: IF 0.97 sustained for the full distance, in blocks of forty-three minutes at NP 292 watts with 0.2% decoupling between halves. That's not pacing, that's metronome work. He held 92% of LTHR for the entire run. Cadence locked at 91 rpm; stride length at 1.15 m; GAP within 5% of his critical speed for over three hours straight. 102% compliance against the plan.

The hard part of a marathon isn't the first hour. It's the second hour, and especially the third, when the body is asking you to slow down and the head has to keep saying no. João said no for 202 minutes in a row, in heat, on a course with almost no shade. That is the whole story.

What the score noticed

The score caught up with him exactly when it should have:

Date Total Overload Fitness Base
2026-04-19 (race-7) 64 60 72
2026-04-26 (race day) 70 100 72
2026-05-03 (post-race) 59 39 72
2026-05-10 50 25 63
2026-05-17 50 31 63

Progressive Overload 60 → 100 → 39 → 25 → 31. That 100 in the race-day snapshot is the structural maximum: the system saying the four weeks before the race were exactly the four weeks they needed to be. The drop after is not a problem. It is what taper looks like in the data: the load has gone, the form is high, the body is recovering. And the last number is the part to watch: the climb has already started. One week of post-race running, and Overload has ticked back up six points. The body is asking for work again.

Fitness Base held at 72 for two weeks, then settled at 63 once the marathon load fell out of the rolling window. That is honest. You do not get to keep a peak you do not keep training for; the season is long, and the next build starts here.

What's next

João is back at it already. His next goal event is the 14ª LIDL Corrida de Santo António in Lisbon on June 7: 21 kilometres of city racing, less than three weeks from now. The Peak week ahead has the right shape for it — a threshold session on Thursday, a sweet-spot block on Saturday, a 100-minute easy run on Sunday — and his Form (TSB +16) says the legs are ready to take it.

He's not idle in the recovery weeks, either. Last week he was in San Sebastián and got a 51-minute tempo session in on the road, alternating Z2 and Z3 blocks with cadence locked at 85 spm. That is the discipline this whole post is about: the willingness to run a structured tempo in a foreign city on a Friday morning, because the next race does not wait for you to be home.

If you have ever finished a hard race and felt the post-event flatness creep in, the part of the body that does not want to go back to work, study João's calendar. He took 24 hours off, ran 88 easy minutes the next morning, and started building for the next thing.

Follow @joao-brito

Catch his post-race numbers and the next arc at intervalcoach.app/p/joao-brito. And if you would like to be featured here yourself, make your profile public in Settings → Account → Public Profile, and we will write the next one from your own dashboard.

Bom trabalho, João. Boa sorte em Lisboa.