How the Race Was Lost (and Won): ZRL TTT on Southern Coast Cruise

This week. the first round of Zwift Racing League 2025/26 kicked off with a team time trial on Watopia’s new Southern Coast Cruise route. I knew the rolling roads would present a challenge, and I was also riding with a new squad. Read on to learn how our race unfolded!

On Joining a New Team

Before getting into the story of the race, I want to unpack my experience moving to a new team for this season of ZRL, as there are useful takeaways here for both Zwift HQ and the Zwift community.

I’ve ridden with DIRT since the beginning of ZRL back in October 2020, and this season I was just looking for something… different. Nothing against DIRT, of course. They’re a huge team full of great people who will always have the best acronym-based team name (Dads Inside Riding Trainers). I was just looking to ride with a fresh bunch of folks and experience how other teams work.

Finding a Team

So I put my name out there on the WTRL Zwift Racing League Facebook page, and lots of teams reached out. (Apparently, mid-cat B riders who can’t climb are in high demand these days!) I ended up going with The Coalition because I already knew lots of folks on the team, I like their ethos of fair racing, and they seem very well-organized.

As instructed by their helpful website, I joined the Coalition Discord server and started working through the steps to fully join the team. Honestly, it was a bit overwhelming. There are several things that need to happen in order to get the team kit, join a ZRL team, and actually get to race. But their website and team leaders were very helpful and on the ball, and soon enough I’d submitted my weigh-in and height verification videos, been assigned to a ZRL team, and unlocked the kit.

Development Division

My new ZRL team is Coalition Delusion, and we’re racing in the Lime B1 Open Development league. The “development” divisions are a new feature introduced this round with a lower zFTP cap enforced within each category (e.g., B category zFTP max = 3.79 W/kg). According to WTRL “This ensures a fairer and more supportive racing environment for improving athletes.” But in practice, I think it really means low and mid-cat B riders have a place in ZRL where they can enjoy team racing again, instead of going into the meatgrinder that is B1! (I’ve talked about this at length before, so I’ll spare you the details.)

This Could Be Better

Props to Coalition for running a tight yet welcoming ship. But let’s be clear: Coalition, and all other Zwift teams, are forced to do the work because there’s no other alternative. And that’s just silly, given that Zwift is almost 11 years old, and we’re in our 16th ZRL round.

Zwift should have built teams into the platform from day one, making it easy to connect with others and enabling native team functionality in races. It would have removed barriers to entry and made team organizing and racing even cooler. (And it still would.)

And after 15 rounds of racing, there should be an easy way to find a ZRL team that doesn’t involve posting a message on a Facebook group. That just doesn’t scale when you’re dealing with thousands of riders, and it’s not a user-friendly experience for new riders.

With that vent finished, let’s get on with the race.

Planning + Warmup

While I’ll occasionally skimp on completing a full warmup before a one-off scratch race, I’m always careful to warm up thoroughly before important races like ZRL.

I was already one dirty chai and a few pieces of Neuro caffeine gum into my day by the time I got on the bike at 9:30am, so I was nicely caffeinated. I’d also applied some PR Lotion to my legs (don’t knock it ’til you’ve tried it), then I rode a 30-minute warmup, keeping the effort mostly zone 2, with a few spinups to get my heart rate up in zone 4.

As often happens in TTTs, a teammate had to drop out at the last minute, which meant we scrambled to find a sub. We finally found Adrian, captain of another Coalition team, who was kind (and crazy) enough to join us even though he’d be racing with another team earlier that day.

Teammate Chris M wasn’t able to race, so he volunteered to DS for this TTT. It’s always nice having a DS on Discord who isn’t riding in the race, as they can calmly direct the team, leaving the riders to focus on their efforts.

While warming up, I looked at our team’s final “pull sheet.” This document, put together by our Captain Neil, listed the order we would take our pulls, plus our target pull length and wattage. I noted I was the last rider in the list, so I added a “6” at the start of my name in game. I’d be targeting 350W 60-second pulls, and the wheel I’d be sitting on otherwise was Andrew’s. Simple enough.

After signing into Discord and getting my OBS recording started, it was time to enter the pens. Let’s race!

The Race

This being our first-ever TTT together, I think we were all curious about how well we’d work together. TTTs can get messy real quick if you aren’t organized beforehand or have just one or two inexperienced riders.

But we fell into order quickly right out of the gate, sliding into that uber-efficient single-file formation that TTT riders strive for. Our line looked so good, in fact, that I tried to snap some good pics. Problem was, every time I changed to the drone camera, I would get out of position myself! (Sorry, guys…)

