2023 Ironman New York 70.3 Race Report

Thomas Knight
TK Triathlon
Published in
20 min readSep 27, 2023

Background

In 2022, I took some time off from triathlon to focus on running. I really wanted to run a fast marathon and so I read Advanced Marathoning, ran some 100 mile weeks and got a couple of decent results.

I enjoyed my year as a runner — running requires way less time than triathlon and the logistics are much simpler. The running community is also much bigger, so it’s easier to find a training partner or training advice for running than for triathlon. But I missed the variety of triathlon and decided to train for a 70.3 in 2023.

Luckily, the WTC decided to launch a local 70.3 race at Jones Beach this year. I convinced my brother to sign up as well so we could have our annual showdown. At the start of the year I was hoping that I could set a PR and get as high up the leaderboard as possible.

Training

For the first time, I decided to write my own training plan for a big race. From my experience, none of the off-the-shelf plans on Training Peaks or elsewhere were that carefully constructed, and I often spent more time shuffling and modifying workouts than if I had just made up my own plan.

So, I took the general principles I knew about triathlon and designed a weekly regimen.

Specifically, I followed these guidelines

  • 1 hard ride and 2–3 easy rides per week (with 1 long ride)
  • 1 hard run and 2–3 easy runs per week (with 1 long run)
  • 2–3 hard swims per week
  • 16 weeks of total training
  • Rotate 2 weeks of building volume followed by 1 week off
  • Build throughout the 16 weeks until the final 2 weeks before the race

I built up from about 12 hours per week at the start of training to 20 hours per week at my peak.

Swim Training

I committed to doing at least 3 swim workouts per week and targeting 10k in the pool whenever possible. For the most part I was able to stick to this. I only missed out during a couple of vacations where I didn’t have access to a pool.

I read this article about key Ironman swim workouts and just did each of the workouts once per week.

  • 10 x 400 at IM pace with 30 seconds rest
  • 10 x 200 at HIM pace with 15 seconds rest
  • 2000 meters continuous

The amount of volume I was doing really helped build up my endurance — when training for Atlantic City in 2021, my best 400 meter time trial was 6:41. By the end of my Jones Beach training, I was able to hold this pace for 10 reps.

By the way, the “lifeguard shortage” that started in NYC two years ago has continued to this day. As a result, there was only one pool in the entire city that was open before 11 am. The good news is that this was the Flushing Meadows Aquatic Center, which is a really incredible facility

I did one session there per week, and then used the outdoor pool at McCarren Park and the indoor pool at the Metropolitan Rec center for my other swims. NYC remains a pretty bad place to train swimming, but I was able to make it work.

Average weekly swim volume for training block: 7,500 yards/week (10k/week for the final 8 weeks)

Bike Training

The Jones Beach bike course is very flat. So I decided to focus on long rides in aero position so that I can build up my power while riding on the bars. But before that…

I kicked off my cycling training season with a four day trip to Mallorca. Very not flat there.

The trip was an amazing time — some of the best cycling I will ever do and lots of quality time with a group of cycling friends. It was also a great way to get training started. I was able to do rides like this one, which hit three of the major climbs on the island for a total of 3,000 meters of climbing over 7 hours.

This training camp was critical, because I hadn’t really ridden my bike much in the past two years. But this kick-started things and eased me into my normal rotation of:

  • 1–2 recovery rides between one and two hours at 60% of FTP
  • 1 high intensity interval ride of one hour with intervals at >100% FTP
  • 1 long ride with race pace intervals for about three hours

Like usual, I did most of my riding indoors. For training, I’ve come to believe that indoor rides are almost always more useful. In NYC, it’s so hard to get a quality outdoor ride in. You either need to: drive over an hour to get to good roads or do loops in a park full of people and other cyclists who will inevitably disrupt whatever workout you had planned. Training indoors also means that I can watch my boys, both of whom have taken an interest in Zwift.

The indoor training situation this summer. One baby on the bars and a kid messing with Zwift settings.

I upgraded my trainer over the winter to a Wahoo Kickr, my first direct drive trainer. This meant I finally had access to erg mode, which was a huge improvement for me. It’s so much easier to create a workout and not have to think about hitting the numbers. For many of my rides this summer I was watching either a Tour de France or Vuelta stage while Zwift took care of the rest.

