Race Reports

Alto Velo Alto Velo

Race Report: Pescadero Road Race W 1/2/3

Race Report: Pescadero Road Race W 1/2/3

Date: July 12, 2025

AVRT racers: Steph Hart, Louise Thomas, Rachel Hwang

Top Result: 3/9 Women’s 1/2/3 (Steph)

Course: 2.7 laps of a loop. Major features include Haskins’s climb (9 minutes or so each lap).

Strava: https://www.strava.com/activities/15093689853

Race Recap:

(from Steph’s perspective)

The field had 9 riders, 3 AV, 3 Terun, 3 solo riders. With Jen and Jamie Chapman, it seemed like this was Terun’s race to lose- our best chance was to try to sneak into a break with one of them. After a chill neutral roll out and first 5 or so miles, Terun started rolling attacks on Stages road. Jen attacked on the second Stage road climb, when I followed the wheel, Jamie countered and motored away solo. By this point it was basically Jen and I solo, I followed Jen’s wheel over the rollers, but she attacked and dropped me on the semi-technical descent, and was able to join Jamie by the intersection of Stage and 84. They had maybe a 15s gap at the start of 84, and despite the fact that I was tucked and doing ~280W, I could still see that I was losing ground on them. 

A few miles down the road Rachel pulls Sarah up to me, and then offers to pull to the base of Haskins climb. I can see we’re losing time on Jen and Jamie, but gratefully take the free ride in hopes I can collect myself. By the time we get to Haskins, Louise and Sofya (Terun) also join us. Not totally sure what to do, I attacked at the base of the climb, and by the top I had a 20-30s gap on the group. Tragically, I also get word that Jamie and Jen have almost two minutes on me. Slowly coming to terms with the ramifications of the situation, I settle in for a 2+ hr solo effort. I won’t belabor anyone with the details of my mental wanderings during a full two solo laps of Pesky loop, but I managed to stay away for the rest of the race, coming in third but still several minutes behind Jamie and Jen. On the 2nd lap up Haskins, Rachel got away solo and came away in 4th place.

Read More
Alto Velo Alto Velo

Race Report: 2025 San Ardo Road Race Masters 35+ 3/4

Race: 2025 San Ardo Road Race Masters 35+ 3/4

Date: August 16, 2025

AVRT racers: Shai Traister, Joseph Garcia

Top Result: Joseph Garcia (13/16)

Course: Three laps of a 23 mile clockwise loop comprising a headwind way out and tailwind back. A ~5 minute twisting rolling climb with short steep ramps and otherwise shallow gradient. Rough pavement in parts, most notably on the narrow bridge on the backside of the course and consistent massive horizontal cracks across the road on the backside of the course. 

Strava: https://www.strava.com/activities/15483432207

Nutrition: 2 bottles with skratch during the race, one gel

Recap: (written by Shai)

I could ride the 50+ race, but I felt good leading into the race and there were only a handful of racers pre-reg'ed, so I decided to "level up" and race the 35+ race.

During warm up I realized that the pavement was pretty bad with horizontal cracks on the road which made it pretty bumpy. I had a small procedure ~10 days prior and the bumps were uncomfortable so I decided to lower the air pressure on my rear tire. I was running tubeless so I assumed it would be fine.

On the start line I pointed to Joe the two riders in the 805 race team as the team to watch for. Based on the pre-reg numbers I knew at least one of them was very strong.

Race started at a good pace and I tried to be near the front. When we hit the first few hills, 3 riders rolled off the front - with one representative of the 805 team. Initially I wasn't too worried because it was a 63 miles race and I thought it would for sure be brought back - this is cat 3 after all, and everyone still had fresh legs...

In the back it was a complete chaos - Myself and 3-4 others pulled on the front, some others tried to attack and get away, while the majority of the field were sitting on and not helping at all. On top of things, the other 805 racer was sitting on, and blocking any attempts to form some cohesive efforts. For the first 10-15 minutes we kept the front group within 20s, and one time it got down to probably less than 10s, but never quite managed to close it.

I tried to encourage others to pull by yelling at people to pull through - and I got yelled back "it's a race, you can't tell me what to do". and I'm like: "really? it's a race? are we all racing for 4th?"

I tried to attack several times and join moves that attempted to drop the dead weight in the group. Then I looked back and saw the 805 guy (who otherwise was just sitting in the group) was bringing it back together. 

After a lap the motor came to us and told us they were 2:45 ahead of us, and I knew this was it. When we got to the hills on the 2nd lap one of the riders set a hard pace which dwindled the group, and then the 2nd 805 racer attacked trying to go for 4th place. We shut it down but that got the group to about ~6 riders.

Race continued and just before the famous bridge with the horrendous pavement I felt that I was having a flat in my rear wheel. I pulled off and realized it was. I don't know why it didn't seal, as this was a relatively new tire that I installed just a couple of months before, but it's possible that the sealant dried up a little. Also I don't know if that was because I lowered the tire pressure (most likely not). This was my 2nd time racing San Ardo, and last time I also flatted - had 2 flats before the race even started. Bad luck.

Anyway, after waiting on the side of the road I saw Joe driving on the front of 3 other riders. Sag car arrived and picked me up.

I still had some cold bottles with Skratch so I went to the feed zone and handed them over. Saw Joe again on the front of his small group.

Bummed for DNP, but even more bummed for missing that winning move at the beginning of the race.

Never make assumptions in a race!

Read More
Alto Velo Alto Velo

Race Report: Winters Road Race - Masters 50+  4/5

Race: Winters Road Race - Masters 50+  4/5

Date: August 31, 2025

AVRT racers: Shai Traister

Top Results: Shai 1 / 8

Course: Two laps of a 24 mile loop. Mostly flat but with a ~3.5mi stair-stepping climb (Cantelow), and narrow twisty descent. There’s also a short gravel slight uphill stretch that is very doable on road tires.

Nutrition: Two bottles with Skratch, two gels 

Strava: https://www.strava.com/activities/15575232027

Recap: 

We had a small group of 8 riders. Right on the start line there was a junior rider who was the only rider in his category, so one of the officials said "go and race with these guys", and he got added to our field.

The race started off pretty chill, with the small group riding mostly easy on the flats and taking turns / rotating through until we got to the climb. On the climb the pace picked up and I hoped to repeat the strategy from Patterson Pass where I caused the group to split on the climb and continue with a smaller group. So I set a hard pace - maybe too hard - and got a gap on the group. I went down the descent, looked back and so no one. I continued riding and kept looking back to see where the group was. No one in sight.

Knowing my FTP, I knew it would be challenging to go solo for such a long way, especially on a flat course like that. I thought that there was some chance there could be a "group B" dynamic and the group would not cooperate, so I decided to give it a go and see what would happen. I set on what felt like a good tempo, kept my head down and rode. I would look back from time to time on straight stretches and I could see the group in the distance. I kept going.

One of the times I looked back they were getting close (~15s). At that point I should have sat up and gone back to the field, but instead I kept going and managed to stretch the gap again. I continued riding solo, with the gap yo-yoing a little. 

I was finally caught just before the 2nd climb (after an entire lap OTF). Obviously, I was pretty cooked so went to the back of the group, but watching out for any attacks. 2 guys were pushing the pace so I moved up to ride with them. Luckily this was a stair-stepping climb so I managed to recover a little bit and when we hit the last and steepest part of the climb I decided to attack again. I jumped, got a separation, but couldn't keep up the power. Continued up the climb with whatever I had left and the junior rider caught up to me. We rolled down the descent and started working together on the back side trying to stay away from the 2 chasers behind.

Despite working well and taking turns, we got caught by one of the chasers about 2-3K from the finish. Pace slowed down and we traded some turns as I shifted my focus to the sprint ahead. We rolled through 1K and at about 500m to go there was a small riser. I decided to give it a go.

I jumped, and started sprinting. Legs were screaming in pain, on the verge of cramping. I looked behind, the junior rider was on my wheel and the other rider behind him. I continued with everything I got left, and was passed by the junior rider. Someone collapsed right on the finish line so they diverted us to the other side of the road which was confusing. I managed to cross the finish line just ahead of the other rider in my field.
Stoked for the win!! Yay!

In hindsight - it was probably the wrong decision to go solo OTF so early. Speaking to the other riders after the race they told me they were cooperating well, and they kept me dangling OFT. Instead I should have waited for the 2nd lap and attacked from the bottom of the climb to create as big of a separation as I could and then try to keep it all the way to the line. 

