2025 Season Planning: The First Steps
When I realize how nice it would be to have superpowers
1 year on from my writing a similar post, and not much has changed: season planning continues to somehow be both exciting and absolutely my least favorite thing. If I could race every race in the world in one season, you bet I would. Of course, this is simply impossible. Even if you were a combination of Bill Gates, Tadej Pogacar, and the owner of a supersonic jet, you’d run up against more than a few hurdles.
Part of me feels I’ve fallen into a bit of a rut. I have done similar races most years, and honestly, I’m getting to the point at which I think I will continue turning to the longer events (i.e. Traka 360 over something like Mid South 100). That being said, I still like to mix it up, and the general flow of the season I’ve fallen into over the year seems to work. If it ain’t broke, don’t fix it, right?
Maybe wrong. I think it’s good to mix things up. It provides a new perspective on the season and can help to keep my mind fresher deep into the season. It also can provide a different training and racing load benefit that can help me maximize what I can get out of my body in the areas of stress and recovery.
In my Mind
Let’s dive into it, not in any particularly organized way, because I want to go through it in the way I initially thought about my season, in my own head.
I want to go back to UNBOUND XL and the Traka 360, and I want to go over to Europe for Swiss Epic and Marathon MTB Worlds. With both the Traka and Swiss Epic/Worlds being major logistical and cost hurdles, a lot of my season will naturally be dictated by these, even if they are not major target races (which they are). With Traka 360 and UNBOUND being a month apart, I have to be conservative in between to recover and be at my best at both. I can do what I did after Breck Epic this year (race Gravel Worlds 300 a week later), but that is not a recipe for success in most cases. Best not to try that again.
After an amazing experience at Oregon Trail Gravel, it definitely is tempting to go back there, and with a second Europe trip in the plan and the addition of numerous other American Gravel Earth Series events, I could realistically target the overall (you need to complete 3 races to do so, and I did 2 this year). Mapping that out, that makes 2 massive races in May and early June and 2 stage races in the summer (late June and mid-August). That’s a lot of stress on the body.
Then, there is Leadville… the one I spent $510 on last year because I had no choice but to register within a week after Silver Rush 50 once I got my coin. No problem. I can just defer to 2026, right? WRONG.
Shit. I can defer, but I would have to pay that massive sum again. While I really want to do Leadville, it also means I’d have 4 days between that and Swiss Epic beginning. This is not ideal, of course, but also… I spent $5.10 per mile on just the entry to a race, so I would like to go there and spend my 7 hours with this cost written on my top tube as a reminder to make sure I get everything out of every pedal stroke. I kid.
So those big races + a trying to see about GE overall…
Let’s start the season like last year: Mid South + Rattlesnake Gravel. This was a nice combo because Mid South has become my normal “season opener” and has a stacked field, whereas Rattlesnake is a laid-back, super fun, super welcoming race that is a great way to ease into it. That was a great way to start last time, so let’s do it again. Plus, Joe needs a team drive, right?
Let’s get rid of BWR because, meh. Instead, let’s either try to get to Europe a week early and hit a race before the Traka or go to Sea Otter for work and sponsorship networking.
For the Traka, can I stay with Joe? (WhatsApps Joe) Yes. That works perfectly, then fly home and prep for UNBOUND.
HOUSING… MUST GET HOUSING NOW. Sometimes, this race is just too much. I cannot believe I spent $1200 on just the deposit for a place to stay at UNBOUND. Luckily I got a refundable place that has room for 4-5 others so I can split it easily and keep looking for a cheaper spot when people cancel. Cue 10 people asking me on May 20th if I have space for them and all of their friends.
After UNBOUND, let’s take a quick break and then shift to part II of the season. Let’s go back to Oregon Trail, if possible (TBD on costs), then let’s do the normal “local” Marathon MTB circuit in CO, WY, and MT, including Butte 100. These are cost-effective and logistically easy races. After that, Leadville, Swiss, Worlds, and Ranxo Gravel to finish out the GE series since that is required to be scored. If that European block does not work, then Breck Epic and Gravel Worlds again. In October? Let’s see if I have anything left.
Mapping it All Out
When it comes to mapping out my season, I just duplicated the spreadsheet from last year. It’s essentially a wishlist of races I might do in the future, with places for keeping track of dates, registration, costs, travel, and more.
Here it is in its entirety, with old dates for most races.
Once I narrow down the list, I can keep track of which ones are “yes” and “maybe” and filter to just show those.
Pricing can sometimes be inaccurate when I make this (some races still show 2024 info), but here is the section further to the right on the spreadsheet with the most accurate pricing I can find.
I then have it set so that the total cost cell only includes “yes” races so I can mess around with the schedule and see what the costs will be. The next step for me is mapping out rough travel and lodging costs and other costs for the remaining races. With August having two different pathways, this gets more complicated, especially when it comes to registration. For some races, you just have to go ahead and register if you want a spot (i.e. Mid South) or get in the lottery (i.e. UNBOUND XL). For others, like Swiss Epic, I have a bit more time, but I can’t wait until July. Hopefully, by then, I’ll know if I’m going to World Champs.
Once I map all of this out and run it by my coach, I can figure out exactly what will fit and what won’t fit physically, financially, and logistically. To be honest, some of the “local” (and by that, I mean within 9 hours) races end up being more last-minute calls. I often have a few options on a given weekend and make a call closer to the event based on preferences and future event prep – if it’s one that is easier to get into at the last minute, of course.
That’s just a little sneak peek into my season planning. For those who do this for a living for professional teams, chapeau, but I don’t envy you. The result of getting to experience these races is amazing, but the puzzle to put it all together is not quite as fun.