Despite the focus on indoor training, I did get a couple of good long rides in this summer:

  • 60 miles out and back to the Montauk lighthouse
  • 120 miles over Bear Mountain bridge (my longest ride ever)
  • 110 miles out and back on the North Fork of Long Island

As I write about my training, it starts to sound like I did a great job training for the bike, but I don’t think that’s true. I think I did a decent job. I managed to ride about seven hours a week and with some intensity. But I never really moved the needle on my FTP. By the end of the 16 weeks I was where I almost always am: FTP of about 240–250 with a plan to ride at about 180–200 watts on race day.

Average weekly time on bike for training block: 7:14

Run Training

Thanks to the last two years of consistent running, I felt really confident about the run leg of the race. I had fully recovered from a hip injury in 2022, although I still need to be careful about milage over 60 miles per week.

My run schedule looked something like this:

  • 1–2 easy recovery runs of 9–10 miles at 8:30+ min/mile
  • 1 tempo run of 8–9 miles with intervals at around 6:00 min/mile
  • 1 long run of 12–18 miles at 7:30–8:30 min/mile

After doing two full marathon training blocks, the running this time around felt straightforward. One thing I did differently was to do all my tempo run with a group (specifically the North Brooklyn Runners Local Competitive group). This helped me avoid slacking off. I figured if I could hang with this group in the midst of 20 hour training weeks that would put me in a good position for the race.

The only other tricky part about run training was the weather. It was extremely hot and humid in NYC this summer, so I tried to get my runs in early or, failing that, to make multiple bodega stops for Gatorade.

Average run distance for training block: 40 miles/week

Sleep and Nutrition

I slept more this summer than any in my life. To make this happen, I was in bed by 7:30 most nights and asleep by 8 or 8:30. Pretty extreme, but necessary given that I needed to be done with my first workout by 7:30 the next morning.

As for nutrition, I focused on getting in as many calories as I could. I think that in the past I’ve under-eaten during periods of heavy training which has made it harder to recover. I would estimate that I was eating about 4,000–4,500 (vegan) calories per day over the four months.

Taper

I watched this this video from Lionel Sanders and convinced myself that a 1 week taper would be a good idea. Specifically, I related to the part of the video where he described hard efforts as feeling “foreign” after tapering for too long. I did pull back on hard runs about two weeks out from the race, but otherwise I only started tapering the Sunday of race week.

Race Plan

A-Goal: Sub 4:45/Top 50

Atlantic City 70.3 in 2021 was the first long course race I did with an easy course. I was able to finish in 4:58 there on a hot, windy day with less training. Given that I had trained significantly more for this race, it felt realistic to cut some serious time, if the conditions were right.

To make this happen, I would need the splits to look something like this.

  • Swim: 0:30
  • Bike: 2:34
  • Run: 1:34

Based on my swim training, 30 minutes felt very realistic, although I didn’t have many open water swims this year to practice and gauge my ability there. The bike and the run times both seemed achievable given my pervious performance in AC. I figured I would need to hold about 190 watts on the bike to make this happen.

B-Goal: PR

As I mentioned above, anything faster than a 4:58 would be a PR. I knew my swim would be faster, because I had trained more and because the AC swim had been a disaster involving lots of questionable “mud”. I knew my run would be faster because I had been running nonstop for the past two years. And I felt I could at least equal my bike time from before.

C-Goal: Beat Chris

As in years past, this felt like a safe goal. I was closely tracking Chris’ training on Strava, and he was about a third of my training volume. Unless he was doing some secret workouts and not logging them to Strava, then he wouldn’t have the necessary fitness to compete.

Gear and Nutrition

Swim gear

Swim gear was the exact same as my last five tris:

  • Ten year old Xterra wetsuit
  • Tinted Aqua Sphere Kayenne goggles

At this point, I absolutely need to replace both of these. The wetsuit is full of holes and the seal on the goggles is worthless — they start to fog up after about 500 meters. Something to save up for over the winter.

Bike gear

I was racing on the same bike that I’ve had since 2014: Cervelo P3, Zipp 404 wheels, Ultegra Di2. I kept the 11x32 cassette that I had swapped in two years ago. Swapping it out was too much of a pain, and I never run out of gears when going fast. I did make one change from the picture above: I raised the bars 30 mm higher. The position was more comfortable, and I figured an increase in watts would offset the decrease in aerodynamics.