Read More
Alto Velo Alto Velo

Race Report: 2025 Winters Road Race - Men's Cat 3

Race: Winters Road Race - Men's Cat 3

Date: August 31, 2025

AVRT racers: Jeremy Besmer, Ryan Dyke

Top Results: Jeremy 13/27, Ryan 17/27

Course: Three laps of a 24 mile loop. Mostly flat but with a ~3.5mi climb (Cantelow), and narrow twisty descent. There’s also a short gravel stretch that is very doable on road tires (had no issues on my 28mm GP 5000S TR).

Nutrition: Two bottles of super Skratch with 90g carbs each and two sleeves of shot blocks (50g carbs each)

Strava: https://www.strava.com/activities/15574032472

Recap (written by Jeremy): 

This was a large field of 27 starters with no large team representation, so we figured this would be a pretty chaotic race with good chances for breakaways succeeding. We went in with a loose plan to follow moves on the climb and for Ryan to try initiating an early break, while I would go for a break in in the second half of the race. 

The race started off pretty chill for the first lap, and someone rolled off the front but did not look threatening so the field quickly let him get a large gap. A bit later, Ryan attacked to try to bridge up to the solo rider, and again the field was uninterested in chasing. Ryan + solo rider were (separately) off the front until the climb, and the field took the climb at a hard pace so we caught them both by the top. The climb was over much sooner than I expected so I was poorly positioned in the back half of the group going into the descent. That turned out to be a big mistake when a rider ahead of me crashed halfway down. Thankfully he didn’t take anyone else down, but I had to slam on my brakes to go around. At the bottom, I was alone ~10 seconds behind most of the field. I rode a hard pace for ~5min to try to catch back on for and was caught by a few riders who had been behind me. We worked together to get back to the field near the end of lap 1. 

Lap 2 also started with minimal group organization and a few people occasionally rolling off the front solo without any success. Ryan again rolled away from the group a few miles before the climb, which set me up well to sit in and get in a perfect position in the group to counterattack when we caught him at the bottom of the steep part of the climb. Excited to make some noise on the climb, I shifted to get ready for the steep section…and then I made no noise as I couldn’t pedal with a dropped chain (cry). I cursed a few times while trying to get my chain back in place without stopping. No luck, so I got off the bike to quickly put it back on. This was the most critical moment of the race, so 5 seconds felt like an eternity. I hopped back on my bike, and did my best to smash solo up the climb, but I was dismayed to see a group of 4-5 riders separating from the front of the group ahead of me. 

I descended, saw that I was ~10s behind the main group, and the break of 5 looked like it was extending its gap. I rode solo for a bit but then Ryan and another rider caught up to me. We worked together with Ryan doing some incredible pulls to get us back on to the main group near the end of the lap. The peloton had largely sat up with no organized chase of the break, which had a 1 minute gap. 

I was tired from chasing, so I wasn’t ready to take a pull yet. I sat in to recover, and because there was no organized chase, the gap widened to several minutes and we never saw those riders again. At some point a rider rolled off the front solo, which appeared threatening so Ryan and I went to the front to pull. A few moments later, I realized that I had unintentionally rolled off the front. his was on a flat section where I wouldn’t have intentionally attacked, but nobody was chasing me. I didn’t want to fully commit, so I rode a steady effort. My gap had increased to ~40 seconds by the start of the climb. I pushed harder as the road got steeper, got some ice from the feedzone (thanks, Roger!), and tried to smash the steepest section. Fatigue from earlier chasing caught up to me, and the peloton was absolutely hammering the climb, so my gap shrank to 10 seconds by the top.

I maintained this gap through the descent, and continued riding tempo, figuring this gap wouldn’t last on the final, flat 10 miles of the course. I was caught with 6 miles to go. I largely sat in, thinking of how to play the finish. I was in good position with 500 meters to go, but a pair who had been pacelining snuck around us from behind, carrying a lot of momentum. I wasn’t ready for that sudden acceleration and couldn’t respond. Instead of sprinting for 6th place, I rolled into the finish with the group.


Read More
Alto Velo Alto Velo

Race Report: 2025 Giro di SF Men’s 3

Race: Il Giro di SF - Men's Cat 3

Date: September 1st, 2025

AVRT racers: Matt Carvell, Wil Gibb, Kevin Kauffman, Jack Lund, Drew Mathews, Clark Penado

Top Result: Matt Carvell 9/50

Written By: Matt Carvell

Course: A 6-turn, 0.76 mile, L-shaped course. Small ‘climb’ partway through the course that is very big-ring-able. The course has potholes in several turns that require racers to choose their lines carefully. Generally a fun atmosphere and crowd, aided by kids races.

Strava: https://www.strava.com/activities/15664764144

Nutrition: One full bottle of Skratch strawberry lemonade. It was a relatively hot day for this fair-weathered San Franciscan.

Recap: 

Having taken this year off from bike racing, I was tentative about racing one of the more technical and larger criteriums of the year. But the Giro is just around the corner from my house, and I love supporting local SF racing and culture, so I decided to give the Giro a try. And the SF crowd, the race, and the friendly nearby brewery made for a sweet Labor Day vibe.

I biked over to the race and introduced myself to my teammates Wil, Kevin, Jack, Drew, and Clark. Side note: back in the day, I thought it was odd how some teams had riders who would meet their teammates at the start line of the race. How would they be able to ride together? CAN they ride together? Is this that guy’s first race? Well, life came full circle. I was that guy.

Wil has seen some strong results recently, so we thought he’d be one we could work for. Clark was coming off some strong early-season fitness. Drew was my other SF-local compatriot who gave us all pointers on the course. Kevin was cheerful and excited, which served as a welcome distraction from the pre-race nerves. Jack just got his Cat 3 update and was diving into the thunderdome of crit racing.

We didn’t have a substantial race strategy. As none of us were true sprinters, and knowing that this would be a race of attrition, the idea was to ride together and evaluate who was ‘feeling good’ towards the end.

The race started off quickly, and I clipped in successfully. Wil immediately took a powerful flyer off the front, and we all began to settle into the rhythm of the race. By “rhythm”, I mean navigating a washing machine of riders moving through the peloton, while trying not to drop a chain, mechanical, or crash through the bumpy course (sadly, at least one of these scenarios would happen to each of the other AVRT riders).

About halfway through the race, there was an established 3-rider breakaway off the front. I had started feeling pretty good, happened to be near the front, and was pleased to find someone who wizzed by me, seemingly eager to catch the breakaway. I jumped on his wheel and we were rippin’. But as we approached the start/finish line, we were neutralized by the race officials. Apparently, a crash occurred that required the race to be restarted. So we all lined up and started together.

The restart of the race was tough on my legs, which had been working at their maximum and then stood around cold for 5-10 minutes before being asked to max out again. Others may have felt the same, as I barely dodged another crash in front of me.

With three laps to go, I got quite swarmed near the front. There was no major team controlling or ‘leading out’ the race at this point, so the metaphorical washing machine was on a max spin cycle. Fortunately, I regained a lot of position on the downhill section. I gunned it on the start/finish straightaway to pass another group of riders and found myself around 5th wheel going into the last lap. Perfect.

A Terun rider took a flyer off the front to start the last lap, and his teammate sat on the front, somewhat soft pedaling. As we went through the turns on the railroad tracks, nobody wanted to make a move to bridge to the lone Terun rider. So I sprinted around the group and sent it up the hill section of the race. I caught the Terun rider partway through the downhill and quickly realized he was cooked. Since I was fully committed at this point, I went around him (oof, this is going to be a long effort). 

Caught the leader. My brief lead!

I then heard a crash behind me (phew, glad I wasn’t caught up in that… wait, does this mean that I now have a chance to win? I’m gonna win!). But to my not-quite-surprise, the lead riders caught me on the last turn of the race. I sprinted with everything I had left and held onto 9th. 

Just kidding. The lead was fleeting.

