I recently completed the 2025 Gravel Burn, a first of its kind 7 day gravel stage race hosted in South Africa by the original creator of Cape Epic riding on behalf of the Taco Time Northwest cycling team. Throughout the event, I documented my experience for our friends and family back at home. This post memorializes the trip via the compilation of the updates from the Karoo.
Feel free to read the entire diary, or skip ahead to specific days:
Pre-race:
- Post 1 — October 20th, 2025 — Seattle
- Post 2 — October 22nd, 2025, Cape Town
- Post 3 — October 23rd, 2025 — Cape Town
- Post 4 — October 24th, 2025, Kynsna
- Post 5 — October 25th, 2025, Kynsna
The Race:
- Post 6 — October 26th, 2025, Avontour — Stage 1
- Post 7 — October 27th, 2025, Graaff-Reinet — Stage 2
- Post 8 — October 28th, 2025, Blaauwater — Stage 3
- Post 9 — October 29th, 2025, Blaauwater — Stage 4
- Post 10 — October 30th, 2025 — Merino — Stage 5
- Post 11 — October 31st, 2025 — Gwanishi — Stage 6
- Post 12 — November 1st, Shamwari — Stage 7
- Post 13 — November 2nd, 2025 — Conclusion
The Aftermath:
Post 1 — October 20th, 2025 — Seattle
I’m racing the first year of the Gravel Burn, a 500 mile, 7 day gravel bike stage race through the Eastern Cape of South Africa.
My trip begins tomorrow — Flight leaves tomorrow at 5pm.
Thanks for all the well wishes and support this year through all the training.
Post 2 — October 22nd, 2025, Cape Town
Wheels down Cape Town, 48 hours later and 10,210 miles away from home. I’ve made it to the beginning of the second chapter of my journey.
Routing through Dubai permitted my first visit to the UAE. I was delighted to see such amazing architecture rising from the sand and equally surprised to discover geographically spread out the city was. I had hoped to get out and explore last night but given it was 90 degrees when I landed and given the Burj Dubai was a 45 minute walk from the hotel, I ended up opting for rest. Visually, from the base, the Burj seems substantially smaller than I imagined it would be in person. A good reminder than perspective influences everything.



Cape Town immigration was a breeze, my bags were waiting for me as soon as I had cleared, and I’m now on my way through the beautiful scenery of Cape Town to our team house.


While flying, we received an update with this video from the first camp, and the following forecast:
“Heads up — temperatures are forecast to drop to around 3°C for our night in Avontuur (daytime temperature above 15°C). We’ve said it before, but it bears repeating: it can get very cold out there, so come well prepared! In the same breath, the weather for Stage 5 is predicted to reach 36°C.”
I’m wishing that forecast had been sent 72 hours prior but feeling less silly for packing a massive Taco Time Cycling Team down jacket.
We are spending a few days in Cape Town before heading for the start at Knysna on the Eastern Cape.
Post 3 — October 23rd, 2025 — Cape Town
I signed up for the Gravel Burn December 2nd, 2024.
Today, 325 days later, the Taco Time team has assembled in Cape Town, the bike’s have been assembled , our warm up ride is in the bag, we’ve dipped in the ocean and we’ve topped Table Mountain.









Tomorrow, we head east from Cape Town — 5 hours through George to stay the night in Knysna near the start.
Today’s warm up ride took us south to Chapman’s Peak. For those that are interested, here’s a route overview video Gravel Burn put together.
The team toasts tonight to our spouses and families to support us on the adventure. Thank you.
Post 4— October 24th, 2025, Kynsna
An early morning departure from Cape Town today accommodated a stop at Cape Point / Cape of Good Hope (the most south-western point of the African continent) and African Penguins at Boulder Beach.
We found road-side Ostrich’s and Elephants on the way to George.
We’re staying the next two nights in Knysna before the race starts Sunday morning.













Post 5— October 25th, 2025, Kynsna

We arrived in Knysna late yesterday evening with enough time for a quick ride to loosen up after 8 hours in the car. Trevor’s family met us at the house and chefed up a delicious Braai. They’ve been amazing hosts and we are very thankful for their hospitality.
Today was wet. Very wet. And the forecast continues with heavy rain into our start tomorrow. The first stretch of gravel we arrive to is a rich red African color which will be plastered all over us an hour into the day.
We pre-rode the first climb in the rain, and it’s a steep one with grades up to 11%. But it’s always fun to watch the pro’s ride by as if we’re standing still.
After hitting registration, we decorated our bikes with the Burn stickers and number plates and did our final preparations for our early departure.
52 miles and 6775 feet await us (full route preview can be found in Gravel burn magazine here).
After the start, I’ll have more limited cell signal but will aim to provide daily updates.












