Race Report: Berkeley Half Marathon
Motivation
This fall, I’ve been training to race the California International Marathon (CIM) in Sacramento. I’ve run off and on through the years, but more consistently since Covid, and was peer pressured inspired to try a marathon since starting to run regularly in a club a couple of years ago.
It’s nice to show up on race day with a bit of practice under your belt, and given that I’m a relatively new racer, I decided to sign up for a couple non-goal races: The Star City Half Marathon on October 4th, and the Berkeley Half Marathon on November 16th.
I realized at some point that the Berkeley Half is actually my first road race as an adult. I’ve done the Star City Half Marathon now twice (2022, 2025), but road racing itself was brand new to me as of this training block.
Strategy
My estimate is that I’ll run CIM somewhere between 3:30 and 4:00, with 3:30 being a rather aggressive goal but 4:00 feeling pretty conservative. One of the reasons I signed up for the Berkeley Half was to see if an equivalent half marathon pace was achievable for me. With the help of an online calculator, I came up with 1:40 as a half marathon time that would tell me that I’m ready to attempt a 3:30 marathon.
Unfortunately, my speed work leading up to this race felt a little inconsistent. While a 1:40 half seems like it should be doable for me given some times I’ve run in the past, I wasn’t totally confident in this, so I set a goal I thought would be more achievable and less likely to blow me out—1:45. If I felt good in the later parts of the race, I thought, I could pick up the pace.
To keep myself honest with this pace and to avoid starting out too fast, a mistake that other (often experienced!) runners make, I set up a Garmin PacePro plan that would give me grade-adjusted splits to account for the about 630 ft / 192 m of elevation on the course. I like to try and keep my heart rate consistent regardless of elevation change, so I cranked the slider on uphill effort all the way to the “easier” setting.

