2025: A Year in Sport Review
All stats pulled from my Strava activities via my open-source Strava MCP server. Because if it’s not on Strava, did it even happen?
The Numbers
352 activities. 7,738km covered. 305 hours of movement.
Breaking it down:
- 🚴 242 rides (indoor + outdoor): 7,146km in 249 hours
- 🏃 69 runs: 541km in 49 hours
- 🏊 41 swims: 50km in 16 hours
But the raw numbers only tell part of the story. 2025 was the year I discovered what my body could do—and then had to rebuild it after breaking my wrist in August.
The Race Season: January - July
The Crits
On January 18th, I pinned a number for the first time at a 2/3/4 Full Gas Crit—33km at 38.7 km/h average. The pack was aggressive, the corners were sketchy, and I loved every second of it.
By April, I was racing a two-stage event:
- Stage 2: 19km at 37.9 km/h avg, 292W average power
- Stage 4: 37km at 36.0 km/h avg (peaking at 64.9 km/h on a descent)
But June was when everything clicked. Three crits in two weeks, all above 41 km/h average:
June 11th - Full Gas Cat 4
- Distance: 34.8km in 49:52
- Average speed: 41.9 km/h
- Power: 290W average, 951W max
- Heart rate maxed at 191 bpm, averaged 180 bpm
- Peak speed: 57.6 km/h
June 14th - ICC 4th Cat
- Distance: 31.2km in 45:25
- Average speed: 41.3 km/h
- Power: 285W average, 925W max
- Heart rate averaged 180 bpm, peaked at 196 bpm (max effort territory)
- Peak speed: 56.2 km/h
Three days after the first crit, still cooked from that effort, and somehow went even harder. Average heart rate of 180 bpm for 45 minutes is what “full gas” actually means.
I positioned myself perfectly for the final sprint—sitting second wheel going into the last straight. Everything was set up for a podium finish. Then someone’s chain snapped right in front of me. Had to brake, swerve, and by the time I got back up to speed, I’d dropped from 2nd to 10th. Racing luck.
That’s crits though. You can ride tactically perfect for 45 minutes and lose it all in 3 seconds because of mechanical bad luck. The legs were there, the tactics were there—but I wouldn’t get another chance to prove it. Two months later, I’d break my wrist, and my 2025 race season was over.
The Triathlons
Crystal Palace Triathlon - May 11th
My first tri of the year.
- 🏊 Swim: 750m pool
- 🚴 Bike: 20km at 32.3 km/h (max 51.3 km/h)
- 🏃 Run: 5km at 4:43/km (max HR 180 bpm)
Dorney Lake Sprint - July 2nd
A flat, fast course.
- 🏊 Swim: 750m lake
- 🚴 Bike: 18km at 35.3 km/h (max 47.6 km/h)
- 🏃 Run: 5km at 4:39/km
- 🏆 1st in age group
Faster on both bike and run than Crystal Palace. The flat course helped, but so did two months of consistent training. I was getting stronger.
Crossing the line, I didn’t expect much—just happy to beat my Crystal Palace times. Then the results came through: first in my age group.
Time Trials
June’s “Tuesday Tens” series became my proving ground. Three attempts, each one faster, each one more painful.
June 3rd - First Attempt
- 16.3km in 24:27
- Average: 40.0 km/h
- Power: 282W average, 742W max
June 10th - Personal Best
- 16.4km in 23:19
- Average: 42.2 km/h
- Power: 291W average, 685W max
- Peak speed: 55.3 km/h
23 minutes of threshold effort, no drafting, no pack to hide in. Just me, the bike, and the clock. Every pedal stroke had to count.
June 24th - Third Attempt
- 16.3km in 24:40
- Average: 39.6 km/h
- Power: 270W average
Still fast, but the legs were cooked from two weeks of racing. Sometimes you show up and the form just isn’t there. That’s racing.
August: The Break
I broke my wrist on August 1st at a cyclocross race as I went down hard on my left wrist after a crash. Season over in an instant.
The data tells the story brutally:
- January-July: 247 activities, 5,562km
- August: 6 activities, 115km
- September-December: 99 activities, 2,061km
Running became my only option. With a cast on my wrist, I couldn’t grip handlebars or pull in the pool. But I could run.
So I ran. Nearly 200km in September and October—cast and all. Every run was uncomfortable, the arm swinging awkwardly.
But here’s the thing about forced limitations: they made me smarter. I couldn’t do hard intervals or tempo runs—the arm wouldn’t cooperate. So I slowed down. Zone 2, easy pace, just accumulating aerobic miles. The kind of base-building I’d normally skip because it’s boring and doesn’t feel productive.
Turns out, that slow running with a broken wrist built the foundation for everything that came after. The Battersea Half Marathon two months later? That aerobic base. The return to cycling fitness in November? That cardiovascular endurance. Sometimes the best training isn’t the hardest—it’s just the most consistent.
The Comeback: September - December
Rebuilding With Running
Post-injury, running became my foundation. Unable to grip handlebars properly, I ran. And ran. And ran some more.
Then came the goal that kept me going through:
October 18th - Battersea Half Marathon
21.3km at 5:01/km. Average HR 151 bpm.
I went into this race with more excitement than nerves. After months of slow running in a cast, I finally had two functioning arms and a green light to push.
And push I did. By kilometer 10, I’d set a 10km PB—a brutal way to start a half marathon, but the legs felt good. By 15km, another PB. By 20km, still on pace for a PB. Every split was faster than I’d ever run that distance.
The final 1.2km was survival mode, but I held on. Four PBs in one race: 10km, 15km, 20km, and the half marathon. Not bad for someone who’d spent the previous two months running awkwardly with a cast.
Back On The Bike
November marked the return to proper riding. The wrist was functional again, grip strength rebuilding. But I didn’t ease back in—I went all in.
For four weeks straight, I hit 12 hours a week on the bike. Nearly 300km every week. Zone 2 base miles, relearning bike handling with a wrist that didn’t quite trust itself yet, but committing to volume.
It was aggressive for a comeback, probably not smart by textbook standards. But I had three months of lost fitness to make up for, and the only way to rebuild an aerobic engine is to ride. A lot.
The Philosophy That Emerged
Consistency Beats Everything
Here’s what actually matters: showing up. Not one massive week of training. Not the hero session that leaves you wrecked for five days. Consistent weeks stacked on consistent weeks.
The 12-hour cycling weeks in November worked because I did it four weeks straight, not once. The 200km of running in a cast built fitness because it was spread over two months, not crammed into one week of suffering.
Block Training Over Balance
Early in the year, I tried to train everything equally—cycling, running, swimming, all at once. It sounds good in theory. In practice, you end up mediocre at three things instead of excellent at one.
By the end of 2025, I’d learned: blocks work better. Four weeks focused on cycling volume in November. Two months of running-focused training during the cast period. These dedicated blocks drove actual improvement—specific adaptations to specific stress.
Triathlon demands competence in three sports, but you don’t build that competence by doing a bit of everything all the time. You build it by going deep on one discipline, then switching. Tactical periodization beats scattered effort.
Looking at 2026
The base is rebuilt. The consistency is back. The races are calling.
I’ve already signed up for two marathons in 2026. The cycling is in a good place, now it’s time to take the running to the next level. Time to build on it.
Goals for 2026:
- 🎯 Sub-4:00 marathon (early season, testing the legs)
- 🎯 Sub-3:30 marathon (late season, when the fitness peaks)
- 🎯 Sub-20:00 5km (been on the list too long, time to tick it off)
- 🎯 10,000km total distance (would’ve hit it in 2025 without the wrist)
- 🎯 Win a race (tri or crit)
Let’s see what 2026 brings.