Overall, a fun day, despite the crashes. A few riders grabbed some beers at a taphouse along the course and heckled the pro racers (#crossiscoming).

Thanks for reading!

Read More
Alto Velo Alto Velo

Race Report: 2025 Giro di SF Women’s 3/4/5

Race Report: 2025 Giro di San Francisco Women’s 3/4/5

Date: 9/4/2025

AVRT racers: Katie Monaghan, Sam Dewees 

Top Result: Sam 16/29, Katie 22/29

Written by: Katie Monaghan 

Course: L-shaped 6-corner course with a small bump. Pavement is bad on the backside stretch, and the second corner has tracks on the road.

Strava: https://www.strava.com/activities/15662427460

Nutrition: my typical banana and peanut butter sandwich before and nothing during. Start line gummies

Race Recap:

This was my second time racing Giro di SF. I had a great time racing last year with Katarina Zgraja and I was looking forward to racing again. The women’s 3/4/5 field had an awesome turnout of 29 racers which was exciting. There were a lot of super sprinkles racers, maybe 10?, and the AV representation was just myself and Sam. 

For those of you who know me, I recently decided to upgrade my bike. I bought a barely used Orbea Orca on Marketplace about 3 weeks ago. It has all the nice things: Di2 shifting, nice deep set hunt wheels, crisp disc brakes and a nice race geometry. However, I’ve been having issues with the seatpost dropping. (I’m hoping carbon paste and a torque wrench are going to fix that going forward but we will see). I planned to race the Orbea at Giro but at 9 pm the night before the race, I began to have second thoughts. The women’s 3/4/5 had a crash last year and at this point I’m still more comfortable riding hard and taking corners on my old trusty CAAD10. I figured it's a good crit bike, who needs nice things? So I debate via text with a few teammates but ultimately decide to take my CAAD to SF. I wasn’t able to move over my power pedals because I don’t yet own a 8 mm allen key. I figured that I don't look at my power in crits anyway so it didn’t matter. Steph Hart told me she could not possibly support this decision because “how could you ever ride a bike without a power meter?” If you bother to read on, spoiler alert: I maybe should have raced the orbea. 

Race starts, things are going smooth. Pavement is a little bad, oh well. The corners are fun and fast and the field is big. Yay, all things that I like! Lots of SF AVer’s came out to support so I could hear cheers from the sidelines at most points during the race which made it even more fun. Shoutout to Richard Red, Simon Parton, Robin Kutner, Jermey Besmer and Ari Fischer for coming out to support! One of my favorite parts of AV will always be the general bike community from the race and club team combined. 

I was trying to stay in the front 3rd of the race to make sure I could see any moves that seemed threatening and hopefully stay ahead of crashes. I was successfully able to execute this for the first 30 minutes of the race. There would be an occasional solo sprinkles rider off the front for a lap or two but they were mainly getting brought back. At about 20 minutes into the race, one sprinkles girl had been off the front for 2 laps and no one was making much of an effort to chase her. I figured that was dumb, sure I only have myself and Sam, but I made an effort on the hill to close the gap. After I initiated the chase, the rest of the peloton eventually decided to help me finish it.

Having burned a match, I decided to slot back into the peloton for a little to conserve some energy for what I figured would eventually be a field sprint finish. I slot back to about the 7th wheel but I quickly felt myself slowing. I thought to myself “well I am a little tired but I’m always tired by 30 - 35 minutes into a 40 minute crit, why am I suddenly struggling to keep up?”. The peloton slowly started to slip away and eventually I got completely dropped. I rode alone for the last few laps. During these laps, I was trying as hard as I could to push harder but I just kept getting slower and my heart rate was dropping. I figured this must be late season chronic fatigue and I just had the most catastrophic bonk in the world. Apparently Simon got some dirty looks when he yelled at me during these laps that “it wasn’t a coffee and cake ride and I should get myself in gear”. I didn’t hear it but I still would have found it funny if I did.

We finished the race and I slow rolled off to the side to discover that at some point during the race I broke a spoke. The spoke was slowly causing my rear brake to close down on my wheel and it barely turned by the end of the race. (There is a video of this on my strava post.) While disappointed this happened, I had a big moment of relief. It at least made sense why I so suddenly got dropped by women who I’m normally very competitive against. 

I’m not exactly sure at what point in the race the spoke was broken. My best guess is during one of the bumpy corners over the train tracks. I had an instance or two during the race where things didn’t quite feel right while shifting. I figured my chain was jumping and that I had already become spoiled by the smoothness of electronic shifting while riding my Orbea. One of these instances must have been when I broke the spoke but I don’t know how long I rode on it. I’m very thankful to not have crashed despite the mechanical.

I was able to hand my bike off to the mechanics after the race who fixed my spoke for me in time for me to race the women’s P123 later in the day. This was cool but again the AV community in itself is so great. Steph had seen my strava and already offered to pick up my orbea so I could race again later. Simon had also offered me an extra set of wheels from his house. It’s definitely special to have such a good crew of people behind you.

Ultimately, It was a super fun day of racing. I hate to admit it but maybe Steph was right and I should have found a way to switch over my power pedals. It would have certainly been interesting to see what power I was putting out at the end of the race as my back wheel was slowly getting stopped more and more with each pedal stroke … 


Read More
Alto Velo Alto Velo

Race Report: 2025 Patterson Pass Road Race - Men’s P/1/2

Race: Patterson Pass Road Race - Men’s P/1/2

Date: 8/3/25

AVRT Racers: Flo Costa, Nathan Martin, Andrew Ernst

Top Result: 2nd - Nathan

Course: 4 laps of this. Starts with a 4 mile 1,100 ft climb, has a ripping descent into the second climb which is 2 miles and 500 ft with varied grades. Then there’s a bit of a lumpy descent to the backside of the course which is flat for a bit before opening up to a fast descent all the way to the finishing straight, which is a mile long 200 ft kicker to the finish line.

Nutrition: 4 bottles of mix

Strava: https://www.strava.com/activities/15334592604

Race Recap (written by Nathan): 

This year wasn’t supposed to be as hot as other years, but it would be just as windy. We still had ice socks and cold bottles prepped for the day, however.

Tobin was here, and is always a threat so we’d be keeping an eye on him.

The first time up the climb was pretty steady, but towards the end of the downhill section the first time a break would go that had Flo in it along with a couple other strong riders.

The break would stay away until the end of Lap 2, and no counter move would go just yet.

On Lap 3 things would heat up on the main climb, but on Flynn Rd Tobin would smash it from the bottom and the group splintered. I kept the pace hot over the top, and a group of 4 of us would form. Tobin, me, PA, and Mattheus.

We rotated well together, taking decent turns into the start of the final lap. Even up most of the main climb the last time we worked together well. At the top of Patterson, Tobin attacked, and PA would be dropped here.

The start of Flynn the last time was steady, then I hit it at the hairpin. I was quickly brought back, but went again on the last steep sections of Flynn and gapped Tobin and Mattheus.

I had a few seconds gap on Tobin on the decent, but he was able to quickly bring it back, and it would be the two of us on the descent into the finish.

As the finish approached, we had a wicked crosswind from the right, so I stayed as far left as I could in the run up to the sprint.

I decided to keep it as hard as I could, since I knew I couldn’t outsprint Tobin. It wasn’t enough, however, as he was able to come around me into the crosswind at the end to win.


Read More
Alto Velo Alto Velo

Race Report: 2025 San Ardo Road Race Men’s Cat 3

Race: 2025 San Ardo Road Race Men’s Cat 3

Date: August 16, 2025

AVRT racers: Drew Mathews (DNP)

Course: Three laps of a 23 mile clockwise loop comprising a headwind way out and tailwind back. A ~5 minute twisting rolling climb with short steep ramps and otherwise shallow gradient. Rough pavement in parts, most notably on the narrow bridge on the backside of the course and consistent massive horizontal cracks across the road on the backside of the course. 

Strava

Nutrition: Eggs + oatmeal breakfast. 3x90g carb bottles during the race (60 g malto, 30 g blue agave powder) with ~ 250g Redmond’s Re-lyte electrolyte each

Recap: (written by Drew)

I slept poorly the week leading into the race, and the night before the race, I couldn’t sleep at all. I was happy once 4 am rolled around and was able to say screw it and make my way to San Ardo. 

I had done some intentional heat training the two weeks leading in after riding in mostly thermal bib tights during my first summer in San Francisco. However, upon rolling into San Ardo, it was raining. Da heck, was not expecting that. 

I set up the Bottle Grabs in the feed zone and made my way to the startline. There were around 15 Cat 3 riders in the field, and we combined with the two Cat 4’s since their field was so small. There were two or three junior teams with two riders each, the Moonshine team had three riders, and otherwise everyone was solo. 

I rolled off with the group in the drizzle, eating the spray from the tire in front of me that I hadn’t tasted in some time. The group was content with rolling in zone 1 for the first third of the first lap. Folks rotated some pulls, and I did a few after feeling good and mingling at the front, mostly in zone 2 figuring it wouldn’t hurt me. The drizzle disappeared soon. 

Two of the Moonshine riders took over at the front for the most part after the first third of the first lap. There were some rolling attacks that got brought back halfway through the first lap. One of the cat 4 riders went, and I chased him after forgetting that he was inconsequential to my race. He later went again, and the other cat 4 rider chased, leaving us Cat 3’s to not worry about who’s who as much. 

After some more rolling attacks without any sticking, one of the Moonshine guys went and got a 20 second gap. He dangled out there for a bit, and several of us took up a chase at the front without making a dent. 

We rolled through the feed zone after the first lap, and I went towards the back while taking some gulps from a neutral water bottle. I stuck at the back after the underpass after the feed zone and as we rolled into the climb, one of the junior riders (who ended up winning the race and also hadn’t seen the wind until that point) attacked hard on the first steep kicker. I was caught off guard and was the last rider in the group, and I fought hard to stay on the wheel ahead of me. The rider two ahead of me came off and I lost contact after trying to come around him. I tried to stay steady after the power spike and come back to the group, and I held it around 5-10 seconds for the majority of the climb. After tiring out and realizing I wouldn’t make it on my own, I waited for the rider behind me, who was strong but had done a lot of work on the front on the first lap. 

We rolled together at 25 mph and felt like we would reel the group in. After 10 minutes, we spotted a group not so far in the distance and doubled down. The group came closer and closer, and just as we made contact, we realized it was not our field - womp womp. I was cooked at that point after making a big effort to make it back and decided to sit up after not seeing another group in sight.

Weirdly, the woman at the front of the group we had passed asked us to work for her, to which I said no. She drafted off of the other Cat 3 rider and I for around 10 minutes despite my audible displeasure, and then when I tried to shake her, she attacked off us. Not okay? That was my interpretation. 

I was determined to finish the race, but I had some issues that prevented it. I started chafing, perhaps from being wet at the start of the race, and it got so painful that I could not pedal. I also started to have some pain in my left calf. I was very disappointed to pack it in after the second lap. 

Turned out I had taken off a large chunk of skin from the chafing, so it was understandably really painful, and being tired and sleep deprived lessened my ability to deal with it. I got some Mexican food post race with some P12 boys, and after asking, every single one said they use chammy cream. Lesson learned. The calf pain turned into some sort of muscle strain that left me hobbling around and unable to exercise for a few days after. 

I was really disappointed with this one. I’m coming off a year long gap from racing and have changed my approach to training and racing to be a lot more conservative and intentional with my energy. Nonetheless, I had targeted this race and wanted to do well. My takeaways are that no one has an ideal lead into a race (for instance with sleep, nutrition, taper, training, whatever) and that I have to race with what I’ve got on the start line. With these un-ideal circumstances and things that you can’t control, racing a lot gives me a lot of opportunities to have my day, so I’m looking forward to getting back into a consistent race schedule. 

-Drew

Read More
Alto Velo Alto Velo

Race Report: 2025 Downieville Classic, Pro Men

Race: 2025 Downieville Classic, Pro Men


Date: August 8-9, 2025


AVRT racers: Jon Wells

Top Result: Jon Wells, 26th of 38 in XC


XC Course: 27 mile, net downhill, XC mountain bike race. It starts with ~1 hour climb and then goes into a rolling section on top followed by a long, technical 5k foot descent.

Strava: https://www.strava.com/activities/15403985599 


Nutrition: 2L camel back with ~220g of malto & gatorade mix plus a couple gels

Race Recap:


Downieville Classic is a 2 day mtb race where you must race an XC race on saturday and downhill race on sunday, all on the same bike. It gets called the all mountain world championships and is really a downcountry race exemplified. The descent is pretty chunky throughout and gets technical at times too.

The XC race on day 1 is net downhill but still starts with about an hour of climbing straight out of town. I immediately let the group go and settled into my target HR (170bpm) for the climb. A lot of guys go out too hard but I don’t think staying with the group is necessary in this type of terrain. The climbing plan paid off and I picked off lots of fast starters to finish the climb inside the top 20 in a pretty stacked pro field.

The course quickly becomes more technical over the top, first on some small rolling climbs and then it eventually plunges downhill for almost an hour. I felt strong and confident through the rollers and was still moving forwards through people. But once we hit the DH I started to slide back. Normally in an XC race I’m among the faster descenders, but downieville selects for guys who send it hard on the DH. I was passed by probably 10 guys over the course of the descent. Eventually, the descent gets pretty flat at the bottom and I was able to get back on the gas to stop the bleeding. I ended up in 26th place with a time of 2 hours 22 min, which was well under my goal of 2.5 hours!

DH Top Result: Jon Wells, 26th in DH (25th overall)

DH Course: 14 mile downhill race. A lot of the descent is shared with saturday but there are a few extra technical sections like the infamous waterfall section


Strava: https://www.strava.com/activities/15416429108 


Nutrition: 1L in camelback with 110g calories, drank between my warmup and race.


Race Recap:

The downhill race at Downieville has almost 5,000 feet of descent and took the winners 45 minutes to complete. It is setup like a timetrial, where everyone starts a minute apart. It is not very steep so there is plenty of pedalling throughout. There is a proper ~3minute climb toward the bottom third of the course and then the last few miles are quite flat and require a lot of effort. I took a longer warmup and found some singletrack to rip on beforehand as suggested by some downieville vets, which I think was a smart move. 

Even with my longer warmup and riding some trails, I was still pretty antsy out of the gate and blew through a couple early corners which cost me time. I rode as fast as I felt comfortable and didn’t take a crazy amount of risks, given I wasn’t anywhere near the top of the leaderboard. I hit the pedally sections with everything I had left in my legs. I was faster in all of the shared sections of single track in the shorter Sunday race, as I would have hoped.

I finished in 55 minutes and some change, which was my goal time for the descent. I got passed by 3 or 4 guys on the way down and only caught guys who had crashed so I didn’t think my time was all that impressive (spoiler: it wasn’t). I was in the pack of finishing times, but one of the last guys who didn’t crash or have a mechanical. My time was good for 26th on the day, which combined with the day before left me 25th overall in the pro field. The results are calculated as a points based omnium, which really favors strong DH riders over XC nerds.

Overall, its a super fun race weekend, with lots of extra activities on Saturday afternoon like the bike jump into the river and party in town. I would definitely go back, and also it is a good mtb goal to have on the calendar to get me out riding on dirt more. 

-Jon


Read More
Alto Velo Alto Velo

Race Report: 2025 Portland Crits, Mens Pro/1/2

Race: 2025 Portland Crits - City Blocks, Mens Pro/1/2

Date: August 16, 2025

AVRT racers: Jon Wells

Top Result: Jon Wells, 28th of 37

Course: 0.43 mile loop with SIX corners around a downtown park in Portland, OR. The L-shaped course is super tight with basically constant corners, riding a bit like a go cart track. No elevation and kind of bad pavement in spots.

Strava: https://www.strava.com/activities/15495985548/ 

Nutrition: One bottle of 90g carb mix and a prerace redbull

Race Recap:

Went up to Portland Crit not really knowing how fast the field would be since it was mostly PNW guys and only a couple out of staters but assumed it would be no faster than a local California race. I think this may have been a good assumption, but this is like their biggest crit weekend of the summer so everyone was extra amped on it and there was pretty fast racing all weekend.

I knew this course would be a race of attrition given the super tight and technical course so I wanted to start and stay near the front. I did manage to line up front row but then I also managed to do such a bad job of clipping in that I got shuffled all the way to the back. Immediately I tried to start moving up, but the final stretch is the only place where this is possible since the rest of the course is so turny and tight. You knew immediately going into corner 1 if it was going to be a chill lap or if the guy in front of you braked at  all then you knew you were in for a hard dig to close down the gap he had made.

Ultimately I wasn’t strong enough to come around all the gaps that started opening up from literally lap 1. It ended up being a very hard race, with only like 10 guys remaining in the group and not getting pulled at the end. Was fun to see NorCal guys in the mix but pretty bummed I didn’t get to do the whole race with them. Definitely lit a fire for the next days race though!

-Jon

Race: 2025 Portland Crits - Lloyd Park, Mens Pro/1/2

Date: August 17, 2025

AVRT racers: Jon Wells

Top Result: Jon Wells, 20th of 41

Course: 0.8 mile loop with “four” corners around a shopping center in Portland, OR. The first corner was combined with this tricky low speed chicane to make it a little more technical. One side of the course went through a tunnel with slight hills into and out of it.

Strava: https://www.strava.com/activities/15495985594/ 

Nutrition: One bottle of 90g carb mix and a prerace redbull

Race Recap:

Day 2 of Portland Crits was around a shopping mall on another pretty technical course, with a super tight chicane into a downhill corner that made an otherwise wide open circuit pretty challenging. I wanted to race from the front again today, which I did a much better job of this time. This race was also the OBRA state championship so there were more guys out today.

Race was pretty aggressive from the start with moves constantly flying. I kept myself first 10 wheels to make the tight chicane easier and also follow anything that looked dangerous. My criteria for jumping in a move was it having an expeditors and POA rider plus Ama Nsek (former Natty Champ). I jumped across to a couple such moves in the first 50 minutes but nothing really stuck.

At this point, there had just been a break that got brought back into the mix and the guy riding in 6th position took a big fall in the tight chicane. I was 2nd wheel behind him and had to slow down to avoid crashing. This crash split the first 5 riders off the front (including Ama and the dangerous teams) and we ended up never seeing them again. I chased very hard and was in a pretty serious group of 4 trying to bridge for the next few laps but we never made it across. By the time the field sprint came around, I had already spent all my bullets trying to get up the road so I just rolled in with the group. I was pretty bummed to be feeling so good all race and then have the move of the day just be an unlucky split after a crash.

-Jon

Read More
Alto Velo Alto Velo

2025 Winters RR - Women’s Masters/3/4/5

Race: 2025 Winters RR - Women’s Masters/3/4/5

Date: 8/24/2025

AV racers & result: Hannah Chen, 13/24 (overall) 

Course: Two laps of a 24 mile loop. Mostly flat but with a ~3.5mi climb (Cantelow), and narrow twisty descent. There’s also a short uphill gravel stretch that is very doable on 25mm tires. 

Strava: https://www.strava.com/activities/15582696025 

Nutrition: pre-race beet shot (do these work? I dunno) and gel; 1 sugar bottle, 1 skratch bottle, 3 feed zone waters (shoutout @bottle.grab/Drew!), 2 ice packs; and 2 more gels. I forgot to put salt in my sugar bottle and got a cramp in both legs…

Shameless Plugs:

  1. Are you interested in racing next season? Then come out to one of the following recruiting rides. Both start at 9am Summit Bikes on Cal ave in Palo Alto.

    • 9/13/25 FTWNB-only recruiting ride

    • 9/28/25 open to all recruiting ride (with men).

  2. Come out to Women’s track day on 9/20 at the Hellyer Velodrome in San Jose, open to all WTFNB! REGISTER HERE. This is where I learned to ride a fixed gear bike; the track is extra fun and the friends you make there are even better. If we get 5+ AV women riders out, they will waive our registration fees. You can rent a fixie from them. There’s a beginner session clinic in the morning and then racing in the afternoon. Afterwards, there will be freeeeeeeeee pizza from Pogonip (very, very yummy)! 

Race Summary: 

We combined masters women and 3/4/5 at the start of the race so there was a big field. It was cool to see many teams represented (Sprinkles and Eclipse with 5 each, Lamorinda with 4, and other matching jerseys from Davis, Chico, SGW). I hoped all the other teams would tire amongst themselves battling it out, forget about me, and let me draft/not work.

The first lap was uneventful until we hit the gravel section before the feed zone and the climbers went bye bye. The front group had a few sprinkles; I was in the back of the 2nd group with a mix of sprinkles & eclipse. Funny story: at the feed zone Josie (eclipse) got ice, I was very jealous, but then it fell off her back during the climb. At the top of the climb, Stephen (Gabby’s husband) was handing out ice and when I tried to take one he respectfully responds, “Sorry this ice is for eclipse team only”. But Steeeeephen, I thought we were friends? No worries - my pal Josie tells me I can have half her ice. She gets her ice and then…accidentally drops it. Lol.  

We were a group of 5 after the descent. TURKEY. Random 2x turkey crossing scared the crap out of me, and a group of men decided to rush past us at the exact same time. A while later Eva (eclipse) and a Lamorinda rider caught up to us. 

As the weakest and lone rider with no teammates in the front group, I had high incentives to get a paceline working.  However, this was a complete disaster. Hats off to the Lamorinda rider for being so unbelievably good at not communicating, repeatedly ignoring all six of us trying to teach her how to do a rotating paceline, and coming up with so many novel ways to screw up a paceline. I should’ve given up and conserved energy after it was clear she couldn’t/wouldn’t learn rotations. The biggest mistake I made was when Christina (eclipse) slow rolled at the front so her teammate Eva could break away. I figured we would catch her on the climb/descent but did not realize we would lose so much time dealing with the Lamorinda rider. 

I was tired and mentally spent by the time we hit the gravel section again. It was so hot! I took 2 @bottle.grab at the feed zone. Nathan’s dad saved me with a bag o’ ice (thanks). Despite this relief, I had no more suffering left in me and got dropped the 2nd time up Cantelow. At the top of the climb I broke out my best Oliver Twist impression to guilt Stephen into giving me ice, and it worked! Thanks Stephen. 

Back onto the flats after the descent I could see Josie and Christina 10 sec up in the distance but they’re like “hahaha sucks for you bye”. Friends no more. I later learned that sweet Christina attacked her own teammate because she’s ruthless like that. Respect. The remainder of the race was lonely: I practiced my TT, got leg cramps, and ran out of water, but no one else caught me at the finish.

After the race I went to the Its-Its outlet store and got a strawberry Its-Its :)

