Race Report: 2025 Ironman 70.3 Boise

Guillermo Esteves July 30, 2025
Source
A couple of years ago Kate and I spent a long weekend in Boise, Idaho. She came to get a new tattoo, and in the meantime I hung out and explored the city. Boise is a cool town and we had a great time, but I fell in love with the Boise River Greenbelt, a gorgeous tree-lined pathway running along the banks of the Boise River. I ended up running over 50 km that weekend alone. I've been itching to go back ever since. Kate and me in Boise in 2023. Maybe my shirt was an omen. When Ironman announced last year that Ironman 70.3 Boise would be coming back, I jumped at the chance; the idea of finishing a race on the Greenbelt seemed too good to pass up, and Boise is just a short six-hour drive from home. It's a storied race, which ran from 2008 to 2015, and was held in early June. That made it a cold race---the swim is held at Lucky Peak Lake, which collects snowmelt from the surrounding mountains, so the water temperature is around 10ºC at that time of year. In 2012, cold and snow forced the bike leg to be shortened to just 24 km---it was so cold, some athletes wore their wetsuits on their bikes. Maybe the most interesting part of that previous iteration of this race was the noon start, something I've never done. It'd sure be nice to race after a full night's sleep for once. This late-July revival of the race is a more standard fare, with a normal early-morning start and potentially high temperatures: The average high in July is 33.7ºC; temperatures above 38ºC are common. It didn't matter, I signed up anyway. Arrival & Preparations I arrived in Boise on Thursday afternoon and checked into my hotel, conveniently located two blocks from the Ironman Village and T2 at Julia Davis Park. I headed over after unloading my gear to check in for the race and buy some of the usual knickknacks at the race expo. With that out of the way, I went out on a run on the Greenbelt to scope out the run course and see how I felt in the 34.4ºC heat. After getting destroyed by the heat at Ironman 70.3 St. George two months ago, I've put some effort into heat training to prepare for this race---to the best of my ability, since it rarely gets much warmer than 27ºC or so in Jackson Hole. I invested in a Core body temperature sensor to track my heat training, and it claimed I was 99% heat adapted, so I was curious to see if it made a difference in how it felt to run in Boise's much hotter temperatures. It felt... great, actually. I ended up running a full lap of the run course at a relatively comfortable pace and the heat never felt oppressive. The fact that most of the run course is in the shade helped, but that run made me confident that my heat training had paid off. I also saw Paula Findlay and Eric Lagerstrom running along the Greenbelt a couple of times; I didn't want to be too much of a weirdo so I just gave them a quick thumbs up and they waved back at me, which was cool. (They're two of my favorite pro triathletes and their podcast is excellent; you should check it out.) Afterwards, I went back to my hotel room to get my gear bags ready for check-in on Friday, since this race has a split transition. If you've never done a split transition, here's how it works at this race in particular: When you check in for the race at the Ironman Village, you'll get your race packet with your race bib, wristband, swim cap, stickers, and timing chip. You'll also get three plastic bags: a clear one, labeled "morning clothes," a blue one, labeled "bike gear bag," and a red one, labeled "run gear bag." These bags have a space to put one of the stickers with your bib number, and you should also write your bib number on them with a Sharpie in case the sticker falls off. In the morning clothes bag, you'll place anything you need to bring to the swim start, such as your goggles and swim cap, and it's where you'll put the clothes you're wearing before heading to the swim. Don't put anything that won't fit in the bag, such as a bike pump---there'll be plenty of those in transition, and they won't accept your bag if it has stuff sticking out. In the blue bike gear bag you'll put your helmet, bike shoes, socks, bike computer, and anything else you'll need in T1. In the red run gear bag you'll put your running shoes, socks, hat, running belt with bib attached, and anything else you'll need in T2. The day before the race, you'll bring your bike to T1 at Barclay Bay in Lucky Peak State Park, about a 25-minute drive from downtown Boise. At this race, you do not need to check your bike gear bag with your bike, you can bring it with you on race morning---they explained that there's wildlife at Lucky Peak and they don't want it rummaging through the bags if someone were to leave some food in them overnight. There's limited parking there and it gets congested, so don't leave this to the last minute. You'll also need to check in your run gear in T2 at Julia Davis Park. This one you do need to check in the day before. You'll simply walk to the transition area and tie your bag to your spot on the rack. Don't leave any food in your bag overnight; you can bring it on race morning. On race day, you'll unpack your run gear bag in T2 and finish setting up your transition before getting on a shuttle to Lucky Peak State Park (you can't drive there---there's no parking on race day). When you get there, you can unpack your bike gear bag and set up your transition as usual: Attach your bike computer, set up your bottles, hang your helmet from your handlebars, clip your shoes to the pedals if you're doing a flying mount, or just place them on the ground next to your bike (it'll take less space since you won't have running gear to worry about). Make sure to put your gear on top of the bag so it doesn't fly away while you're swimming---you'll need it later. Before heading to the swim, place your clothes, shoes, phone, keys, etc., in your morning clothes bag. You'll hand the bag to one of the volunteers stationed for that purpose near the swim start. After the swim, when you're back in T1, take off your wetsuit, swim cap, and goggles, and stuff them all in your now-empty bike gear bag. You can just leave it on the ground under your spot on the rack; the volunteers will pick them all up and bring them back to Boise. When you get to T2, rack your bike, and change into your running gear as normal. You don't need to pack your bike gear into the now-empty run gear bag---you can simply place it on the ground next to your bike. After the race, there will be an area set up near the finish line for you to pick up your morning clothes and bike gear bag, and then you'll just need to collect your bike and run gear bag from your spot in T2. After the briefing, I did all of that. T2 was easy, since it was right there at Julia Davis Park. It's a great transition area, with tons of space, lots of shade, and covered in grass, which makes it easy to run in bike shoes (although I really should learn how to take them off without unclipping them from the pedals and run barefoot). After walking back and forth a few times to memorize the location of my spot relative to the entrance and exit, I left to go check in my bike at Barclay Bay. I was less enthused by T1. It was set up in the small parking area at Barclay Bay and paved with a rough chip seal surface that looked like it'd be painful to run on barefoot after the swim (although the organizers had thoughtfully laid down rubber mats from the swim exit and up the boat ramp that led to the transition area). At the briefing they asked us to be quick due to the limited parking, so I didn't spend too much time scoping things out and left after racking my bike. I was selfishly hoping one of the people next to me would DNS so I could have some extra space, but no dice. That evening, I double-checked the rest of my gear and hit the sack early, hoping to get a good night of sleep before the race. Race Day Yeah, that didn't happen. I woke up at 1:00 AM and gave up on sleep a couple of hours later. I sure could have used that noon start---I felt tired, groggy, and run down. Not a great start to the day, but I hoped race adrenaline would get me through. I had my usual breakfast of a plain bagel with jam and a cup of coffee, and did some mobility work to kill some time before walking over to the Ironman Village to finish setting up my gear in T2 and hop on a shuttle to Lucky Peak. The weather on race day looked promising, with a forecast high of 33.3ºC---not as hot as I had expected for Boise in July. Someone at Slowtwitch warned me that conditions can be rough in the morning with the wind coming down the mountains, and the forecast said it'd be windy with 32 km/h gusts, but the water looked relatively calm. Even the air quality was good, which is rare for the Mountain West at this time of year, with wildfire season in full swing. If nothing else, it looked like a beautiful day for a race, and I resolved to make the best of it, despite not feeling 100%. T1 at 6:20 AM. After setting up my bike I headed to the swim start at Turner Gulch, a ten-minute walk away from Barclay Bay, and optimistically seeded myself in the 40–43 minute wave. I really liked the way the swim is set up at this race---from the road to the swim start you get a great view of the lake and the entire swim course as the pros start their races. The morning bag collection point is right before the chutes, so if you're wearing a coat or shoes, you can keep them on until right before you get in the water, which is nice and convenient. Athletes going around the first turn buoy shortly after the start of the age group race. The race started for the pro men at 6:30 AM and for the pro women five minutes later; it didn't take too long after that for me to get in the water. My race started at 7:09 AM. The Swim The biggest advantage of moving the race to July is that, at 19.6ºC, the water temperature was pretty much perfect and I felt great in my sleeveless wetsuit---it only took me a few strokes to get used to the temperature and get to work. The swim was a one-lap point-to-point counter-clockwise course from Turner Gulch back to T1 in Barclay Bay, with four turns in total: a right turn about a hundred meters out, before the outbound leg, followed by two left turns before the inbound leg, and one final right turn in the last couple hundred meters before heading toward the swim exit. The outbound leg was roughly aligned toward the sun, which had just risen above the mountains by the time I started, but despite the sunlight reflecting off the water, I didn't have much trouble sighting the buoys. It was a little hectic and I often made contact with people, but nothing I haven't experienced in previous races. I expected things to get easier on the inbound leg; since I'd have the sun behind me and it'd be easier to see the buoys, I'd be able to distance myself from other people. I was wrong. By the time I was on the inbound leg the wind had picked up and the water got choppier, with some big swells. I had the hardest time sighting the buoys, which should have stood out clearly against the hills in the background. Sometimes I'd see a buoy but then not see the next one at all; at one point I saw a buoy way off about a hundred meters to my left. I had no idea where I was supposed to be going, so I had no choice but to follow other swimmers and hope they could sight better than me. At times I felt like I was swimming into a headwind and not moving at all, with only the buzz from my watch's auto-lap function giving me any indication that I was making forward progress. It felt like an interminable slog. Things somehow got worse after the last turn towards the swim exit. This turn funneled everyone into a narrow lane for the last couple hundred meters, and with everyone packed in there, the "washing machine" effect went into overdrive. I got the shit beat out of me there; I got grabbed, punched, slapped, kicked, swum over, you name it. I've never swallowed so much water during a swim before. Any semblance of proper swim form went out the window; I did what I could to get through it, but there were a couple of times where I got smacked hard enough to choke in the water and I had to stop for a second to recover. I really need to learn this style of aggressive, full-contact, no-holds-barred, no-fucks-given swimming some people seem to do. I'm way too defensive about it. After all that, I finished the swim in 48:09, with an official pace of 2:30/100m, technically my slowest 70.3 swim to date. However, according to my watch I swam 2.1 km, almost 200 m more than I should have, with a pace of 2:16/100m, so at least it wasn't actually my slowest swim ever. I'm not sure where the extra distance came from, but this photo probably explains why I couldn't see the buoys---the wind had moved them all over the place. View this post on Instagram A post shared by IRONMAN Triathlon (@ironmantri) If there's any consolation, it's that the people I talked to at the food tent after the race all agreed this was a tough swim, so at least it wasn't just me. It was tough. T1 I felt bloated when I left the water and ran through transition, with a sharp pain on the side of my abdomen, which I'm pretty sure was caused by the water and air I ingested in that last stretch of the swim. It felt like the same issue I had at Ironman Coeur d’Alene two years ago, where I DNF’d, and at Ironman 70.3 St. George last year, where I barely finished. Well, fuck. There wasn't much I could do about it except press on and hope it went away, so I got my bike gear on, sprayed some sunscreen on, packed my swim gear, and left T1 after 10:15. The Bike The bike course starts with a quick segment on top of Lucky Peak Dam, followed immediately by a fast, steep descent down the dam road, which they recommend taking with caution (and in fact, on race day I saw someone who had crashed badly at the very bottom). After that, the bike course goes through backroads in the farmlands outside of Boise. It's moderately hilly, with only a handful of climbs and 568 m of elevation gain. The surface is mostly chip seal, but at least in good condition, without a lot of potholes or hazards that I could see. The best part of this course is that from the moment you make that left turn just south of the airport to the moment you get back on Gowen Road, the race is entirely on closed roads. That's 56 km of racing without a single car in sight---pure bliss. It's worth mentioning that for most of the course you're riding in the left lane, so the first and last aid stations are left-hand grabs, something that had never occurred to me to practice (and apparently not many people did---the road along the first aid station had more bananas on the tarmac than a Mario Kart track). It's a good bike course overall, perhaps not as scenic as St. George or Coeur d’Alene, but enjoyable nonetheless. View this course in Garmin Connect or Strava. I left T1 and coasted down the dam road, using that time to assess how I felt, and whether or not I needed to adjust my race plan. I had set up a Power Guide on my Garmin with a target intensity of 80%, which Best Bike Split estimated would give me a 2:33:04 finish time. I planned to fuel that effort with two 24-ounce bottles of Maurten Drink Mix 320, for roughly 80 g/h of carbs, supplemented with plain water in my bike's aero bottle for some extra hydration in case the day was hotter than expected, which I had the brilliant idea to freeze overnight (the bottle is black, and at St. George my water was unpleasantly hot halfway through the race). However, between my lack of sleep and now the abdominal pain, I didn't think I had it in me to follow my pacing plan, so I mostly ignored it, paced by feel, and just enjoyed the ride. I enjoyed this dam segment. | Credit: FinisherPix The pain didn't get worse and I could hold my aero position comfortably, so I put in a solid effort nonetheless, especially on the climbs. The course was fairly crowded, but other than a handful of times where I was blocked by other riders, and a short segment on Gowen Road designated as single-file riding, I had plenty of space to pass folks. I did see something I had never seen before in the dozen races or so I've done: An age grouper in front of me got a blue card---a two-minute penalty---from a referee. I couldn't tell if it was for drafting, blocking, or littering, but it's good to know it does happen sometimes. Gearwise, I stuck to the same setup I used last month in Coeur d’Alene, except for one change: I replaced the Bontrager Hilo Comp saddle that came with my bike with a brand new Wove V8 saddle, and it's the most comfortable bike saddle I've used. I had zero discomfort, which helped me stay in aero longer than I would have otherwise. I kept my two bottles in my existing BTA setup, but one of my goals for this summer is to learn to do aerodynamic testing and see if that's more or less aero than putting one of the bottles behind the saddle, and if any aero benefits are worth trading the convenience of having both bottles in front. The most glowing review I can give to this saddle is that I didn't think about my ass even once the entire ride. I enjoyed the climbs and put down some decent power in aero to pass people on the flats. The weather was pleasant---it didn't get too warm, and the wind wasn't too bad, although I could definitely feel a headwind on the westbound portions of the course. The only sketchy part of the course was the very last descent on Pleasant Valley Road on the way back to Boise, where I got maybe a little overconfident until a strong gust of wind almost knocked me off the bike. I white-knuckled it the rest of the way down, cursing loudly. The ride was otherwise uneventful, and locals were cool and supportive throughout the whole race---except the guy wearing a cowboy hat with a large knife hanging from his belt who gave me a big thumbs-down near the end of the bike leg. Somehow that hurt more than if he had given me the finger. Eastbound on Tenmile Creek Road. | Credit: FinisherPix I finished the bike leg with an official time of 2:34:45, in 29th place in the M40–44 age group, and only about two minutes slower than Best Bike Split estimated, despite not following my pacing plan at all. Not bad. T2 I rolled into T2 just in time to hear Paula Findlay being announced as the winner of the women's pro race, as I expected. Nice. I racked my bike, changed into my running gear, used the toilet, and ran out in 6:57. The Run By now the sharp pain on my side had become dull and diffuse, but more importantly, despite drinking most of my two bottles of Maurten, my stomach wasn't sloshing, which meant it hadn't shut down. I thought solid food would be easier on my stomach than gels, so I planned to rely on Maurten bars for the run, eating half a bar roughly every thirty minutes. That's about half the calories I'd usually consume during a 70.3 run, but since I had fueled properly on the bike, it might be enough to get me to the finish line without either upsetting my stomach or bonking. I did notice that my trisuit was covered in salt; I'd definitely need to focus on hydration, grabbing water at every aid station and electrolytes as needed. The run course consists of two laps on the Boise River Greenbelt, starting and ending at Julia Davis Park. It's pancake-flat, with a mere 26 m of elevation gain, and significant tree cover providing plenty of shade for most of it---if I had to guess, I'd say 60% of the course is in the shade. The course is not closed to the public, since Boise residents use it to commute and recreate, but everyone, athletes and residents alike, were cool about it and happy to share the space (this also makes it exceptionally spectator-friendly). It's a phenomenal run course, and I have a feeling this race is going to end up on several of Ironman's Athletes’ Choice Awards lists this year. View this course in Garmin Connect or Strava. The run went pretty well, all things considered. My pain eased, although it never went away---I think the bars helped. The heat maxed out at 34ºC towards the end, according to my watch, but it didn't feel as sweltering as I expected. I didn't dig particularly deep, but kept a steady pace that felt about RPE 7---not easy, but not too hard. The shade definitely helped, but it was interesting to compare how relatively comfortable I felt running in this heat compared to the pure misery of that run in St. George just two months ago. Almost at the finish line. | Credit: FinisherPix I had a good time. I walked through every aid station for water, high-fived every spectator I could, waved at the people watching the race while floating down the river, and before I knew it I was back in Julia Davis Park for the final stretch to the finish line. I finished the run in 1:48:07, with a final pace of 5:01/km. My total time was 5:28:10---a personal record for the 70.3 distance, which I was pleasantly surprised by, considering I wasn't feeling well from the start and didn't go all out. I was 37th in the M40–44 age group, and 354th place overall. I wish I could have done this race at my best, but it certainly could have gone a lot worse---finishing with a PR is more than I could have asked for. I'll take it. I don't think I've ever been more encrusted in salt after a race. | Credit: FinisherPix After the race I was interested in seeing how I did in the new World Championship qualification system, which multiplies each athlete's actual finish time by their age group's "Ironman 70.3 Standard" to create normalized, comparable times across all ages and then ranks everyone together for the slot allocation and rolldown. In the age-graded results, I was 228th overall with an age-graded time of 5:03:56 (5:28:10 × 0.9262, the standard for the M40–44 age group). With only 35 World Championship slots for men, I didn't stand a chance at getting one---it's safe to say that with this new system Worlds is firmly out of reach for now, but no matter, it simply means I'll need to work harder. I'm in this for the long run, anyway.

Discussion in the ATmosphere

Loading comments...