Report
Night Before
My prep for the race started last night, when I got myself off to an inauspicious start by eating way too much spaghetti. I probably ate a 2000 calorie meal: a full box of spaghetti plus some store bought sauce that I added a fresh onion, mushrooms, and some garlic to. The reason I did this is kind of stupid: I planned to eat about half the box, but then was still hungry, ate another half of what remained, and then reasoned that what remained of the spaghetti was not enough to be a full meal, so what was the point in keeping it? I ate that too.
My stomach paid for it. I felt so bad that I went for a walk and the pressure in my stomach had only gone down a little by the time I went to bed around 9:30.
Morning Of
Somehow I managed to fall asleep and woke up as planned at 4:00 so I could eat at 4:30—three hours before race start.
My pre-race meal is some yogurt and three Oreos. I’m still looking to improve on this meal. It’s fine, but I’ve been eating whole fat yogurt, and fat and fiber consumption should be minimized the morning before a race to minimize GI distress. I’ve eaten this before training runs, so I know it roughly sits fine with me, and the golden rule of race day is not to try anything new, so it remains for now.
I left around 5:30 to get to downtown Berkeley. There’s no BART this early, so I took a series of two buses: the SFMTA 49 and the AC Transit 800 bus, which replaces BART when BART doesn’t run.
Unfortunately, due to detours, I had to get off the bus early and take a BayWheels bike into downtown. To make matters worse, I lost my handheld bottle, which bounced off the front rack of the bike as I was riding along. It was past 7:00 at this point, so there was no time to go back and look for it. I figured I’d get water on the course.
I arrived at the start around 7:15. This was later than my desired 7:00 arrival, but despite some last minute stress, it ended up being fine. Gear check was easy; the biggest time suck was the line for the bathroom, which meant that I missed the first wave of the race and got in line with a group at 7:35 or so. I had my first gel (caffeine Carbs) while waiting.
As we got closer to the front, the emcees noted that we were the last wave. Uh-oh. I am not last wave material. I thought I had estimated when registering that my time for this half would be 1:45, which is about a 90th percentile finish. I pushed toward the front in the last wave to try and minimize the number of people I’d have to run past.
The Race
I kept to my PacePro plan very closely as the race started. The adrenaline is real! I think my heart rate was already at 160bpm before the race started, and my sense of pace was completely skewed. What felt to me like an easy pace initially was actually way faster, so my watch was essential in keeping me honest. I did allow myself to get a little bit ahead of pace, but tried to keep my total ahead time relatively close to PacePro’s splits.
I was glad to get the steeper climbs over with earlier in the course when my adrenaline was still high. As expected from my running style, I went a little slower on the uphills than PacePro wanted me to, but faster on the downhills. Most road runners that I know complain about running hills, but I actually like them; they keep the course interesting.
I kept waiting for my effort during this race to start feeling hard. While some of the adrenaline did wear off as the race went on, I felt consistently fine even going at a speed that burnt me out in a tempo workout a couple weeks ago. My heart rate also stayed in check: I was seeing high 160s/low 170s about halfway through the race. Knowing that I can hold this heart rate for a couple of hours, I let myself get a little ahead of pace after reaching the flat section around mile 8 on the course. At the turnaround point at mile 9 or so, I was still feeling fine, and this seemed late enough in the race that I wasn’t likely to blow up, so I picked up the pace a little more. By the time I reached the gradual hill back to the start point between miles 10 and 11, I more aggressively pushed my pace to get my heart rate up toward 180, which is where things start to feel unpleasant for me, but I knew would be sustainable for a few miles. I finished with my heart rate around 190 with a hard push to the end for a chip time of 1:41:45, equivalent to 7:45 min/mile (4:50 min/km) splits.
While running, I ate the only gel I took out (a Carbs sodium) shortly before the turnaround at mile 9. I also got fluids (Gatorade at first, accidentally, then water) at that turnaround station. I missed my bottle. While it’s nice not to have to run with a bottle, trying to drink out of a cup while running is a mistake and I definitely sloshed some Gatorade on myself as well as lost time at the aid station.
Takeaways
I’m happy with this race! Strategically, I raced it well, though I made a few poor decisions that ultimately made it less than ideal. Still, the purpose of this race was to get a sense of what I was capable of in a road setting and serve as a dress rehearsal for CIM. I feel like it served that purpose well.
I also understand why people enjoy road racing now! There was a lot of energy on the course from spectators and all the runners. This is a really inspiring environment that I think helped my performance. While the appeal of trail running is intuitive to me, and I love the trail race I’ve run twice, it is much different, because after the first few miles, it opens up and there are far fewer people.
What went well
- Pacing and overall strategy: Ended up erring on the conservative side, which is where I wanted to be. Did not go out too fast and made the smart decision to make up the time at the end instead once I knew I’d be okay.
- Generally felt strong the whole race.
- BayWheels is a great way to get to races, actually. I thought the stations would be totally slammed, but there was plenty of availability outside of the station right by the start line, which was infeasible to get to anyway.
What could have gone better
- Transit. I balked at the extra $20 the Berkeley Half wanted to charge me to take their bus from San Francisco to the start line. I can get there for much cheaper by myself! I did, but the additional hassle and stress was not worth it and some of my other problems were downstream of this decision:
- Not having my water bottle: Drinking out of the cups on the course basically requires you to stop running. Also, I wanted to take my gel with water, which meant that I needed to time eating it before an aid station.
- Start position: I did not realize how many people there would be at this race! There were 3426 runners, which basically meant that, unlike the small trail race I’m used to, you never really get away from other people. Because I started so much farther back than where I should have been, I spent a lot of time trying to get around other people or being frustrated when I couldn’t.
- Shoes: My shoes were generally good, but one came untied around mile 12. I also felt some minor blisters come up during the race. They didn’t bother me too much for this distance but I’d worry more about the marathon distance.
- Carrying my gel packet: After having my only gel on the course, I was planning to throw it away at the aid station where I had water, but it seemed like all the trash cans said “recycle”, and my gel packet is not recyclable. I ended up running with this to the next aid station and deciding to throw it away there no matter what, because it is ridiculous that I have to think about the appropriate receptacle to put my trash in while I’m running a race. In general running with something in my hands is less than ideal, and I particularly dislike running with these gel wrappers because the gel inevitably gets on the outside, then on my hands and makes my hands sticky.
- PacePro: PacePro is great in theory, and I find its overall ahead/behind field useful. What is less useful is the split pace field. I expected this to be roughly the same as the pace field on other screens of my watch, but it is not, so I was not really able to use this to pace myself properly. Testing done by a Redditor shows that this field appears to be projected split completion time from the time run so far plus the time to completion if running at the prescribed pace. This is not obvious to me in general, and definitely was not obvious while I was running.
Where I got lucky
- Weather: There was some rain in some of the earlier forecasts for this race, but the race itself was relatively cool (60°F / 15°C or so) and dry while running, though the ground was wet. While I don’t mind running in the rain, I’d be a little worried that it would make things more slippery, which would have mattered with some of the lines I was taking.
- No mishaps while taking aggressive lines. I wasn’t doing anything that crazy, but I would hop onto the sidewalk occasionally, cut corners, and even ended up running a few steps on the dirt once to get around other people. There was a low risk of injury, but higher than it would have been on the road.
- 2000 calories of spaghetti did not appear to have an ill effect on race day. I don’t have a counterfactual for what my race would have looked like with a more reasonably-sized dinner, but there weren’t any noticeable effects from this.