Read More
Alto Velo Alto Velo

Race Report: 2025 Winters NCNCA Masters District Championships Criterium - Men’s 35-39 Cat 1-4

Date: August 23, 2025

AVRT racers: Vasyl Stokolosa, Michael Matthews, Ryan Dyke

Top Result: Vasyl Stokolosa (2/16)

Course: L-shaped short course in downtown Winters. 50 min race

Strava: https://www.strava.com/activities/15561687530 

Nutrition: I had half a bottle with a caffeine carb mix, which wasn’t enough in the nearly 99°F heat

Recap: Two groups raced together (35–39 and 40–44), with a total of 33 riders. The 40–44 category had blue tape on their numbers, but it was printed poorly and tapes were flying around the course.

The course wasn’t very technical, just six corners in an L-shaped layout through downtown Winters. We started pretty fast, and the first couple of laps were sketchy for me as I tried to get comfortable with the corners. After about 5–6 minutes, Michael attacked and got a solid gap for a couple of laps before being caught. Ryan and I followed the wheels and rested.

The heat was brutal nearly 99°F and my heart rate was at the limit. After 10 minutes, one guy attacked. We let him go since it was still early in the race and nobody wanted to chase. The peloton rolled pretty smoothly for most of the race with no major attacks. The breakaway rider held about a 10-second gap, and we could see him on the long stretch of the course. I figured he’d eventually get caught.