We cycled through our turns on the front, calling out our target time when we hit the front “Eric on until 12:30” and calling out when we had 10 then 5 seconds left on our pulls.

The team was working well together, and Chris was doing a great of DSing, but there were two things I was seeing:

  • Our gap to the team ahead (BZR) was over a minute, meaning they were faster so far
  • Adrian, our last-minute sub, was struggling to take pulls

You can’t panic in a TTT, though. Plan your race, then race your plan. We had known Adrian might struggle in his second race of the day, so when he decided to drop off around the LAX roundabout, we smoothly transitioned into rotating as a unit of 5.

I wasn’t sure how 1-minute pulls would feel, as I’d always been the guy doing 30-second pulls in the past, usually on teams where most of the riders were stronger than me! But I was feeling good as we kept chugging along. Captain Neil and I were probably the worst offenders when it came to overlapping wheels. I blame it on my lack of recent TTT experience. And I’ll let Neil make up his own excuse…

With 10.9km to go, teammate Rob fell off the back – I’m still not sure what happened, but it sounded on Discord like he said he had to hop off the bike! He went to zero watts for 15 seconds, which would normally be a death sentence in a Zwift race. But he had hopped off on the downhill heading into the Woodside Sprint, which kept his avatar moving faster than if he’d hopped off on a flat or climb.

We eased a bit, and he pushed hard, and we were back together just 40 seconds later. These kinds of events happen often in TTTs and can really slow a team if handled incorrectly. So kudos to Rob for the impressive push to rejoin, and good job to the team overall for easing without easing too much.

We exited the Summit City Velodrome turnaround with 2.7km to go, and up the road I saw we were in a dead heat with the BZR squad, having brought back a few seconds in the last few minutes. This was going to be close!

We held formation until there were just 800 meters to go. Then I decided to power up and go all-in for the final 30-45 seconds, since I had more gas in the tank and could lend a helpful draft to anyone behind. All in to the line!

I averaged 470W for the final 60 seconds, finishing just behind Andrew as the second rider in my team. Our final time, taken off our fourth rider, would be 36:07.609.

See my ride on Strava >

Watch the Video

Zwift Racing League TTT on Southern Coast Cruise (Lime B1 Dev Division)

Results and Takeaways

If you’ve ever raced in ZRL, you know what comes next after crossing the finish line: the agonizing wait for the results to show up on the WTRL website!

Usually they show up within 15-30 minutes, but for this, the first race of Round 1, we kept waiting… and waiting…

It wasn’t until Thursday morning, almost 48 hours after our race, that the results table was populated. Apparently WTRL and Zwift were making lots of changes to backend systems and websites in the past few weeks, and those changes, coupled with lots of last-minute team registrations and changes, meant WTRL was scrambling to get results processed and displayed quickly. In fact, some teams got their race passes late, and weren’t even able to race. Ouch.

Read more in this Facebook post from WTRL >

I feel bad for Martin and his team at WTRL, who have been putting in long hours to get ZRL Round 1 launched. I know they’ve been working crazy hard.

But at the same time, it has to be said: this is the 16th round of Zwift’s flagship team race series. The experience should be better. Zwift and WTRL can do better.

Here are the results from our race:

A table ranking cycling teams by points, showing columns for team name, number of riders, race statistics, and individual rider details, with team Ukraine Mariupol leading, followed by Coalition Delusion and Belgian Zwift Riders Lions 11.

A bit confusing, right? So, Team Ukraine Mariupol turned in the fastest time on the day, and my team (Coalition Delusion) was second-fastest. But (and this is important) one rider on Team Ukraine received a Code 7.

What is a code 7? Well, I searched WTRL’s rulebook and website for a definition, and couldn’t find one. But I did find this in the rulebook:

5.2.7: Racers found to be exceeding the limits in any race and receive a Code 7 or 8 disqualification will be removed from that team and will not be permitted to race with that team for the remainder of the Round. Racers receiving a Code 7 or 8 are encouraged to consider riding for a team in a higher division or category.

Poking around various forum and Facebook comments, Code 7 seems to be defined as “Rider has exceeded Division Power Limits”. Makes sense, as the rider in question averaged 4.681 W/kg for the race, when the zFTP limit for B Development divisions is 3.79 W/kg!

Receiving a Code 7 in a TTT is especially problematic, because in theory, an overpowered rider could tow his team to the line. How can that situation be handled fairly? WTRL’s rulebook says:

4.3.3 C: If a team fields an ineligible racer in a Team Time Trial, the team will be awarded 50% of the League points they would otherwise have earned.

