CrushThisCourse

August 11, 2026

I backtested my own app against two real races I rode in 2018. It missed by 13 and 32 seconds.

A lot of you reading this are racing IRONMAN 70.3 Augusta this September. This one’s for you.

Most of you know I’m obsessed with triathlon. Most of you also know I don’t post about it much. That’s about to change, because I finally have a story worth telling.

I’ve had this idea since 2010, that race strategy shouldn’t be a guess, and this year I finally built it: CrushThisCourse, an app that turns your goal for a race into a real strategy, then pressure-tests it against 2.3 million real finisher results and actual course terrain so you know if it holds up on race day.

I wanted to prove it, not just claim it. So I went digging through old texts and my Garmin history for races I actually raced.

Cervelo P5 with race bib 2643 in a hotel room before IRONMAN 70.3 Augusta 2018
Race morning, Augusta, 2018. Bib 2643.

Found a text I sent a friend two days before IRONMAN 70.3 Augusta in 2018: “My ftp is 280 so I plan to ride around 235w.” Documented, timestamped, no room to fudge it after the fact.

I fed the app that real FTP and my real bike setup, gave it nothing else, and asked it to predict my bike split using nothing but physics and the actual Augusta course. My real ride: 2:23:38. The model’s prediction: 2:23:37. One second off.

So I checked another one. IRONMAN 70.3 Gulf Coast, four months earlier that same year. Real bike split: 2:21:50. The model: 2:21:37. Thirteen seconds off.

Two different races, two different courses, one physics engine, both within half a minute of what actually happened on the road.

Garmin watch showing a generic Race Predictor screen: 5k 17:43, 10k 36:45, Half 1:21:15, Marathon 2:49:43
Taken four days before the race. The watch had no idea what was coming.

For comparison, four days before Augusta my own Garmin watch predicted a fresh half marathon of 1:21:15 based on my training. My actual run at Augusta, off the bike, was 1:35:41. Fourteen minutes and twenty-six seconds slower, because the watch has no idea you’re about to swim 1.2 miles and bike 56 first. CrushThisCourse knows the actual climbs, the actual gradient, the actual road you’re racing, and it knows you’re racing a triathlon, not a fresh 13.1-mile run.

What this actually solves

Most athletes pace the bike leg by feel, or by a single flat wattage target pulled from a training plan that has no idea what course they’re actually racing. That means burying yourself on a false-flat you didn’t know was there, or riding too conservatively through a section that could have carried more speed for free. A course-specific power plan gives you the exact watts to hold on every climb, descent, and flat on your actual course, built from your real FTP, so you hit your goal bike split without cooking the legs you need for the run. That’s the thing this backtest proves: not that the app is neat, that the watts it hands you on race morning are numbers you can actually trust and execute.

Rows of racked bikes at the IRONMAN 70.3 Augusta transition areaIRONMAN 70.3 Augusta trucker hat and peach-logo sticker

Full disclosure: I haven’t raced competitively the last couple years, and I’m nowhere near the shape you see in these old photos. But the tool doesn’t care what shape I’m in today. It cares about the numbers you give it, and it gets them right.

If you’re racing Augusta this September, go build your own plan and see what it says.