Post 6— October 26th, 2025, Avontour

Today started off wet. And not like Seattle wet. The literal moment the race started, the skies unleashed a torrent of water unlike anything I’ve ever experienced.




Once we turned from the tarmac to the gravel, the surface became a red tinged mud pit which then evolved into washboard gravel covered in a mud slurry. The mud worked its way into brakes and derailleurs generating all kinds of new and interesting noises that carried on through out the day. I’m absolutely going to get my monies worth from the Specialized service package and am thankful for whomever has to service my poor bike.






The rumor percolated through camp that Specialized’s entire mechanic team was up until 4am replacing every single bike’s brakes, and new brake pads had to be brought in from Johannesburg.

The rain kept up all day except for two quick reprieves that permitted a brief excitement only to lead to a quick let down as the drops started falling once again.
The clouds covered what would otherwise have been spectacular views. We finally got some visibility on the last climb of a day and I was able to snap some epic shots.




Trevor took 3rd in his age group and Kyle is 8th in his group. The rest of us are enjoying ourselves like civilized humans not bent on the destruction of our legs.
My goal of winning an entry to the Night Burn is proceeding well — I rode with my buddy Mike today and took it easy, finishing 427th overall. The entries to the burn are based on your sprint position in a 1KM sprint tomorrow compared to my general classification standing after Stage 2, and those showing the greatest improvement will qualify. I’m hopefully in good shape. 😂
Pulling into the first burn camp gave a bit of Fyre festival vibes with a field of tents, freezing temps, wind and major lines for the showers. But once every one warmed up, smiles returned to faces.



It’s supposed to drop down into the 40s tonight and stay that way at the start tomorrow which is unfortunate given every ones riding jackets are now soaked. But the temps should rise quickly and improve for the rest of the week. Just one more frigid morning to survive.

This was certainly a memorable start to the race. 😂
Post 7— October 27th, 2025, Graaff-Reinet

Today started off cold. As in literally frozen. But the frost burned off the moment the race started, the weather transitioned to a stunning day.




The gravel today was as advertised from the December promo website — smooth and well flowing but with chunks of washboard.
Mike and I started the day riding with a larger group (though we lost Coz at the start), enjoying the tarmac as the weather warmed up.
We quickly arrived at the most technical riding of the week, known as “The Shallot”. Riders walking their bikes up small boulders reminded me of an Everest rope line.







Our current animal checklist:
✅ Penguins
✅ Baboons
✅ Dogs
✅ Cows
✅ Sheep
✅ Springbok
✅ Black Back Jackel (smooshed)
✅ Spring Hare (also smooshed)



My plans for the sprint went well despite my ability to understand signs. I started the sprint 700m early, but was able to keep the power down and finished 58th. Coz from our team finished 44th and Justin 57th.


Trevor and Kyle had a great day.


Arrival at Willowmore led to a two hour bus transfer to our camp ground at Graaff-Reinet on the local school grounds.








Post 8— October 28th, 2025, Blaauwater

It’s the conclusion of day 3 and I’ve lost all semblance of mental capacity. There’s some hope that we’ve only got 4 more days to go, but then we remember each days gets elongated.
Mike unfortunately couldn’t sleep last night and wisely made the decision to take a rest day. I ended up riding with Justin at a much more aggressive pace than the prior two days.
Today’s ride was actually quite lovely. Probably the best of the 4 days so far. It was marked by a 1500 foot hill climb that became progressively steeper the higher we rose. The gravel exhibited far less washboard and what was there was navigable with ease.
Heat was the real killer today — with water consumption increasing exponentially attempting to stave off headaches. I think I drank close to 6 liters throughout the day.
We can add Alpacas to our animal checklist.
In more exciting news, I won the Challenger jersey today by moving up 110+ places. Thanks Justin. 😂 I’m cleaning up on what Kyle calls the “sandbagger awards”.

The night burn is tonight — a 700m triangular course with 40 riders mass released being chased by Tom Pidcock. The winner takes home another special prize (and suffers more tomorrow).




























Racing in the Night Burn was memorable, if only to learn that it’s really hard to see through dust and smoke through a bike headlight at night. You can find a full collection of photos here.
We also had a full tornado rip through camp today. It carried off 2 full Hyperice tents, a pair of boots, and 3 umbrellas.