I did add one piece of gear this year: a new aero helmet. My old Bell Javelin had officially passed its expiration date, so I splurged on a Rudy Project helmet that had good reviews.

For nutrition on the bike I would do:

  • 1 bottle of Maurten 360
  • 3–4 Clifshot gels
  • 1 Maurten solid bar

In total this was about 200 grams of carbs which was 50 grams more than I had done in previous years, but I had practiced it enough to feel good that my stomach could handle it. And I hoped that the additional calories would help on the run.

Run gear

I was keeping the same Endorphin Pro model that I’ve raced in for the past four years or so.

For nutrition on the run, I was planning to take 4–5 gels, depending on my stomach felt.

Race Day

Pre Race

This was the most nerve wracking build-up that I’ve experienced. A week out from the race the weather forecasts began to look very grim. A tropical storm off the East Coast was threatening to dump 2–3 inches of rain on race day and bring 20–30 mph winds with 40 mph gusts. I tend to get very cold on the bike and the thought of a 56 mile ride in those conditions had me extremely nervous. I was also worried that they would cancel the swim and that the dozens of hours of swim training I had done in the past four months would have been a complete waste.

I obsessively tracked the forecasts for Saturday and tried visualizing the race with and without the swim. The night before the race I had a dream that the race went off as normal but was quickly flooded, leading to mass panic. I woke up Saturday morning to good news: while there would be rain and winds, it wouldn’t be quite as bad as predicted.

Swim

After a race morning traffic jam, Chris and I arrived to transition about 6:30, which gave me 30 minutes to get everything set up and make the half-mile walk over to the swim start. This was a chaotic rush, and I showed up to the swim start as they were finishing up the National Anthem. This was when I learned that the swim had been shortened from 1900 meters to 750 meters. Although the conditions were better than expected, the water was choppy and the visibility was low. I think the front of the pack would have been fine, but this was probably the right choice for the weaker swimmers.

The start of the swim was shallow, so I was able to run for the first 50 yards or so. After that I started swimming and found the feet of someone that seemed to be swimming the right pace. I was generally able to swim a clean line, but I was surrounded by people that were struggling. At one point I was surrounded by someone doing breast stroke and another person doing backstroke.

Because the swim was short, I was able to push the pace and was swimming much closer to my threshold pace than I would have on the full 1900 meter distance.

I struggled a bit with visibility — my goggles are old and easily fog up, and I only have tinted lenses. But the buoys were gigantic and there were enough people in the water that I never got far off course. Heading back to shore, there was a giant obelisk that was perfectly aligned with the swim exit, so I was able to use that for sighting.

Overall, I performed well on the swim. My average pace was significantly faster than I’ve ever done a HIM swim, although this was aided by the short distance and the run start. I do wish that we had a full swim, so that I could have seen what I was capable of at that distance (and so that I could have gotten a proper PR for the whole race), but I understand the decision.

I was able to put over two minutes into Chris, which was good news heading into my weakest leg.

Stats for the swim:

  • Average pace: 1:22/100 yards
  • TSS: 26

Official swim times:

  • Tom: 12:55 (101/2,496)
  • Chris: 15:01 (220/2,496)

Bike

Although the rain was lighter than expected, the wind wasn’t. For the entire bike ride, we were dealing with 20+ mph winds coming from the North. This meant that the first and third legs of the double out-and-back would be into the wind.

The good news is that the road conditions on the course were very good and I was feeling very strong for the first 15 miles of the ride. I was able to hold 190 watts for the first 20 minutes of the ride as I worked to warm up (in both senses of the word). I felt very comfortable in aero position and was able to stay on the aerobars for 99% of the day, which was a big improvement over previous races.

In training, 190 watts on a flat road would have put me at about 22 mph, but with the headwind, I was struggling to hit 20 mph. The good news is that when I turned around, things got significantly faster. I pulled back slightly on the effort (180 watts) but averaged 24 mph coming back.

Bike stats (Pink = watts, Red = HR, Green = mph)

