How I ran an Ultramarathon

September 2025

On September 13, 2025, I ran my first 50K ultramarathon. An ultra is any distance longer than the 26.2 miles in a "normal" marathon but, the "shortest", "entry-level" distance is the 50K (31 miles). Mileage-wise there's only 5 miles separating the two events, but (I imagine, as I have yet to run one) the energy and pace of a largely flat road marathon are much different from ultras with long stretches of trail devoid of other runners and hill after hill, which amounts to thousands of feet of ascent (mine had roughly 6,300 feet, more on that later).

A flyover of the race course generated from the GPX file using mapdirector. Best viewed in fullscreen.

Let's start at the beginning... the very beginning

When compared to those around me, I was likely at the peak of my running career as a fourth grader. My crowning achievement was when I ran more laps than anyone else in PE and was rewarded with the ever-prestigious prize of a plastic, gold-painted foot-shaped keychain. In hindsight, I was probably the one who cared enough to try that day. Regardless, things went down the comparative hill: by the time I was a freshman in high school I struggled to run "the mile" in under 8 minutes. Then, in my college years, I dabbled in weight training and mountain biking but didn't seriously lace up a pair of running shoes until I came back home from university.

In December of 2022, a combination of running laps with a friend around the same fourth-grade schoolyard and the purchase of a running watch was the catalyst for me running my first (in a long time) 5K. From then on my relationship with running was a snowball - small at first but growing as time went on. Over the following months I began reaching personal milestones:

Pushing distances further than that entered my mind soon thereafter, and I started 2025 running a bit over 50 miles each month. It was then, in July that I seriously set my mind to signing up for the "Berkeley Trail Adventure" 50K, a race at the start of September.

I didn't follow a training plan. Instead, for the next two months I decided to double my monthly mileage (100 miles per month) and started running lots more hills (13,000 ft in July and 12,000 ft in August). I capped off July with my second-ever marathon-distance run, through which I aimed to gauge how I was feeling about the race. While I did decide to sign up for the race, in truth I was feeling uncertain. By the end of August it had become clear that doubling my monthly mileage and more than doubling my elevation gain was too aggressive of a change and was putting a lot of strain on my body. Even then, those of you who are familiar with ultras, probably know that I wasn't exactly overtrained. The adage is that you'll be alright on race day if your weekly mileage/elevation roughly matches that of the event. I was both too aggressive in my "training" and yet undertrained.

What I did have working in my favor was knowledge of the course. In preparation I had run every section of it at least once and most sections multiple times. The hills of Tilden and Wildcat Canyon felt like my own backyard. I also went in with a pacing strategy. Now, my "strategy" amounted to the night before entering my goal time into Garmin's pacing calculator and splitting the pacing sections up by changes in elevation. At first, I wanted to roughly target around 14 minutes per mile (7 hrs 20 min total) based on what I had run in training, but thought to myself "sub 7 hours would be cool," so I set my target time to 7 hours with an average pace of 13:46 /mi. My split sections were paced based on elevation, but I had heard that even when trying to pace for the easiest uphill efforts Garmin's calculator would still give you climbs that are too fast. Knowing that going in would inform my "real" pacing strategy as there would be a few long, brutal climbs in the latter half of the race.

Garmin pacing strategy
The pace strategy from Garmin's pacing calculator.

The race

Race day is here. The weather cannot be more perfect; Bay Area fog blankets Tilden in a cool, calming mist. Over a hundred people (the 50K and 30K runners) set off at 8:30 a.m. in a long line up the single-track trail that marks the first climb. My strategy is to start off in the back and then slowly make my way through the pack. The feeling of consistently overtaking people throughout the day is great. Everything is going according to plan, and I'm enjoying the company of the other runners - some are quite jovial while others are laser-focused.

The fog creates patches of mud under my feet and makes my hair look a lot sweatier than I actually am. The photos snapped by the race photographer along the first descent taught me to wear sunglasses and a hat in my next race, unless I want to look like a happy cretin in my race photo. After the first aid station at 4.6 miles it's time for another climb. When I tell people I ran for 7 hours it sometimes feels disingenuous, as in reality my run time was "only" 4:17:45. Most of the hills are taken up by my walk time of 2:34:40, and the aid stations account for my idle time of 6:44.0. The reality is that walking the hills is much more energy efficient. The time difference between walking with a purpose and running uphill is minimal and is more than made up for by the energy walking reserves for the later efforts.

Run/walk/idle time splits
My run, walk, and idle time over the course of the race.

I'm powering up the next hill and slowly gaining on a girl ahead of me. Looking back, I figured I must have been quite annoying as a runner because I would latch on to a person and stay around 15 feet behind them for a little while before eventually overtaking them. When we get to the top of the hill, the girl launches into a stride and immediately falls flat on her face. Not sure if that was my fault, but I help her up and then launch into a stride of my own.

From there the course takes me along a ridge-line and a long, gradual downhill. It's here that I start building a time bank against my watches prescribed pacing goal time of 7 hours. First, -2 minutes ahead, then -5 minutes, and at the bottom of the descent -12. I'm feeling good, and based on the pace of those around me I'm not the only one. That means I need to slow down. Another adage is that during a race, if you aren't feeling good, eat something, and if you are feeling good, slow down. I'm not even halfway through, but I know that if I give in to the hype and push my time bank even further, several hours from now I'm going to regret it. I do, however, feel compelled to stay on the heels of Patrick, the guy in front of me with his name printed on his running vest. When we get to the second aid station at the top of the next hill, Patrick remarks, "dude, you were on me the whole time! right on!" to which I reply, "you're my north star, man," making everyone at the aid station laugh. You have a lot of time during these things to go through every hypothetical dialogue tree in your mind.

