I Finished an Ironman 70.3 in 7 Hours and 49 Minutes. Here's Everything That Actually Happened.
On May 17, 2026, I crossed the finish line of Ironman 70.3 Chattanooga. Official time: 7:49:13. Bib 943.
1.2 miles in the Tennessee River. 56 miles through rolling hills in southern Tennessee and northern Georgia. 13.1 miles on foot in 91-degree heat.
This is the full story. The data and gear are at the bottom. Read those if that's what you came for. But the story is the part that matters.
The Saturday before: the song
Nine months of thinking about this race. Nine months of visualizing, training when I could, wondering if I was ready.
The Saturday before, I was sitting at home and every time I thought about the swim, my breathing changed. Not nerves exactly. More like my body trying to communicate something my brain did not want to hear. The anxiety was physical. Real. Increased respiration, tight chest, the whole thing.
My spirit self gave me a song.
Wade through the water We're all swimming down the Tennessee River Wade through the water If no one drowns then we all win
I sang it in the car driving to Chattanooga. I sang it in the Airbnb. I sang it on the shuttle bus race morning while other athletes sat quiet and stared at the floor. I hummed it every time the nerves came.
I looked around that bus and everyone was pretty quiet. I wondered if they were screaming on the inside. Probably. Haha.
Nobody knew they were sitting next to a man performing an original one-song set at 6 AM on the way to a triathlon. I barely knew what I was doing. It kept me from spiraling. That was enough.
Race morning: waiting for the cannon
Pre-race nutrition: chicken parmesan and pasta the night before. Homemade energy bars my friend Erin made. I barely ate any of it — too nervous to stomach much.
Morning of: one boiled egg, some quinoa, mushroom coffee from Everyday Dose. Half a Honey Stinger waffle in line.
That was it. The smallest pre-race meal of my life before the biggest physical day of my life.
My crew — Hudson, Bryan, and Chad — and I waited three hours for the official cannon to start the race. While I waited I practiced grounding. Hand motions, pushing the nervousness out physically. I took my third shit of the morning in a porta-potty on the bank of the Tennessee River. Forty percent of my nervousness went with it. I am not being metaphorical.
Then the cannon went off and the line started moving.
Nine months of thinking about this race and here we were.

The swim start: beep, beep, beeeeep
Rolling start. Every three seconds, three swimmers jump. We had positioned ourselves at the 1:45-to-2:00 pace marker — not the back, not the front. About 1,500 people ahead of us. About 1,500 behind.
The beeping started.
Beep, beep, beeeeep. Line moves. Beep, beep, beeeeep. Line moves.
My heart rate hit 120 just walking to the dock. I probably burned a thousand calories in anxiety alone. As we got closer I could feel everything sharpening. Nine months. This moment. No turning back.
I never thought about quitting. It was not an option I entertained. I only visualized myself swimming to the last red buoy.
My spot in line. Beep, beep, beeeeeeep. The volunteer's hand moved.
I jumped.
The swim: 1:00:39

I tried freestyle for about two hundred yards. My body said no.
I flipped to backstoke and stayed there for the rest of the 1.2 miles. What happened next I did not plan and cannot fully explain.
The sun was rising over the water. A few clouds in the sky. I started gratitude meditation. Thinking about every person in my life I was grateful for. I would look left and see swimmers. Look right and see swimmers. I knew I was going the right direction. Several times I bumped directly into a course buoy, which told me I was exactly on the perfect line.
I sang the song.
Floating in the Tennessee River on my back, looking up at the sky, grateful for everything that brought me to this moment. Euphoric is the word. Absolute euphoric gratitude. Like floating in Tennessee clouds.
Official swim time: 1:00:39. Avg pace 2:31/100m. Avg heart rate 121 bpm.
I also swam the whole thing in a Zone3 Agile wetsuit that had a three-inch tear in the leg before I ever got in the water.
T1 transition: 9:27. I ate an Uncrustable. Best decision of the morning.
The bike: 3:18:17

The second I got into bike position my neck and shoulders filed their official complaint. An hour of backstroke will do that. I got on the bike and immediately knew this was not going to get any better. I filed the information and kept moving.
Coming off the swim high, clothes still wet from the river, I started flying through rolling hills of southern Tennessee and northern Georgia. Beautiful course. Police officers at every intersection doing an incredible job. I was shouting thank you to every officer and state trooper at the top of my lungs. People were out in the towns along the route cheering us on. It felt like being part of a campaign caravan — a community glad to see you, cheering you on your journey. Absolute love from Chattanooga and everywhere around it.
I was passing people. People were passing me. Everyone had great energy. It was bliss.
And then, toward the end of the bike, I stood up to reset my back.
That is when I knew.
The pre-cramps hit. My legs were about two minutes from completely locking up. I had burned 1,684 calories on the bike according to my Garmin and consumed somewhere around 300. One Maurten Gel 100. Half a Maurten Solid 160 that I had a hard time getting down. Two bottles of electrolytes and one water. On a 3:20 bike ride in Tennessee heat with nearly 3 liters of sweat loss.
I am a mountain biker. On the trails you stop, you eat, you go. Road biking does not work that way. I never stopped. I never ate. I kept thinking I would and I kept not doing it.
I tapered back the last few miles. The plan was to reset at the start of the run. I was glad to be done and I knew I had not set myself up for the final leg.
T2 transition: 6:46. Another Uncrustable. Necessary. Not sufficient.
The run: 3:14:05