On the second loop, two things happened. First it started to get windier and rainier. This meant that I got much colder while riding into the wind got harder. The cold really got into my head. I wasn’t shivering, but I wasn’t able to focus as much as holding my power targets. I had planned to wear sleeves and gloves, but I struggled to get them on in transition and so I ended up doing the whole ride in a sleeveless tri suit. Going forward, I would take the time to get the sleeves and gloves on, as I think my coldness ended up costing me a couple of minutes.

The second half of the ride was also more crowded as we began to lap athletes that were still on the first lap of the race. Thankfully we had 2–3 full lanes of closed road to work with, as sometimes all three lanes were being used to make multiple passes.

After Atlantic City, I vowed to push harder on flat bike courses, having felt like I left some time on the table in that race. However, this didn’t happen at Jones Beach. I only averaged 177 watts for the ride, and my average heart rate was 143. I should have been able to hold 190 watts and an average heart rate of about 150. I hope that in future races with better weather I can focus more on holding onto my target power.

One final note, as I mentioned earlier I did raise my aerobars in this race, and I do think that cost me slightly in terms of speed:power. However, I think it was probably worth it given that I was able to stay in the bars for the entire race with almost no back pain.

As for the race with Chris, I put another three minutes into him on the ride. He would need a miracle on the run to pull back.

Stats for the full ride:

  • Speed: 21.4 mph
  • Average power: 177 watts (190 goal)
  • Normalized power: 182 watts (190 goal)
  • Average cadence: 85
  • Average heart rate: 143
  • TSS: 150

Official bike times:

  • Tom: 2:37:33 (169/2,496)
  • Chris: 2:40:29 (257/2,496)

Run

I made the biggest mistake of the day in my transition from bike to run. During my rushed setup earlier that day I put my race belt into my transition bag, afraid that it would fly away in the wind. In the process of putting on my running shoes, I forgot to put on the race belt and ran about 200 yards from transition to the run start. When I got there, the race officials told me that I couldn’t start my run without it, so I ended up wasting 1–2 minutes running back to get my race belt.

This had me rattled, but I started to feel very fast as soon as I got on the race course. I quickly realized that this was due to a massive tailwind at our backs that was going to turn into a massive headwind as soon as we turned around. I enjoyed it while I could and ran the first four miles at 6:55 pace with a relatively low HR of 155.

And then I turned around. It was bad. My pace dropped by about 35 seconds per mile and my heart rate started to climb. I did my best to tuck in behind some other runners and draft but I was passing almost everyone and didn’t get much of a chance to draft.

At this point I had my favorite experience of the race. I noticed that the third place woman was in front of me and went to go draft off her for a bit. She was going slower than I wanted, though, so I decided to pass and keep going. But she was able to go with me and proceeded to run with me for the next 3–4 miles. Over that time, we managed to pass both the second and first place females. What a thrill! I almost felt like I was racing for the win. At some point, the woman that had been running with me dropped her pace, but I learned later that she ended up winning the race.

For the entire run, I was staying within myself. I also managed to avoid taking any caffeinated gels until mile 7. This let me finish strong. For the first time ever in a 70.3 distance race, I accelerated in the last two miles. I was able to pass about 5 men and got into a foot race in the final 100 yards that I was able to win. I finished the last two miles at 7:00 min/mile pace which was about 30 seconds faster than I had been running into the wind.

Overall, this was my best 70.3 run by far, and it felt really good to finish so strong, especially given the conditions. The course itself was beautiful, and on a nice day it would have made for a great run. As it was, I was happy to perform well in some of the worst conditions I’ve ever run in. And, of course, I was happy to beat Chris.

Stats for the full run:

  • Pace: 7:08/mile
  • Average heart rate: 159
  • TSS: 136

Official run times:

  • Tom: 1:34:44 (111/2,496)
  • Chris: 1:42:15 (220/2,496)

Official overall times:

  • Tom: 4:32:19 (111/2,496)
  • Chris: 4:46:31 (220/2,496)

Evaluation

The Course

Swim: The swim course has a ton of potential. The beach is perfect for staging a triathlon, and on a calm day I think this could be on par with the Lake Placid swim course. Of course, we didn’t get that, and having the swim cut short sucks, even if the race organizers had no other choice. I would be interested to do this swim again on a nice day. (Score: 6/10)