So it seems we both won and lost our TTT. Team Ukraine was faster, but their points were cut in half (and rounded up?) due to the Code 7. In the end, since we received the highest number of points. I’ll consider it a win.

On a pacing note, I think my team did a great job of not going too hard out of the gate, so we had gas in the tank to finish strong. We probably started a bit too slowly, in fact, but this sort of “negative split” pacing seems to be really effective in team time trialing. Well done all, and kudos to Captain Neil, DS Chris M, and Andrew, Chris F, Rob, and Adrian for strong planning and execution.

Personally, this was one of the easier TTTs I’ve raced. That’s not to say it was easy, of course: I was bang on my best power for 2025 in the 32-35 minutes window. But I wasn’t struggling to hold on, and I had a bit more punch left at the end than most TTTs I’ve endured. So that was nice.

At the end of the race, as Adrian was finishing up his ride, we took a Discord snapshot:

A screenshot of a group video call showing seven men in separate frames, most appearing to be mid-workout or cycling indoors. Some have their mouths open, and cycling apps and games are visible on some screens.

See you all next week!

Your Thoughts

How did your first race of round 1 go? Share below…

Eric Schlange
Eric Schlangehttps://zwiftinsider.com
Eric runs Zwift Insider in the spare time he finds between riding his bike and managing various business interests. He lives in Northern California with his beautiful wife Monica. Follow on Strava

10 COMMENTS

Subscribe
Notify of
guest

10 Comments
Oldest
Newest Most Voted
Keith
Keith
1 year ago

Great write up.
I agree with the struggles of finding my first team. For how popular this series is I almost wish that it was integrated into Zwift along with the functionalities of finding a team.

also I’m surprised they go with a TTT to start the series. As a runner going to indoor cycling I had no idea what a TTT was and how it worked, let alone discord etc. I think a simple scratch race to start is an easier entry for a lot of new ppl. Also you can get to know your team before the TTT.

oh well, a great and fun series due to the number of ppl and community participating. I’m glad they put these on and I’m always surprised it’s all free too, for the amount of work I can only imagine.

Frederic
Frederic
1 year ago

Who wouldn’t want such a Legend on their team ?!? Keep up the good work !! 🙂

Dave Bitschy
Dave Bitschy
1 year ago

congrats on the win! and congrats on finding a new team!

I also needed to join a new team as my schedule changed so i could no longer race in the time slot of my old team. I have to agree, it was a nightmare! i did find one in the end but it was a pain ITA.

our team did well in the TTT, we had 2 big issues. one teammate didn’t get the zwift update for some reason when he went to warm up and then when joining the race his zwift crashed and forced the update, but it took too long and he missed the start. we still are sure why zwift didn’t allow the update when he logged in to warmup..

the 2nd issue, was me! i was warming up and riding a road bike (working on upgrades) then i joined the race pen, but had to jump off for a last minute bathroom break, then the race started and i had forgotten to change to the TT bike! I have a fully upgraded one too! arrghh. it just made me have to work harder! lessons learned i guess

Rob
Rob
1 year ago

What’s this re-run that’s going to be available to everyone for this on the 14th Oct? Will it let a team improve on their previous time and potentially move up the leaderboard?

Last edited 1 year ago by Rob
Mark B
Mark B
1 year ago

Congratulations on the new team Eric! Coalition is a great choice. I’ve been looking for the live YouTube videos of ZRL races, but I don’t see them. Has that been dropped by Zwift?

Dave K
Dave K
11 months ago

Seems like an oversight having someone capable of 4.7wkg on team Ukraine. A lot of high A cat riders can’t even hold that for ~35min

Dandabikeman
Dandabikeman
11 months ago

This was my first ZRL Race (and only my second TTT, the first was on the Thur preceeding). ZRL (and team racing) is something I have wanted to try for years but the entry barrier was always too high so I completely agree with the section “This Could be Better”. It took several teammates and back and forth on Discord helping me to navigate the process. I think now, 3 weeks later, I have finally figure out the ZRL website, but I still cannot figure out how to see who is signed up for a given race from my team.
I really enjoyed the article, Thanks Eric!

Man rides stationary Zwift bike trainer in advertisement. Text reads The Zwift Ride Big Weekend Sale Sept 24-28. ZWIFT: RIDE $999.99. Colorful shapes and a Save Now button appear below.

Get Started on Zwift

Newest Featured Posts

Support This Site

Write a post, shop through us, donate or advertise. Learn more

NEWSLETTER SIGNUP

Zwift tips and news every 2 weeks! Click to subscribe.

More Posts