I stepped out of T2 into 91-degree heat with a depleted tank and 13.1 miles in front of me.
Miles one and two: I walked. I knew if I did not completely reset, I was not going to finish this race. I have bonked on a mountain bike before and it is extremely difficult to recover from. So I spent those two miles locked in — power walking, controlled breathing, consuming everything the aid stations had to offer.
Then I wrote another song.
Ice in my hat Ice in my pants Ice on my back Ice in my hands Run, run, run
Every aid station. Same ritual. Ice everywhere it could go. Do not think about the finish line. Think about the next aid station. That is the only math that works when you are seven hours into the hardest day of your life.
By mile three I was running.
By mile eleven I was in full zombie mode. One foot in front of the other. Seven hours and change into the day. And I had a genuine decision to make.
I had to take a shit. Badly. The question was whether to stop at a porta-potty or risk the alternative — which, at the Ironman finish line in front of my family, was not something I was willing to consider.
I stopped. Handled it. Reset. Turned the corner.
The finish line was in front of me.
The finish line

My family was there. My mom had come to help with the kids and watch me race. My wife. My boys.
I have done hard things. I finished the Trans North Georgia, 350 miles on a mountain bike. I have built and lost a company. I have done two years of hard inner work — EMDR, breathwork, the kind of therapy that takes you apart and puts you back together differently.
Standing at that finish line, all of it was present.
Three years ago, I would have crossed that line and immediately deflected the pride. Religion teaches you that glory belongs outside yourself, to something greater, never to you. I had internalized that for decades. A win was something to be grateful for, not something to own.
I did not do that this time.
I was proud of myself. Completely. Fully. Without detachment or apology. As Kanye said — I'd like to thank... me. I know how that sounds. I also know what it cost me to be able to say it and mean it.
Walking across that finish line made me feel like I could do anything. It reaffirmed everything I have come to believe about limits — that all of them are our own creation. I believed that intellectually for years. Standing there, I felt it in my body for the first time.
I also felt completely connected to every human being who has ever pushed themselves toward something they were reaching for. Every one of them. All at once.
That is what seven hours and forty-nine minutes buys you when you are willing to pay the full price.
The data
- Swim: 1:00:39 — Backstroke, 2:31/100m avg, HR 121 bpm
- T1: 9:27 — Uncrustable
- Bike: 3:18:17 — 16.9 mph avg, 2,323 ft ascent, HR 146 bpm, ~2,853ml sweat loss
- T2: 6:46 — Uncrustable
- Run: 3:14:05 — 14:49/mi avg, walked miles 1-2, HR 133 bpm, 191W avg power
Total: 7:49:13 — 91 degrees. First 70.3. Done.
Watch: Garmin Fenix 7X Pro Sapphire Solar
The gear and what it cost
Someone on the internet made a video saying you cannot do a triathlon without spending $15,000. I finished a 70.3 for roughly $3,011 including the race entry. The perfect gear is nice. Not having it does not prevent you from getting out there and finishing.
- Zone3 Agile Wetsuit, Size L — $316 (3-inch tear before I got in)
- Zone3 Venator-X Goggles — $39
- FNGXX Silicone Swim Earplugs — $9
- Superior X Road with Ultegra Groupset — $1,000 (Facebook Marketplace)
- ROCKBROS Cycling Shoes NR3 — $149
- Giro Fixture MIPS Helmet — $100
- WHTE MOSS UPF50+ Neck Gaiter — $12
- Castelli Tri Short (used) — $66
- Rapha Jersey — $70
- Creepers Socks — $15
- New Balance FuelCell SuperComp Elite v5 — $200
- Sleeve Stars Patellar Tendon Support Strap — $15
- Garmin Fenix 7X Pro Sapphire Solar — $500 (Facebook Marketplace)
- Race entry — $520
Total: ~$3,011
The nutrition: what I'd do differently
What worked: Uncrustables in T1 and T2. Maurten electrolytes on the run. Oranges. Ice everywhere every station.
What didn't: Not eating the night before or morning of. Eating almost nothing on the bike. Not practicing race nutrition on a road bike.
Next time: Eat on the bike every thirty minutes. Solve the pre-race nerves and food problem. Augusta 70.3, September 27. Goal: 6:30 finish, shaving 1 hour and 10 minutes off this time.
So much respect.