Fresh from a mid Festive 500 rest day, I was looking for a hard effort in the middle of a 50-60 kilometer day. And I found just the right event: KISS Race Series Pacific AM, on Watopia’s new Two Bridges Loop route.
At 43km (6 laps) the race was decently long, and I was excited about racing a new route that I knew would be a bit challenging.
The Warmup
The race was set to kick off at 6am, so I woke up at 5am to get ready. Prep began with two pieces of caffeine gum (I’m not a coffee guy) and some PR lotion on the legs, then it was time to kit up and warm up.
While warming up I checked out Zwift Insider’s page on the Two Bridges Loop, rehearsing the route in my head to figure out where the “pinch points” might be. While the Esses and Italian Villas had a few ramps and rollers to deal with, I figured they could be handled with attentive riding. The portion that worried me, though, was the start of the Hilly Reverse KOM, which would be an all-out effort until we turned onto the slight descent of the new bypass road.

Next, I pulled up the event on ZwiftPower to look at the competition. It was a strong list, with over 120 signed up in Zwift including a few A riders (what were they doing?) and several B’s ranked significantly higher than myself. I steeled myself for a hard effort.
After spinning the legs up and making a few hard efforts to get my heart rate up over 160, I was ready to head to the pens with 5 minutes to go. Let’s race!
The Start
The start wasn’t easy, but it was very doable. 329W for the first 3:15 got me through the Esses and onto the downramp to the bridge, where the pace eased a bit. We zipped over the waterfall rollers after the Italian Villas, and I moved toward the front of our group as we crossed the 360 bridge before the start of the reverse KOM climb, briefly finding myself in first position.

Clearly the riders were a bit tentative, having never raced this new route. The first effort up the climb was hard, but not all-out. I just tried to sit within a few wheels of the front, and 418W (5.1 w/kg) for 1 minute kept me near the front nicely. I kept the power up over the crest of the hill as we turned left onto the new bypass, then surfed the wheels until I could supertuck down the forward KOM for a few seconds.

The Middle
As the race continued, it became clear that we had a few sandbaggers and zPower Rangers in the front group. First one zPowered “F. Roll” attacked off the front. A few laps later, “M Gozzer” (an A according to ZwiftPower) attacked. In both cases I messaged the group to call out the rider, mostly just so they knew someone was watching. I didn’t expect them to change their behavior – and they didn’t.
Luckily, their attacks didn’t massively lift the effort required to stay in the front group. They did impact the race somewhat, but that’s a hard thing to quantify. For my part, I concentrated on riding efficiently and making it over the key kicker climb each lap.
The tried and true “start climbs at the front of the group” strategy was very helpful here. Over the 360 bridge I would bump up the watts to move forward, so that even when a few riders passed me near the top, I was still mid-pack as we began the descent.

The Finish
Our starting group of 127 had been reduced to less than 20, and my legs were definitely feeling the past several days of longer Festive 500 efforts. Going into the key climb on the final lap, I expected the hardest attacks thus far. And my expectations were met.
First, the group accelerated as we crossed the 360 bridge, with everyone jostling for that forward position before the climb. Then my zPowered friend F. Roll powered off the front, but nobody chased, knowing he wouldn’t be in the final results. As we hit the official start of the climb I was perfectly positioned but already hurting as legit B’s started pouring on the power.
P. Fischerking put in a masterfully hard attack from the back of the group, and M. Harris followed. The group began to stretch out, but I was still mid-pack. As we crested the hill I was in 15th, near the tail end of a strung-out front pack.
This is such a dangerous place to be in a bike race, because a gap can easily open ahead, and you’ll have to jump across if you want to stay in contention.
And that’s what happened. The rider I was drafting got gapped, so I accelerated past him to grab the wheel of the group just ahead. By the time I had made it to that next wheel, he too had been gapped, and I didn’t have the legs left to jump up to the group.

And that was it. I was just one wheel too far back to make the front selection. My legs were spent, and though the front group was only 2 seconds ahead, they were accelerating away. My goose was cooked. I sat up and spun my way to the finish, crossing in 18th place (12th on ZwiftPower).
See activity on Strava >
See activity on Zwift >
See results on ZwiftPower >
Watch the Race Video
Similar Routes
Two Bridges Loop was a fun race route, as the constantly turning and rolling roads keep things interesting and the abbreviated Hilly Reverse KOM provided a key attack point on every lap. The route rewards riders who pay attention and modulate their power for maximum efficiency, and if you’re feeling spicy there are plenty of short climbs which make perfect launchpads for attacks.
This route compares most closely to NYC’s Park Perimeter Loop and Innsbruck’s Innsbruckring, in my opinion. Both of these routes are around 3 minutes longer per lap than Two Bridges Loop, but all three routes share a key climb around 1 minute in length. The Park Perimeter’s roads are more rolling like the Two Bridges Loops, while Innsbruckring’s roads are fairly flat.