Bike: The road conditions for this course were as good as I’ve ever had in a triathlon. The road was smooth and fast and had very few potholes or road furniture. And the full road closures helped supported safer racing with less drafting. The conditions on the day were a unique challenge, but one that will provide a lifetime of stories. The biggest drawback of the bike course is that it’s just not that pretty. Lots of highway road with trees on either side. If you’re looking for a fast, safe course, though, this is probably as good as it gets. (Score: 7/10)

Run: Again, on a good day, the run course would have been wonderful. There were lots of unique ecosystems to look at, and the beach itself was visible for most of the run. Unfortunately pouring rain meant that much of the run course was covered in deeper and deeper puddles. By the time I finished, there were sections that were completely under water — I can only imagine what it was like 8 hours into the race. The tailwind/headwind made for an interesting experience that I hope to never repeat. (Score: 7/10)

Logistics: Apparently the race director for this race is a local legend, and I can understand why. Communication and organization for the race were excellent throughout. There were hundreds of volunteers and the aid stations were run very well. My only complaint was that, at the start of the day, the local police did not handle traffic well. This meant that I had less time to set up, and I saw many athletes that missed the 7 am swim start altogether (Score: 9/10)

Overall Score: 29/40

My Race

Swim: This was the most I ever trained for a triathlon swim, and I think I was ready to do some real damage if we had been allowed to swim the full distance. As it was, I finished in the top 4% of swimmers for the day and had my fastest swim pace ever. (Score: 8/10)

Bike: Despite a strong start, my bike was lackluster again. I averaged 13 watts less than I wanted to, which probably cost me 4–5 minutes of time, and I got passed by over 50 athletes. If I want to move up towards the top of my age group, it’s clear that I need to (1) spend more time on the bike, doing harder workouts (2) focus more on holding my goal power, (3) get the outfit right on the day so that I’m able to comfortably pedal. (Score: 6/10)

Run: Easily my best leg of the day. I was able to pass back more people than had passed me on the bike. I paced well through a horrible headwind. And I finished the race stronger than I have ever done before. (Score: 9/10)

Execution: A couple of major mental lapses cost me. First, not getting the sleeves and gloves on hurt me on the bike. Second, forgetting my race belt cost me almost two minutes on the run. It’s worth pointing out that neither of things would have likely happened in different weather, but that’s not an excuse. (Score: 6/10)

Overall Score: 29/40

In Conclusion

Let’s take a look back at my race goals:

  • A-goal: Sub 4:45/Top 50 — NOT ACHIEVED

The 4:45 goal became impossible as soon as they shortened the swim. Realistically, I would have needed to finish under 4:30 to hit this goal. I do think this is within reach if I’m able to figure out my bike training

  • B-goal: PR — ACHIEVED

This was a sandbag goal, but I was glad to achieve it. Overall I trained way more for this race than AC, so I wasn’t surprised that I performed better, despite the conditions. I think with a full swim, I would have gotten about an 8 minute PR.

  • C-goal: Beat Chris — ACHIEVED

Another year, another victory. Enough said.

Lessons Learned

I learned some important things that I am writing down here, as much for myself, as anyone reading this.

  • Eat a lot but save caffeine for the end of the race — I ate close to 400 grams of carbs over the course of the race and I think it paid off. I never felt close to bonking, and by saving caffeine till the final miles of the run, I was able to really mentally push
  • More hard bike training — I need my FTP to be way higher than 240 watts if I’m going to really compete at this distance. I need to spend more hours close to threshold to get my bike power up.
  • Set up idiot-proof transition area — I never should have put my race belt out of sight. Assume you will be brain dead in transition and set up in a way that prevents mistakes.
  • One week taper was good — My legs felt strong for the whole race despite a much shorter taper than usual. Pushing taper back definitely helped me enter the race with more fitness.
  • Continue to experiment with bike position — I love that I was able to stay in aero for the entire ride. I don’t love that I was way more in the wind for the whole race. I’m going to try lowering the aerobars a couple notches and see how it feels.

Thank You

Thank you to Chris for continuing to sign up for these races with me.

Thank you to all the volunteers for amazing support in horrendous conditions.

Thank you to my wife, Diana, and my boys, Greyson and Azure, for so much support through a very long period of training!

--

--