Cycle Sport and Dolce Vita had the largest squads, but they never organized a chase. With nine laps to go, the breakaway rider still had ~10 seconds. I didn’t want to burn matches chasing at that point I was cooked, just hanging onto wheels and covering small moves. My plan was to focus on positioning for the final lap and give it everything before the last corner.

With two laps to go, we cut the gap down to about 5 seconds. Looking back, that was probably the best chance to go all-in and try for the win, but I gambled that the big teams would close it down. They didn’t. On the last lap, I was well-positioned and sprinted before the final corner to take 2nd place.

The breakaway rider held on to win after nearly 40 minutes solo, averaging 390W. A well-deserved victory.

Read More
Alto Velo Alto Velo

Race Report: 2025 Pescadero Road Race - Men’s P/1/2

Race: Pescadero Road Race - Men’s P/1/2

Date: 7/12/25

AVRT Racers: Hunter Wilson, Erik Levinsohn, Greg McCullough, Cameron O’reilly, Henry Mallon, Nathan Martin, Andrew Ernst, Leo Minami

Top Result: 2nd - Nathan

Course: 3.8 laps of the Pescadero RR course. Starting in Pescadero, heading out to Stage Rd for 2 short climbs, turning onto highway 84 for a false-flat stretch before hitting Haskins, a 6-8 min climb. Technical and fast descent follows, before a slight downhill drag back to Pesky.