Found the graveyard of lost water bottles. At some points in the course, 20 of these are lying around. Casualties of the “champagne gravel”


Post 9 — October 29th, 2025, Blaauwater

Today’s Hump Day and it was -fucking awesome-.
Mike’s back in action today and we loved the stage. We’re both in high spirits.




69 miles with as much elevation as yesterday but very gentle climbs. Great cloud cover. A tail wind most of the day with just enough head wind to make it funny. An incredible gravel decent from Kom Pass to Nieu-Bethesda where Mike and I went full send, catching air over berms.
I’ve moved up 3 more spots in the age classified GC.
The rest of the team had a less ideal day filled with challenges. Trevor had 4 flats. Chris had 1 flat. Justin had a light spill in the water crossing.
Tomorrow’s a monster of a day — 137km / 85 miles. But it’s also a huge tarmac day, which will be greatly appreciated by every one here.














Post 10 — October 30th, 2025 — Merino

Today’s a ton of tarmac and decent followed by a monster 13.3 mile 2700 progressively steeper climb to the finish. What comes down must come back up. 🥹
Complete mental collapse. Brain capacity now negative. Quite a contrast to yesterday.
Today was the longest day yet (tomorrow is longer). But 55% of the day was on tarmac — a much needed reprieve from the washboard gravel trying to shake the bolts loose from the bikes and the screws loose from our brain.
My legs felt strong today — Mike and I rode with a large peloton and I ended up at the front for most of the day.
At 20–30 mph, the miles flashed by and suddenly we found ourselves at the base of the final climb — roughly 13 miles and 2700 feet. Needless to say, this climb broke people, both physically and mentally. Every one in camp looks like a zombie. That was the hardest stage yet. The hill climb was absurdly hot and the last 3 miles was a 10% grade — demoralizingly steep. People started walking with 3 miles and 1200 feet to go.
Tomorrow is going to be interesting…











As we settled into camp, a storm started to blow in over the hills. A prelude of what’s about to come…





Post 11 — October 31st, 2025 — Gwanishi

2:18 AM: The only thing that could possibly make riding the longest stage better is doing it on no sleep in the middle of a wind storm.
✅
A massive wind storm blew through camp beginning at 1:30AM and progressively built in intensity.
Sleep was impossible. By 3:30 AM, I was out of the tent exploring what was happening in camp. At 5:00 AM during breakfast, the wind blew one of the tent supports into our table, hitting the two unoccupied seats and missing our team by inches.

At 5:15 AM, we were evacuated to the helipads, then to the medical tent. Once the rain passed, they pushed the start to 8am, with a neutralized start until the first aid station. We rolled off the line around 8:20 with a fairly substantial tail wind, but unpredictable and gusty. The entire field started at the same time, resulting in a mile long line of riders going two by two in dirt tracks.








Mike and I made it 8 hours and 11 minutes later.

It was a day of ups and downs and downs and ups.
As the course wound its way around, you’d find yourself getting hit on the side which was rather unpleasant and borderline dangerous.
The sun was out and the day had warmed up — setting a false tone for how the rest of the day would unfold.
The first climb was fairly gentle with great views from the top.
The decent on the other hand was anything but gentle.
We came by a pretty serious crash on the first decent, and a second after the first aid station. We later learned once we rolled into camp that the entire race stage today had been neutralized because of that crash on the first hill. Wind took a pro’s bike out from him mid air on one of the bumps of the descent and he punctured his lung — fortunately he’s ok and was recovering at a hospital.
Mike and I made our way carefully to the second climb and as soon as we left the aid station at its base, the storm started again. Blue berry sized hail rained down (so thankful for the helmet) and thunder ricocheted off the canyon walls. The fresh rain made the top layer of dirt just wet enough to stick to tires, stealing all of their traction.
The top of the second climb opened up to stunning views and another very intense and steep decent.
After the third aid station, we made it to a tarmac section and worked with a group. Miles flew by at 27 mph.
In the final gravel section, the storm once again returned.
We finally rolled into camp 8 hours and 11 minutes after we started.
It was a hell of a day and we’re glad to have made it in one piece. Also, we can add Vervit Monkeys to our animal check list. ✅






















Post 12 — November 1st, Shamwari

A car alarm from the emergency trucks woke up camp at 430am. 😂


Today we ride 70 miles through Shamwari game reserve and conclude the night staying in the park with a big party.






We made it, but I was too exhausted to write an update.