The next leg of the race is a relatively flat section followed by another descent. Here my time bank remains steady and I'm no longer consistently passing those around me anymore - instead I'm consistently trading places with a few now-familiar faces. The girl who I had helped up over an hour ago bounds past me.

People talk about ultra running as being a test in problem solving. It's lucky then for me that my biggest problem is my race bib, clipped to my shirt by four bobby pins. Immediately after the start I somehow lost my bottom-left pin, and now on the downhill the wind is blowing so strongly that it rips through the top-left pin. I descend the rest of the way awkwardly holding my bib trying to avoid having to wave like a flag.

At 3 hours and 13 minutes I reach the bottom of the descent, the 3rd aid station, and pass the halfway mark. Its time for a 5-mile loop up and down a hill, back to the same aid station - because why not add some more elevation? This section is mean. There are multiple ways up this hill, but the route takes me up a path where I almost have to climb on all fours. I was anticipating it from having encountered this section in training, but I imagine it's a nasty surprise to those unaware. The sun has come out in full force, the wind is flapping my bib so wildly that it rips another hole, and I'm cursing the route setters under my breath. The saving grace of this section is Patrick, whom I had caught up to again. We motivate each other through conversation and keep a solid pace throughout this tough section.

He takes off ahead of me back down to the aid station, where I then spend a short time rearranging my pack and finally fix my bib, getting ready for the tough hills of the latter half. Overall, my time at the aid stations during the race was minimal, and I felt like I used them quite effectively to refill on water, eat snacks (GUs/gels, stroopwafels, even a piece of watermelon), and prepare for the next section.

Nutrition prepared for the race.
Nutrition I had gathered a week before the race. I didn't end up taking all the GUs with me to the race, but I did end up taking other snacks from the aid stations.

Its time to ascend. The long gradual uphill I had come down just an hour before proves challenging. While I do leave Patrick behind, my excess time bank is shrinking. A -10 minutes ahead of schedule drops to -6. While I'm expecting this because of how Garmin has paced the sections, it's not exactly motivating either. I force myself to keep a good pace but am in turn forced to take things a little easier when I am all of a sudden hit with the foreboding threat of a cramp in my leg. The end result could have looked a lot different, but I immediately take salt tablets and relax my effort slightly, allowing me to stave it off.

The miles after the uphill are a blur. The sun's beaming and I'm constantly monitoring my time bank. A flat section, an aid station, another uphill. On the flat sections I'm able to maintain my time bank, but any uphill depletes my extra time even further. I pass the girl who had tripped hours ago, and heartily croak, "Nice job!" as I try not to return the favor and trip in front of her. One of my favorite things about the race is how friendly a bulk of people are. At the level I'm at you're not really competing with others; you're facing the challenge that you've set for yourself. Everyone recognizes that and so you can't help but cheer each other on.

I pass the marathon marker at the final aid station and encounter the final, and most brutal ascent of the race. The mist-filled scene where I had my photo taken is now a sun-beaten single-track trail. My time bank shows -2 minutes ahead of schedule at the bottom but I decide I must power through without falling prey to looking at it and completely tiring myself out out of desperation. I push up the next mile of loose gravel under the sun telling myself I can rest when I'm done. I reach the top; on any other day I would enjoy the awe-inspiring view of the bay this section provides, but instead I look at my watch. I'm +3 minutes behind schedule and only have another 3 miles to go.

Photo of the view
The view from one hill over which is almost as stunning.

I start to fall into despair. I've lost a lot of time. I hear a person behind me and with every switch-back she's getting closer. I stumble forward. I'm over six and a half hours in and I'm exhausted. I'm exhausted, but the wheels haven't fall off. The wheels haven't fallen off and its all downhill from here. It's all downhill from here, and while sub-7 hours is not guaranteed I might as well go for it.

I take off down the hill which I had come up earlier this morning. I'm flying (or at least it feels like I am). I'm weaving around families out on hikes, loudly saying "thank you," and giving it everything I've got. There's no time to look at my watch.

I have one mile left and I won't lie - I'm a little emotional. I'm feeling like a freight train running. I'm absolutely barreling past other racers in the final half mile. I crest the hill and spot the finish line. You better believe I'm sprinting over it. The race timer reads 6:58:59. I've done it!

Looking back I still can't believe how cinematically it all played out. The roller coaster that came with the time bank, the sprint at the end to hit my goal - it feels unreal still. It's not going to matter how many more races I run, I doubt one will play out quite as memorably as this.

In total I ran 31 miles (well, 30.9 according to my watch), but the elevation is a little unclear. The website lists the total ascent at 6,800 ft, my watch tells me 6,340 ft, but when I download the GPX file it tells me 5,900. Regardless, it's a lot and its completely battered my legs in the weeks following the race.

My total time was 6:58:59. 46th of 75 finishers. The fastest that day was 4:22:09 while the longest before the cutoff was 8:36:01 - congrats to both of those people. That first place time is an insane accomplishment, but in a way the last place is almost more impressive as they were out there for that much longer and may have worked themselves harder than anyone else. You can view the results here.

What's next? Honestly, I don't know. Well, honestly, honestly, I have ideas but if I told you then I'd have to do them. Until then I just like running.

Thanks for reading! Here's a link back home.