Nutrition: 4 bottles of mix

Strava: https://www.strava.com/activities/15093463167

Race Recep (written by Nathan): 

Our race plan was to setup me for the finish, while putting pressure on other strong riders by getting in breaks and sending people up the road.

The race got off to a hot start, Jovanni Stefani would light things up the first climb on Stage Rd, this wouldn’t split the group at all but definitely set the tone for what would be a hard race.

84 would see some more attacks, but nothing stuck and the group stayed together the first time up Haskins, for a relatively tame ascent of the climb.

Second time on Stage Rd, some fireworks would start, with strong riders like Sean Bennett throwing attacks, but nothing would stick and we’d stay together to 84.

The second time up Haskins would be much harder than the first, with the group really splitting up over the top and me being in a small separation with Erik and some others, with me asking Erik to keep it fast on the climb for me. However, we would get caught after the descent.

Before Stage Rd the third time, a group would go with Andrew in it that got some daylight. The rest of the peloton would do the first Stage climb not too hard, but the second climb was more difficult, and when people sat up I decided to attack to try to bridge to Andrew’s group.

I got a good gap and held it on the descent, but I could see Quinn on the front chasing and keeping the gap steady once we hit 84, and the group in front was too fractured at this point to work, so ended up coming back into the fold of the field.

On 84 the attacks continued, a break including Blake from Mikes’ Bikes and Erik went up the road, which was good for us.

Hitting Haskins the third time, Sean Bennett would launch a big attack, trying to bridge. Quinn, Tim, and I followed, and this was the hardest ascent of the race, with the three of us catching the group that went on 84, with the exception of Erik who was still up the road.

As the group was brought back into the fold of the peloton and Erik was caught, the last ascents of Stage Rd were pretty tame. On 84, PA for Mikes would do a mega pull nearly the entire way to Haskins, making this tailwind section very hard and dropping a lot of people from the field.

On Haskins the last time, Mikes would be on the front setting a steady, but not hard, tempo. I knew that Quinn has a good kick, so my best bet at a win would be riding the climb as hard as possible.

So I accelerated, and most of the field followed, but soon Sean would counter attack and the small selection would be made. It was me, Tim, Sean, Quinn, Tobin, and a couple u23 riders in this group. After Sean attacked, I countered his counter and just held a hard pace on the climb. In hindsight, not the best move, as this climb is fast and thus very draftable, but it’s what I needed to try to beat Quinn.

As we approached 500m to go to the finish, Tim came around me to keep the pace high for Sean. Hitting 200m to go, Quinn kicked and I tried to follow, but was nowhere near close enough, coming across in second.

Overall a bit bummed to come so close, but super happy to get a podium at state champs. The team did a ton of work, it was amazing, hopefully next year can get the win here!


Read More
Alto Velo Alto Velo

Race Report: 2025 Crusher Cup (XC MTB) Race #5 - Men’s Cat 2/Sport

Race: Crusher Cup (XC MTB) Race #5 Men’s Cat 2/Sport Age 35-44 

Date: August 24, 2025

AVRT racers: Michael Matthews

Top Result: Men’s Cat 2/Sport Age 35-44 1st/9 (Men’s Cat 2/Sport Overall 4th/45)

Course: ~3.4 mile lap completed four times for Cat 2. The course started with a single-track climb after a short section of fire road. Once up the climb there were a few loose off camber corners to watch out for, some up and downhill switch-backs to manage across the top and then a hillside descent that was on a newer trail. The second half of the course was on the flowy park section of Stafford Lake, in reverse. Passing opportunities were best on the climbs and flat fire road sections earlier in the course. Trail conditions were dry but soft in areas. The finishing straight was short. Wind and weather were not a factor. 

Strava: https://www.strava.com/activities/15573173992  

Nutrition: ~100g of carbs in a bottle for pre/during race nutrition.

Event Recap: Last race of the series! I had to finish one place behind my main rival or I would have to settle for 2nd in the series. The U19 and 19-34 started ahead of my age group. I jumped as many wheels as I could in the rush at the start and started the first climb on the wheel of my rival. The strategy had been to hold his wheel and pick a time to seal the deal when it felt right. It didn’t take long for me to get impatient and make a move on him. I had not struggled to keep him at bay previously. So I jumped him on the first climb, slowly picked off younger riders that had started closer to the front. The leaders, all from the U19 age group and one from my age group were out of sight before the end of the first of four laps. I would catch glimpses of them at certain points of the course so I decided to settle in and set a strong pace for the remaining laps. I slowly started catching and passing riders. Without much trouble I rode in for 1st place in my age category sealing the series!

PC: Seabright Photography

PC: Hiro Suzuki

Read More
Alto Velo Alto Velo

Race Report: 2025 Sand City Criterium - Men’s E3/4 + Men’s E2/3 

Race: 2025 Sand City Criterium - Men’s E3/4 + Men’s E2/3 

Date: Sunday, July 27, 2025

AVRT Racers: Drew Matthews, Kevin Kauffman

Best Finish: Kevin Kauffman 24/37 in E3/4, both DNP in E2/3


Course Description: A fast, short, ~1km course of pretty good quality pavement and 10 corners, a few of which could be linked together. One led to a short climb as the main feature and a fun S-weave into the finish sprint. There were some curb hazards in a few areas that were well marked and called out by officials, but that doesn't mean everyone successfully avoids them (foreshadowing). 

Strava: https://strava.com/activities/15257610920 + https://strava.com/activities/15258090374 

Nutrition: Banana, cold brew coffee, and a half a bottle of carb mix at the start.. ~50g carb mix during each race and in between.


E3/4 Recap:

The race started off with a conservative pace, sans one kid who must have taken the officials first-corner warning as a challenge and, as foreshadowed, the corner was not cleared and we saw his bike take a couple flips through the air. Ok - looks like this will be a race requiring my best cornering competencies! Drew and I spent the bulk of the race in the back third, watching to make sure there were no splits so I could take cleaner lines especially as I planned on doing the E2/3 race next and wanted to keep surges to a minimum. 

After a few laps of familiarization, the course ended up being a lot of fun. I found positions to be the easiest to make up on the climb feature and immediately over the top of it as the pace was slowest here. With 5 to go, I made some good moves in that location and was able to find an acceptable position for the finale. On the bell, I rode the wind coverage with a plan to hammer up that final climb but my plans were promptly thwarted as I got caught in a pileup at the bottom of the hill, long after free lap opportunities. I stayed upright but that ended my race. Pretty disappointing as I felt quite good at the end but that’s just how racing goes. 


E2/3 Recap:

Started in the back third since it worked in the prior race but this one ended up being a lot more surgey than the 3/4. This led to a lot of small gaps very regularly along the lap in no common location. After covering a few and surfing wheels I got gapped with nobody to come around and close it. Looking behind me, I saw there were only 3 others with me with the rest of the field out of sight. Spent three laps mostly pulling for us stragglers and burning through the matches I had left. Had the pleasure of hearing our increasing gap read out by the announcer for another few laps until we finally got pulled. 

Drew and Kevin on the back side of the course in the E2/3 race

Read More
Alto Velo Alto Velo

Race Report: 2025 Patterson Pass Road Race - Men’s Cat 4

Date: August 3, 2025

AVRT racers: Phillip Maier, Vasyl Stokolosa

Top Result: Phillip (5/12)

Course: The race consisted of two laps, each approximately 22 miles with 2,200 feet of climbing. The course starts with a 3.9-mile climb up Patterson Pass Road into an absurd headwind, which makes the 5.4% average gradient seem deceptively easy. A fast descent on decent pavement leads to the Flynn Road climb (2.2 miles at 4.3%, though a false flat lowers the average gradient). After Flynn Road, there is one very technical, slow corner followed by about 12 miles of fast, straight descending on mostly excellent pavement with some small "kickers." The race ends on a heavy crosswind section, culminating in a 0.44-mile, 6% kicker to the finish line.