Post 13 — November 2nd, 2025 — Conclusion
And with that, the race has concluded.


I couldn’t muster the energy to write a summary on the last day, both due to physical exhaustion and also the reality that it has been a challenge to originate words that properly describe the experience.
We’ve talked a lot as a group about the fact that most of this trip won’t make sense to folks that weren’t here. The stories we’ve told and laughed over won’t be funny or memorable to people back at home. It’s an interesting and unexpected outcome for me but makes sense given the intensity of the experience.
Yes, the race was hard, but at the same time, it was remarkable. Some of the best riding I’ve experienced was intermixed with some of the most challenging — and many of the most phenomenal moments were had on the verge of complete physical shutdown. It was a new feeling to experience that yin and yang of triumph and defeat in such a compressed time frame but it was eerily similar to the entrepreneurial journey.
I’m glad I signed up, showed up and finished — as the hours of training accumulated over the last few months, it became increasingly attractive to bail out. Instead, finishing something so demanding and uncomfortable brings a sense of accomplishment and inner peace.
I’m also incredibly thankful for my family for being so patient with the time commitment this took over the last year.
I’d like to give a shout out to my riding partner Mike McGuffin. The two of us approached this race not worried with position, instead focused on completion. His company throughout the 33 hours and 26 minutes of saddle time was fundamental to making it over the finish line — particularly on the last two days where my knees were screaming at me on every rotation to stop.
Over seven days of intense riding, our team had no major crashes, health or mechanical issues.
It was also impressive to watch the rest of our team show up day after day, ready to throw down and compete.
Kyle finished 6th in his age group and 58th overall — an impressive feat given 34 of those top spots are occupied by pro racers.
Trevor finished 87th overall, Chris 186th, Justin 202 and I took 303rd. 566 riders were registered for the event. 480 riders finished on day 1. 383 finished all seven stages.
The day after the race, we were fortunate to visit Addo Elephant park — the second oldest national park after Kruger. We’ve then slowly been working our way back to Cape Town with a night in Port Elizabeth and a night in George.
South Africa is an astonishingly beautiful country and I look forward to visiting again in the future with my family.
Thank you to Trevor and his entire family for being such outstanding hosts. Trevor handled the logistics of transporting seven of us and our bikes all over the country flawlessly.

In Conclusion — Rights and Wrongs
I wanted to touch on things I got right and wrong with my packing and bike configurations.
Things I got right:
- Cane Creek eeSilk Suspension stem was a very nice addition and smoothed out a lot of the washboard.
- Specialized Pathfinder 45 tires were great both on the gravel and the tarmac.
- 52 gearing on the Crux was incredibly helpful for the steep climbs.
- Running with a single saddle bag was nice — I started with two and ended up running one for the last few days.
- Cargo shorts were clutch to hold excess nutrition.
- Mixing nutrition between bottles and gels was also super helpful. I ran plain water or light electrolyte in my backpack and Neversecond high carb drink mix in my bike bottles. The pre-measured drink packets were very helpful to reduce things I needed to think about.
- Shocks headphones with downloaded mixes from YouTube also really help pass the time. I’d turn them on when solo or on big climbs and off in groups or on technical descents.
- Carried an extra SRAM battery was the right call— my fully charged one died mid ride day 1.
- Having 5 days to get accustomed to the jet lag was very helpful.
- It was nice to have a few days post race to reflect and normalize before being thrown back into the world.
- Bringing Imodium and taking it at the first sign of trouble in the camps was very helpful.
- Daily antacid tabs to deal with sour stomach from all the gels.
- Wearing double bibs on the longest days was a life saver to a very sore bottom.
- The massage package was a brilliant addition.
Things I would have changed:
- I would have carried less repair kit in my saddle bags.
- I would have leveraged 1 aid station a day and brought way less of my own nutrition (but was trying to avoid new things on a race day). I would have moved through the aid stations faster.
- I would have brought better rain gear.
- I would have packed more layers to deal with temperature issues. Would have packed a wool hat and gloves.
- I would have premixed my night time recovery drink mixes (creatine and magnesium power) instead of bringing the whole canisters.
- Would have had my bike fitter double check my cleat alignment or verified it against photos from my last fit first. I’m guessing that’s where my knee pain originated from.
- I would take the bike back off every night before they washed the bikes. Mine are pretty toasted now.
- I would have brought spare TP.
- I would have brought light weight sleeves for sun protection.
- I would have brought more vitamin c immune system drink mix. Mine ran out on the second day.