Takeaways
I wasn’t expecting an amazing result in this race, given the fatigue I’d built up. Between the sandbaggers and strong B’s, I was happy to be able to hang in there until the final big effort.
Still, this race reminds me that 1-5 minute w/kg is my biggest weakness as a B racer. I need to continue training that interval, and racing routes like Two Bridges Loop is a great way to do it.
Start strong, finish stronger. That’s what Zwift races require. The first lap’s climb section required 1 minute at 418W (5.1 w/kg) for me to stay with the front group. But on that same section on the last lap I did 470W for 1 minute and got dropped! So having good 1-minute power isn’t enough – you also have to have the ability to repeat the effort several times over the length of the race.
On a related note: UCI Esports World Champ Jason Osborne can reportedly hold 480W for 20 minutes… and he weighs 10 kilos less than me. How’s that for a slice of humble pie?
Finally, like I’ve said in many other race writeups: Zwift really needs to get rid of the sandbagging and zPowered silliness. Overpowered riders change the fundamentals of the race, which is discouraging and unfair to the legit contenders. It’s usually not much of an issue in B races (this was the worst I’ve seen in a while) but it’s a massive problem for D and C events. Maybe a little ZwiftPower matchmaking would do the trick?
Your Thoughts
Have you raced Two Bridges Loop yet? What did you think? Share your comments below!
good write up! Hopefully zwift will address the sandbagging issue this year further, did a Cat C crit last week, saw at least 6 cones in my front pack, finished 9th and 2nd on ZP. Absolutely destroyed myself to hang on which is good but ruins the experience often.
I’ve pretty much given up on Zwift doing much to help, it feels like they’re not interested in the racing elements. I think I’ll be moving across to RGT which whilst having flaws, the platform genuinely seem interested in listening to the community.
I’m hearing this more and more often recently. The problem is, its easy for RGT (and others) to listen when there are a only a small number of voices asking questions. Its the nature of the beast. You need scale to make the platforms successful, but scale reduces your capability to keep everyone happy.
Nice report and will look to race this course. As for sandbaggers … I race C and am on my limit every time. I usually hang onto the front group or two but always at a huge cost. I figure that if I finish in the top 15-20 of sign-ups this means a top 5 in ZP, and that is without them culling wily sandbaggers. So … the racing is ‘virtual’ and a process, not a reality. When we get back to IRL, this race training will pay off. And I will still race Zwift because it is a challenge and engaging, even with all the ways riders fake it.
Great write-up! Those new routes are tough in races (I also discovered). Thank you for discussing rampant cheating…it was a bit much watching Zwift’s coverage of recent World Championship while knowing Zwift has almost zero commitment to fixing cheating in the amateur levels.
Maybe taking pictures during the last climb didn’t help 😉
Great write-up, thanks.
I’m surprisingly good at hitting F10 while hammering away! The hard part is changing the camera angle and taking a good shot… 😀
I was also in that race with you Eric. I really liked the new course with the little kickers to spread things out. Myself and a few others sprinted for the wrong finish line (think it was the blue banner ?) I know it cost me a podium, “lesson learned” and look forward giving it another try. Ride On!
Ah yes, I figured that would happen! I’m not sure why the race was set to a particular distance instead of lap count… maybe because it’s a new route and not set up right for laps.
Sorry to take your spot on the podium Pike ;-). Loved the new course, the steep section really makes you work for it and Was also surprised to see that we needed to do another 150 meters or so after the arch… Luckily I had some reserve and pushed to the podium. Ride On!
First of all, Great race report Eric! And I know a guy that’s fully 16kg heavier than me and he can get up Titans Grove KOM a minute faster than me! That’s my box of humble pie…
Whilst (what a great word! We don’t use it enough over here in The Colonies) fixing sandbagging is vital key to making Zwift a better place to race there are much bigger fish to fry at the moment. I say this as a high C cat racer which if rife with tools (fools?) jumping into our events and making things more difficult than they should be.
I’m speaking of Zwiftpower which is completely effed up and it would seem Zwift has the C (oh-oh) team on it. Those are the guys on vacation until the 12th. Of January. Of 2021. Or something like that. I’ve had events that are over a week old not getting posted and there seems to be no end in sight. Without ZP, there’s no reason to worry about sandbaggers or their ilk, the Zpower riders beating us down. ZP makes the races relevant and if Zwift can’t get a handle on it, we’re going to have to find another outlet for our Virtual Bike Racing Jones.
Thanks for listening and keep up the good work, Eric!
New to Zwift, how can you tell someone is using Zpower? Also, how do you know if you are sandbagging, most my workouts are between 3.0-3.9 with occasional surges in power for hills, I’ve only done one race, signed up as a B and it seemed like there were at least a few people averaging over 3.9 power, so what happens if u finish a B race with over 4.0 avg? are you considered sandbagging? for this I finished 5th of the 16 in the front pack, with a 3.81 w/kg
Riders on Zpower do not have a lightning bolt next to their w/kg. See the screenshots under The Start section where you can see that W.Fioole is on ZPower.
You’re sandbagging if your FTP (Functional Threshold Power) is higher than the category you’ve signed up for. B is usually up to 4.0 w/kg. If you’ve not done an FTP test, then definitely do one! Essential for doing workouts properly, useful for tracking improvement, and needed to make sure you’re in the right category. You’re probably a mid-high B but you may surprise yourself with that FTP test!
I’ve wondered about this myself as I have delved into the delights of Zwift racing. According to Zwift Power I am a high B but in a recent crit city race ( cat B) I averaged 3.9w/kg but 10 of the top 15 had averages of 4 or over, exceeding the B cat limit. However, I am enough of a realist to know that under race conditions it is possible to go beyond your ‘norm’ and exceed your expectations and category limits. Therefore what is deemed acceptable in categorised races when exceeding the category limit?
Depends on the race organizer. But keep in mind w/kg windows are based on your FTP, not your 20-minute power.
FTP in Zwift is computed as 95% of your 20-minute power. So if the cutoff is 4.0 for the B’s, and you average 4.2 in a 20-minute Crit City race, you’re still within the B FTP w/kg window. (4.2 x .95 = 3.99)
Thanks Eric, I’d forgotten about that 👍