Strava: https://www.strava.com/activities/15334216299 

Nutrition: Two bottles with carb mix and one neutral water from Nathan’s dad and my sister in the feed zone (along with some helpful ice socks!).

Recap: (written by Phillip) Vasyl and I are both heavy diesel engines (85kg+), and we were hoping to use this to our advantage. We expected the race to be largely attritional due to the headwinds, heat, and elevation gain. Our plan was to stick together until after the final climb when the course flattened out, and then team time trial our way to victory.

Things started out very chill, and the peloton stuck mostly together on the first lap. We were chilling at 3.5 w/kg for 22 minutes, followed by an even chiller 10-minute effort up Flynn. I think everyone wanted to get a sense of the course first.Despite ample warnings about the technical corner after Flynn, someone blasted straight into the dirt. Otherwise, the descent was fast and relatively carefree.The real race started on the second lap. About five minutes into the climb, an unaffiliated rider broke away from the pack, followed closely by a chase group of three. The rest of us (including me) were caught a bit off guard; it was so windy we were mostly heads down with our shoulders hunched.This turned out to be the decisive moment of the race for three reasons:

  1. I didn’t attempt a serious bridge, as I assumed my weight would help me catch the chase group on the descent.

  2. Vasyl had disappeared. (I found out later he had a stomach bug and couldn't hold any fuel down. Moral of the story: Diesel engines need their fuel!)

  3. Even without bridging, the effort ended up being a brutal FTP test (3.9 w/kg) for 22 minutes—something I need to train more with the LKHC season approaching!

After deciding not to bridge, I stayed with the remainder of the peloton (four riders) as we chased the three-rider chase group, which was chasing the solo breakaway. At the start of the flat section, I promptly dropped my chain on a hard right-hander.I spent 30 seconds fixing it and then, sadly, spent the next hour fighting headwinds trying to catch the peloton. I did manage to catch them on the final descent and then promptly spent all my matches to create a gap and time trial away from them to the finish. No sprint was needed for 5th place.I think a lot was learned in this race, most importantly: Keep your head up and pay attention! If you don’t notice when a break goes, the price to catch it goes up every second. 

Read More
Alto Velo Alto Velo

Race Report: Chicago Grit W2/3 Day 8-10

Race: Chicago Grit - Women’s 2/3 

Date: July 25-27, 2025

Day 8 - Elgin

AVRT racers: Louise Thomas, Maeve Roach, and Rachel Hwang

Top result: Rachel 1/20

Course: 0.8-mile loop with 6 corners and a “hill” (~0.1 miles @ 5%)

Strava: https://www.strava.com/activities/15235961406

Recap: (Louise’s perspective) Our goal going in was to get Rachel the win. Maeve had just wrapped up seven days of solo racing and had the omnium locked up, so she was happy to work for one of us, and it was Rachel’s only Cat 2/3 race of the weekend before fighting for survival with the P12s, so we wanted to set her up.

The plan was for Maeve and I to throw some early attacks to tire out the field, and for Rachel to go for the sprint at the end. After a couple solo wins earlier in the week, we figured people would at least chase Maeve.

The course was fun - chicane into a downhill, then straight into an uphill corner. Some of the riders were a bit sketchy though, so it was definitely one to stay near the front.

Maeve attacked first, but the pack shut it down fast. A couple of laps later, I attacked on the hill and no one followed. I went off the front solo for a couple of laps, but couldn’t maintain it and eventually got reabsorbed into the pack. 

Then a Team Wisconsin rider attacked and Rachel went with her, which turned out to be the move. The field never saw them again. A few riders tried to chase, but with no coordination, they never really had a chance. 

(Rachel’s perspective): We chatted about Maeve and Louise throwing attacks, seeing if they could get in a break, and if so, I potentially moving up to join them.  For the first 17 minutes they attacked, and I sat in the field.  My intuition said none of these would stick.  Then a girl in red attacked and my intuition said to jump on her wheel, so I did.  I said, “Do you want to work together?” “Yeah” so we switched pulling.  I was feeling pretty good to be honest so didn’t mind pulling a bit more than her, but we ended up pulling evenly, always trading in the same spots, and I would always pull up the hill.  Well I thought I was going smoothly but she told me that I didn’t have to accelerate up the hill so I slowed down.  For a while the field chased and each lap a man or two would tell us how far ahead we were.  Finally last few laps I knew I could relax.   Last lap I pulled for a decent amount of it and knew I was more fit than her but still wanted to be first into and out of the downhill corner.  So I pulled and went through the corner and attacked and dropped her very quickly.  I tried to post up as it’s likely my last ever race not racing with cat 1 but could tell I was unstable so ended up raising one arm up.

Day 9 - Lake Bluff

AVRT racers: Louise Thomas and Maeve Roach

Top result: Louise 4/23

Course: 0.8-mile loop. Basically flat but with lots of corners

Strava: https://www.strava.com/activities/15246494863

Recap: (Written by Louise) With Maeve and Rachel already scoring wins, it was my turn to be the protected rider. The course seemed reasonably technical and I don’t have much confidence in my sprint, so it seemed like a breakaway would be the way to go. My plan was to sit in for the first half, then try to get something to stick. 

The early pace was spicy, with Maeve and others launching solid attacks. Positioning was tricky with the corners and only two real spots to move up.

Just before halfway, the Team Wisconsin rider (from yesterday’s break with Rachel) attacked. Maeve shouted for me to go, so I bridged. We got a small gap, but the field closed it. In hindsight, I should’ve gone straight to the front to lift the pace instead of sitting on her wheel.

A few laps later, I attacked solo but got caught within a lap. I tucked in to second wheel. Since the field seemed motivated to chase, and I was now sitting in a good position, I reevaluated the plan and decided to play for the sprint. For the next 6 laps, the rider on front seemed content to pull the entire group at a reasonably high pace, even though she didn’t have any teammates. I later found out she is a triathlete - checks out. 

With 2 to go, she upped the pace, possibly trying to ride us off but really just giving everyone a leadout. With 1 to go, everyone started jockeying for position, and I lost my spot, dropping back to 5th wheel. During the sprint, I was overtaken by one or two riders, passed one or two others, and ended up in 4th. Looking back, being 2nd or 3rd wheel out of the corner would have been better because I did get boxed in a bit. 

Day 10 - Fulton Market

AVRT racers: Louise Thomas and Maeve Roach

Top result: Louise 3/23

Course: Flat, 4-corner crit. One of the long stretches was under an elevated train track. That didn’t impact the race, but it made for some cool photos.

Strava: https://www.strava.com/activities/15256347312

Recap: (Written by Louise) Since the field was motivated to chase yesterday and the course didn’t offer many good attack points, I decided to play for the sprint again. I don’t usually love sitting in, but luckily other riders kept things lively with attacks.

About half way through the race they announced a $50 prime, then on the next lap a $100 prime. Turns out in crit racing, if you want to make things spicy, you can just throw money at the problem. It worked: the pace surged, and riders were shelled. Maeve got caught behind but managed to bridge back.

A few more attacks went, some dangerous enough for me to chase them down, but nothing stuck and in the end, as predicted, it came down to a field sprint. I didn’t learn my lesson from yesterday and came out of the final corner 5th wheel again.

This is where things got super sketchy. The lead rider drifted into another's line, causing a crash - collarbone broken, bike flying into the middle of the road. I dodged it but nearly got pushed into the barriers by another rider in the chaos.

I crossed the line 4th, but the winner was DQ’d for not holding their line, bumping me up to 3rd. Apparently, the official winner had been lapped, so maybe I should’ve gotten 2nd, but honestly, I’m just relieved I stayed upright.


Read More
Alto Velo Alto Velo

Race Report: 2025 Shea Center Criterium - Men’s Pro/1/2/3

Race: Shea Center Criterium - Men’s Pro/1/2/3

Date: August 10th, 2025

AVRT racers: George Wehner, Henry Mallon, Leo Minami

Top Result: George 5/30 (Pro/1/2) 5/42 (overall)

Course: 0.6 mile 4 corner crit, with a slight uphill on the start-finish straight. Strong wind coming from the west (start-finish straight was in a left-to-right crosswind).

Strava: https://www.strava.com/activities/15416449706 

Nutrition: 2 full bottles of water, each with 1 tsp sodium citrate. I went through both of them — it was about 95 degrees outside.

Recap: (written by George) This was my first local P12 race after upgrading to cat 2 a couple weeks ago at Chicago Grit, so I was hoping to do as well as I could and see how I stacked up against the rest of the field. Our strategy was to have Henry and Leo try to get in a breakaway, while I sat in as the protected sprinter.

The most threatening team in the race was SpeedBlock Terun, as their sprinter Trevor King won the race last year. Additionally, Monterey Bay Racing had 3 riders, and there were some other small teams and strong solo riders.

This race was quite dynamic from the start — there were a couple significant breakaway attempts in just the first 15 minutes. Henry kept attacking the field to try bridging to these breakaways, and he successfully made it up to a couple of these early breaks, but none of these breaks lasted longer than 5 minutes.

That changed about 20 minutes into the race, when a group of 8 or so riders, including Jacob from SpeedBlock, got up the road and gained a 15 second gap on the field. At the time, I thought Leo was in that breakaway as well, but they were far enough up the road that I couldn’t clearly tell (I was sitting pretty far back when the break went). 10 minutes later, I saw Leo come up behind me and realized I completely misjudged the race situation. Fortunately, Henry and a few other riders had been controlling the field and keeping the breakaway at about 15-20 seconds, but at this point in time I told Henry and Leo to start working to bring the break back.

It took quite a while to catch the break, though. Henry and Leo couldn’t do it alone, and the break hovered at about 10 seconds until the final 5 or 6 laps. I even sent a short-lived bridge attempt pretty late into the race, but all that amounted to was motivating the field. We finally caught the break with about 4 laps to go, at which point solo rider Aubery counter attacked and got a solo gap.

I moved up quite a bit to join Henry and Leo near the front of the race, and with 3 laps to go I told them to take the front of the race to keep things fast. I knew we needed to catch Aubery, and I also wanted to avoid getting swarmed. Henry pulled for about 3/4 of a lap, and then Leo pulled for another 3/4 lap, keeping me out of trouble and making sure Aubery’s gap didn’t get any bigger. With around 1.5 laps to go, though, both of them were gassed and I was on the front with no teammates left. I looked back and saw Miles Hubbard and the Terun train right behind me; fortunately, with Aubery still off the front, they pulled through and I could slot behind them. It stayed really fast until we caught Aubery with half a lap to go, at which point I started getting swarmed a bit and lost a few positions. However, I picked up a couple positions in the sprint, ending up with a 5th place result.

As a fresh cat 2, I’m very happy with how that race went. I still have a bit of room for improvement in assessing the race situation and staying out of trouble in the last lap, but proving that I can compete at this level has given me a massive confidence boost. Huge shoutout to Henry and Leo for some amazing teamwork — I couldn’t have gotten that result if they hadn’t been pulling the break back while I sat in, and the two of them keeping it fast in the final few laps was incredibly helpful as well.

Read More
Alto Velo Alto Velo

Race Report: 2025 Shea Center Criterium 4/N

Race: Shea Center Criterium 2025, Women’s 4/N 

Date: Sunday: August 10, 2025
AVRT racers: Elena De La Paz

Top Result: Elena De La Paz 4/9

Course: ~1km roughly square- same course as the Early Bird crits. Slight crosswind after the 2nd corner and headwind between the 3rd and 4th corners of the course. 

Strava: https://www.strava.com/activities/15415036484 

Nutrition: Oatmeal to start the day. Some Clif Bloks pre-race. It was pretty hot (90+ degrees F); I decided staying cool would be more helpful than a long warm up so I went to an air conditioned gas station and ate a bonus pop tart.

Race: Since I attended several early bird crit races, I am fairly familiar with the course so I was excited to give it a shot. The race also had decent turnout, with 3 of the other riders from the Super Sprinkles team. 

The race was delayed, so we got to experience even more of the hot Livermore sun. However, it was kept to 30 minutes which is quite short. Between the short race and small field size, I should have realized that the odds of a break, even a small one, making it were good.  

All 3 Sprinkles riders started strong. I tend to start crits from the back of the pack, since I’m new to racing and want to avoid pack dynamics, but the group kept splintering and I kept having to bridge the gap to the front. Just as I caught the 3rd super sprinkle rider, she slowed down the pace, leaving her two teammates to continue on ahead. I was a bit tired from a couple of these bridge efforts so I didn’t pursue the main group- this was my primary mistake. 

The Sprinkles rider, 2 other women, and I formed a chase group, but we didn’t communicate. I did a lot of pulling because the Sprinkles rider had no incentive to, and she positioned herself right behind me. Then, midway through, she attacked. I realize her goal at the time was to break up our group and keep us from organizing to catch the break. At the time, my main focus was “stick with her” - which I did, but the non-Sprinkles riders of our group did not. The chase group was effectively neutralized. 

At this point, the race was basically decided. I did a lot of pulling but when it became clear we wouldn’t catch the break, I asked the Sprinkles rider to pull a bit and she did. I got mixed up on the lap counter and sprinted a lap early, but after all the pulling I did, I bet she would have out sprinted me anyway. Overall, I felt fit enough to stick with the group and I learned a bit more about how tactics can play out- the only thing I would have done differently is made a stronger effort to stick in the break.

Read More
Alto Velo Alto Velo

Race Report: 2025 Patterson Pass Road Race - Masters 50+ 4/5

Date: August 3, 2025

AVRT racers: Shai Traister

Top Result: Shai (1/8)

Course: Two laps, ~22 miles/~2.2k feet climbing each. The course starts with a 3.9 mile climb of Patterson Pass Road into an absurd headwind, which makes the average gradient of 5.4% seem deceptively easy. A fast descent on decent pavement leads to the Flynn Road climb (2.2 miles, 4.3% but with a false flat lowering average gradient). After Flynn Road there is one very technical/slow corner followed by ~12 miles of faaast, straight descending on mostly excellent pavement with some small “kickers.” The race ends on a heavy crosswind section, culminating in a 0.44 mile 6% kicker to the finish line. 

Strava: https://www.strava.com/activities/15334451124

Nutrition: Two bottles with carb mix, one neutral water from Nathan’s dad in the feed

Race recap: The race started with the first climb up Patterson pass into a block headwind. We were all individual riders, so we more or less rotated, taking turns in the wind and then drifting to the back to find some shelter. This made for a pretty slow climb up Patterson. As we got to the final part of the climb, where it gets the steepest, I noticed some riders were starting to breath hard around me. It was my turn to go on the front, and I decided to push a hard pace all the way to the top. My goal wasn't to go for a solo break (still early in the race) but I didn't mind dropping a few riders or making it difficult for the others.

It worked! When I got to the top I only had one other rider with me (Owen from Berkeley bicycle), with the next rider about 15s behind. I let Owen go first on the descent (after I pulled the last section in the headwind) and I yelled "Let's work it". Nevertheless, he just free-wheeled down. I passed him and continued pushing on the descent. After a short pull I flicked my elbow and he passed me, this time pulling through. I looked behind and saw no one.

We continued trading pulls and when we turned into Flynn we could see the next rider down the hill, about 40s back. I pointed the rider to Owen, to keep both of us motivated. We climbed Flynn at a good pace but nothing crazy, and then down to the back side where the headwind we had earlier turned into a strong tail wind. I brought my climbing bike to this race thinking it's a hilly race, but now due to the tailwind I was on the verge of spinning out. I wished I had brought my other bike, as even on the climb with the headwind a more aero bike could be better. Owen had bigger gearing and he was content to be on the front, so I just sat on his wheel trying not to get myself dropped.

When we got to the 2nd Patterson climb I was sure Owen would flick me to go to the front, but he didn't! At that point I was pretty confident we wouldn't get caught from behind, so I didn't volunteer to take pulls up the climb (headwind). I felt that I could attack and possibly gap Owen, but I assumed he would catch me on the descents / tail wind sections. So I played nice, and kept it together. We even started chatting a little.

On the backside - same story - Owen on the front and I'm sitting on his wheel. Got to 1K to go and I expected something to happen. Nothing. Got to 200m to go and I remember thinking "ok enough being friendly, this is a race" and opened up my sprint. 200m was a bit far out for an uphill sprint in a strong crosswind, but I assumed I was probably in a better shape after sitting on for most of the race. I immediately got a gap and I continued pushing it all the way FTW!

Read More