I’ve been purposely taking on longer/harder races lately in preparation for the start of the big Zwift Racing League this Tuesday. So when I saw that the first race for Zwift Academy was a three-lapper of Richmond’s 2015 UCI Worlds route, I knew that was the perfect event for me. Three laps works out to ~50k, the same length as the Tuesday’s big ZRL kickoff race. And Richmond had some punchy climbs, which is the kind of training I need more of.

I love racing in Richmond, and I’m not entirely sure why. I never win here. But it is the first race route I remember racing, back in November 2015 as part of the ZTR and TFC races.

There’s just something special about the way the course is laid out that keeps me coming back again and again. Will I ever be able to power away from the field on the final ascent of 23rd Street so I can supertuck and stay away from the chasers just like Sagan? Doubtful. But that doesn’t stop me from dreaming, then racing my guts out every time I’m in Richmond.

Subscribe to our newsletter


Today’s race was at 7:11am, so I had already chewed my caffeine gum and rubbed PR lotion on the legs well before climbing into the bike at 6:15. I was happy to see the Pace Partners had returned, giving me a chance to spin through Fuego Flats with Coco Cadence and her cadre. (I’m not sure why I enjoy warming up with Coco, but it sure is more fun that going it alone!)

15 easy miles later it was time to head to the pens.

Bike Choice

I’ve been riding the new Canyon Aeroad 2021 lately, because it’s such a freakin’ light bike, while remaining super aero. It’s exactly what I need, since I struggle on the climbs! I’ve been pairing it with the Zipp 858 wheels, only because it’s hard for me to put disc wheels on for a road race. Even a virtual one. Just feels wrong.

When I hit the start pens, I discovered something interesting: everyone had the Aeroad 2021. Apparently Zwift is auto-equipping us with that bike for these races! So watch out, Tron riders – you may end up with a wimpy wheelset when you join the start pens. Double-check your rig.

A whole lotta Canyon Aeroad 2021s!

Route Notes

What I wanted to do was stay with the front of the race over the each of the three climbs we would be hitting on each lap. Three climbs per lap. Three laps. Nine goals.

For those unfamiliar with Richmond’s 2015 UCI worlds route, it’s essentially flat for the first half, then bump for the second half. Here’s the profile:

You’ll only shed a few riders on the flat half of the course – then the fireworks happen when Libby Hill, then 23rd St, then Governor St blow apart the field on the back half. It really is a magnificent race course, even if it destroys me… every… time.

The Start

Predictably, the race didn’t start too hard. We began with 66 riders and dropped a few quickly, but we still had at least 2/3 of the field intact when we hit Libby Hill for the first time. I made sure to position myself near the front (but out of the wind) as we began climbing, giving me a bit of space to drift backward if necessary while still staying in touch with the front pack. It worked like a charm, and I made it to the top with the front riders just a few bike lengths ahead.

One down. Eight to go.

23rd Street comes hard and fast after Libby, and it’s just a straight near-sprint to the banner. I crested the hill in 6th, gave a few extra hard pushes on the pedals to get up to speed, then messaged “Sagaaaaan” as I descended in a supertuck. (Seriously. I could watch his race win on repeat forever.)

Governor Street was the last climb of the first lap, and it’s always a tough one – the longest of the three. I made it to the top in the front group, but it was far from easy. Our group of 66 had dwindled to just 16, and we still had two laps to go. This was going to hurt.

The Middle

Things were tame for the flat portion of the second lap, and I made it to the top of Libby Hill with the front just as one “A. Courts” jumped off the front with one other rider in tow. I couldn’t have chased even if I wanted to, but with 15 miles left I figured those riders would be coming back anyway.

Up 23rd, then up Governor Street. I was still with the front pack, although A. Courts was off the front, and one “mbahgusmbangs” (we’ll call him “Bangs”) had just jumped away as well. How was A. Courts staying away? And how did Bangs jump so hard after such a hard climb? Looking closely at the rider list, my question was answered: neither was registered on ZwiftPower. And both were using zPower.

Cool. No need to worry about chasing them down.


Ah, crap. A legit rider (D. Maxwell) had jumped up and onto Bang’s wheel. Smart. Perhaps not entirely sporting by some standards, but it was within the rules, and he was playing the game brilliantly.

As a public service announcement, I messaged everyone to let them know that A. Courts was on zPower, not on ZwiftPower, and therefore didn’t need to be chased. (He quickly replied, in classic zPower Ranger fashion, calling me a “whinging yank.” LOLz. I wasn’t whinging. But I do suppose I am a yank. So he was half right.)

It’s not that I’m against zPower riders – I’m all for being inclusive. But when they behave as a sandbagger, pushing massive watts which affect the race… that’s not cool.

The Finish

With one lap to go, the two zPower Rangers were off the front, with the canny Mr. D. Maxwell in tow. Maxwell was just 8 seconds ahead, but nobody in our group wanted to put in the effort to chase him down on the flats, knowing we would need everything we had for the three final climbs.

I could actually feel my matches burning on each of those climbs. The question was, did I have enough left? I felt I did not. But I resolved to give it all I had.

We had a pack of nine, chasing a pair, with A. Courts alone in front.

We reeled in Maxwell and Bangs on the descent before Libby Hill, then Bangs sat on the front of our group, pulling us along at 5+ w/kg. Ha!

Then we hit Libby for the last time, and the climbers pulled out their big power to weight ratios. Our pack splintered to pieces, with me bunched up near the back with the 9-11th place riders.

Supertucking, Sagan-style

Up 23rd Street, things got even more broken up. On the plus side, Bangs had disappeared, leaving us only one zPower rider to chase (A Courts, still over 20s off the front). I was in a pack of 3, representing 7th, 8th, and 9th place. I deployed my feather powerup on the right-hand corner of Governor Street, since that’s the steepest section of the climb. Then I hit the power hard, trying to drop the two guys I was with and perhaps bridge up to a rider ahead.

(Turns out that was the glycogen depletion talking. There was no way I was catching the riders ahead.)

One rider followed my attack: Tharratt. He came around me, then eventually I was able to come around him. As we reached the top of the climb I hammered hard to get up to speed and try to break the elastic between Tharratt and my back wheel. I was on the limit, pushing as hard as I could while watching Tharratt’s numbers to see if he was going to try to reel me in. Somehow I managed to stay just ahead, crossing the line totally exhausted in 7th place.

See my activity on Zwift.com >
See my activity on Strava >
See race results on ZwiftPower >

Watch a video of the race:


This was a tough, tough race. I could tell because my legs were sapped the next day for Sprintapalooza. That said, I think it was great training for Tuesday’s big ZRL kickoff race with all its punchy climbs and longer distance.

I’m not sure I could have played this race any better than I did. Richmond’s climbs kick my butt every time, and having to take them on three times put me over my limit.

My only real takeaways here are for Zwift HQ, actually. First: please stop holding races where we’re all stuck in the same kit. We know this is a Zwift Academy event – we don’t need the jersey to remind us. And it’s super-difficult to know who is who in a race where everyone is in the same kit (and on the same bike)!

Secondly: please roll out your anti-sandbagging tools soon, and/or make it so race organizers can hold events where zPower riders are barred from entry. And if a rider is over the stated category limits when they cross the finish line, for heaven’s sake, don’t show them on the leaderboard! That just reinforces their behavior, which means one rider will continue to negatively impact everyone else in the event.

In lieu of the fixes above, I’ve taken the liberty of editing the results screen from this race:

Your Thoughts

Share your comments below!