2025
The year that tried to stop me. A car accident and a broken collarbone would have been a good enough excuse to write the season off, but that’s not how this works. A duathlon win, two more podiums — another duathlon and a triathlon — and somehow, against all odds, an Ironman finish in under 12 hours. Not bad for someone held together with plate and screws. The comeback that proved the body breaks but the mindset doesn’t.
| Date | Event | Distance | FT | Position | Race report |
|---|---|---|---|---|---|
| 2025-10-18 | IronMan Cascais | 140.6 | 11:57:19 | ✅ |
140.6
2024
Peak form, no question. A 70.3 PB of 4h38 showed the speed was there, and then came Challenge Roth — the holy grail of long distance — in just under 10 hours. When the times start dropping at the biggest races, you know the training is dialled in. The plant-powered age grouper was cooking.
| Date | Event | Distance | FT | Position | Race report |
|---|---|---|---|---|---|
| 2024-09-15 | IronMan 70.3 Weymouth | 70.3 | 05:06:21 | ✅ | |
| 2024-09-01 | BTS Club Champs - Dorney Lake | Sprint | 01:07:21 | Cat: 2nd/35 / Overall: 15th/491 | ✅ |
| 2024-07-07 | Challenge Roth | 140.6 | 10:10:32 | Cat: 63rd / Overall: 921 | ✅ |
| 2024-05-19 | Challenge Samorin - The Championship | 70.3 | 04:38:30 | Cat: 24th / Overall: 192 | ✅ |
IronMan 70.3 Weymouth
70.3
BTS Club Champs - Dorney Lake
Sprint
140.6
2023
Three 70.3s, a full Ironman spread over three days, and the season highlight — a podium at Chantilly followed by qualification for the Challenge Family Championships. The proof that consistency and stubbornness eventually pay off. From age group podiums to earning a spot on an international start line, this was the year it all came together.
| Date | Event | Distance | FT | Position | Race report |
|---|---|---|---|---|---|
| 2023-09-17 | IronMan 70.3 Weymouth | 70.3 (no swim) | 04:16:26 | Cat: 10th / Overall: 124th | ❌ |
| 2023-09-09 | BTS Club Champs | Sprint | 01:03:17 | Cat: 7nd/15 / Overall: 8th/80 | ❌ |
| 2023-08-06 | Challenge London | 70.3 | 04:44:01 | Cat: 6th/22 / Overall: 54th/277 | ❌ |
| 2023-07-01 | Long Course Weekend Wales | 140.6 | 11:08:14 | Gender: 22nd/288 / Overall: 26th/253 | ❌ |
| 2023-05-21 | Castle Tri Series Chantilly | 70.3 | 04:59:05 | Cat: 3rd/16 / Overall: 22nd/112 | ❌ |
IronMan 70.3 Weymouth
70.3 (no swim)
Finish time
04:16:26
Position
Cat: 10th / Overall: 124th
Race report
❌
BTS Club Champs
Sprint
Finish time
01:03:17
Position
Cat: 7nd/15 / Overall: 8th/80
Race report
❌
Challenge London
70.3
Finish time
04:44:01
Position
Cat: 6th/22 / Overall: 54th/277
Race report
❌
Long Course Weekend Wales
140.6
Finish time
11:08:14
Position
Gender: 22nd/288 / Overall: 26th/253
Race report
❌
Castle Tri Series Chantilly
70.3
Finish time
04:59:05
Position
Cat: 3rd/16 / Overall: 22nd/112
Race report
❌
2022
The year things got properly ridiculous. Two 70.3s and two full Ironman races — because apparently middle distance wasn’t hurting enough. When you’re racing 140.6 miles twice in a season, you start asking yourself: am I an ultra athlete now? The answer is yes. The legs might disagree, but the finisher medals don’t lie.
| Date | Event | Distance | FT | Position | Race report |
|---|---|---|---|---|---|
| 2022-08-21 | Jurassic Man Extreme Triathlon | 140.6 | 17:24:45 | Overall 10th/23 | ❌ |
| 2022-07-23 | Castle to Coast | 70.3 | 06:49:23 | Overall: 3rd | ❌ |
| 2022-06-26 | IronMan Nice | 140.6 | 11:17:06 | Cat: 35th/243 / Overall: 264th/1,562 | ❌ |
| 2022-06-12 | Royal Windsor Triathlon | Olympic | 02:31:20 | Cat: 11th/170 / Overall: 67th/1,269 | ❌ |
| 2022-05-15 | Outlaw Half | 70.3 | 04:54:57 | Cat: 11th/182 / Overall: 178th/1,357 | ❌ |
Finish time
17:24:45
Position
Overall 10th/23
Race report
❌
Castle to Coast
70.3
Finish time
06:49:23
Position
Overall: 3rd
Race report
❌
IronMan Nice
140.6
Finish time
11:17:06
Position
Cat: 35th/243 / Overall: 264th/1,562
Race report
❌
Royal Windsor Triathlon
Olympic
Finish time
02:31:20
Position
Cat: 11th/170 / Overall: 67th/1,269
Race report
❌
70.3
Finish time
04:54:57
Position
Cat: 11th/182 / Overall: 178th/1,357
Race report
❌
2021
Racing was back, and I made up for lost time. Three 70.3 races in a single season — because one middle distance is never enough — and a weekend warrior challenge to see just how many triathlons you can cram into one weekend. After a year stuck indoors, the answer was simple: as many as possible.
| Date | Event | Distance | FT | Position | Race report |
|---|---|---|---|---|---|
| 2021-09-11 | Blenheim Weekend Warriors | ❌ | |||
| 2021-08-08 | On The Edge | 70.3 | 04:57:25 | Cat: 1st/30 / Overall: 5th/131 | ❌ |
| 2021-07-25 | Fullsteam Family Tri | Sprint | ❌ | ||
| 2021-07-03 | Whole Banana | ❌ | |||
| 2021-06-13 | Marshman | 70.3 | 4:57:20 | Cat: 5th/10 / Overall: 13th/33 | ✅ |
| 2021-05-23 | Marlow Fugitive | 70.3 (swim replaced by 3km run) | ❌ |
Blenheim Weekend Warriors
Finish time
Position
Race report
❌
70.3
Finish time
04:57:25
Position
Cat: 1st/30 / Overall: 5th/131
Race report
❌
Fullsteam Family Tri
Sprint
Finish time
Position
Race report
❌
Whole Banana
Finish time
Position
Race report
❌
Marshman
70.3
Marlow Fugitive
70.3 (swim replaced by 3km run)
Finish time
Position
Race report
❌
2020
Two words: global pandemic. Like every other age grouper on the planet, the races disappeared and the turbo trainer became the new finish line. A year of Zwift challenges, virtual events, indoor time trials, and any creative competition going — anything to keep the race legs ticking over while waiting for the real thing to come back.
2019
The best season yet. A massive 20-minute PB at 70.3 distance showed the hard work was paying off, there was a race in a UNESCO World Heritage Site (because triathlon takes you to some incredible places), and another first in age group to round it all off. Peak form heading into… well, we all know what came next.
| Date | Event | Distance | FT | Position | Race report |
|---|---|---|---|---|---|
| 2019-09-22 | Conquer The Chilterns Sprint+ | Sprint + | 1:34:44 | Cat: 1st / Overall: 3rd | ❌ |
| 2019-09-01 | Readeaing Olympic | Olympic | 2:41:43 | Cat: 3rd / Overall: 8th | ❌ |
| 2019-06-16 | IronMan 70.3 Les Sables d'Olonne | 70.3 | 5:11:53 | Cat: 106 / Overall: 700 | ❌ |
| 2019-06-01 | Blenheim Palace Sprint | Sprint | 1:19:50 | Cat: 8th/420 / Overall: 94/4168 | ❌ |
Conquer The Chilterns Sprint+
Sprint +
Finish time
1:34:44
Position
Cat: 1st / Overall: 3rd
Race report
❌
Olympic
Finish time
2:41:43
Position
Cat: 3rd / Overall: 8th
Race report
❌
Finish time
5:11:53
Position
Cat: 106 / Overall: 700
Race report
❌
Sprint
Finish time
1:19:50
Position
Cat: 8th/420 / Overall: 94/4168
Race report
❌
2018
London calling. Taking on the iconic London Triathlon was a bucket-list moment, and two age-group podiums across the season proved the form was heading in the right direction. A solid year of consistent racing and results to be proud of.
| Date | Event | Distance | FT | Position | Race report |
|---|---|---|---|---|---|
| 2018-09-02 | Reading Olympic | Olympic | 2:42:53 | Cat: 6th / Overall: 26th | ❌ |
| 2018-08-04 | AJ Bell London Olympic | Olympic | 2:34:25 | Cat: 17/156 / Overall: 220/1,887 | ❌ |
| 2018-06-30 | Whole Banana | Sprint + | 01:44:16 | Cat: 3rd / Overall: 7th | ❌ |
| 2018-06-24 | Marlow Sprint | Sprint | 1:21:38 | Cat: 4th / Overall: 9th | ❌ |
| 2018-05-20 | Eton Sprint ITU Qualifier | Sprint | 01:16:29 | ❌ | |
| 2018-03-30 | Radley Good Friday Sprint | Sprint | 01:12:17 | Cat: 3rd / Overall: 13th | ❌ |
Olympic
Finish time
2:42:53
Position
Cat: 6th / Overall: 26th
Race report
❌
Olympic
Finish time
2:34:25
Position
Cat: 17/156 / Overall: 220/1,887
Race report
❌
Whole Banana
Sprint +
Finish time
01:44:16
Position
Cat: 3rd / Overall: 7th
Race report
❌
Marlow Sprint
Sprint
Finish time
1:21:38
Position
Cat: 4th / Overall: 9th
Race report
❌
Eton Sprint ITU Qualifier
Sprint
Finish time
01:16:29
Position
Race report
❌
Radley Good Friday Sprint
Sprint
Finish time
01:12:17
Position
Cat: 3rd / Overall: 13th
Race report
❌
2017
A year of firsts and fun. Racing through a theme park (because why not), another age group win to keep the confidence ticking over, and the big one — my first ever 70.3. The jump to middle distance changes everything, and there’s no going back once you’ve crossed that finish line.
| Date | Event | Distance | FT | Position | Race report |
|---|---|---|---|---|---|
| 2017-09-23 | Heaver Castle | Sprint + | 2:19:05 | Cat: 10th / Overall: 20th/167 | ❌ |
| 2017-08-27 | The Gauntlet - Chantilly | 70.3 | 05:35:09 | Cat: 27 / Overall: 105 | ❌ |
| 2017-07-08 | Whole Banana | Sprint + | 01:40:31 | Cat: 3rd/19 / Overall: 8th/125 | ❌ |
| 2017-06-11 | Guildford Triathlon | Sprint | 01:15:27 | Cat: 1st/43 / Overall: 16th/266 | ❌ |
| 2017-06-04 | Thorpe Park National Championships | Sprint | 01:12:26 | Cat: 17th/44 / Overall: 117th/441 | ❌ |
| 2017-04-23 | Berkhamsted Triathlon | Sprint | 01:23:44 | Cat: 3rd | ❌ |
Sprint +
Finish time
2:19:05
Position
Cat: 10th / Overall: 20th/167
Race report
❌
Finish time
05:35:09
Position
Cat: 27 / Overall: 105
Race report
❌
Sprint +
Finish time
01:40:31
Position
Cat: 3rd/19 / Overall: 8th/125
Race report
❌
Sprint
Finish time
01:15:27
Position
Cat: 1st/43 / Overall: 16th/266
Race report
❌
Finish time
01:12:26
Position
Cat: 17th/44 / Overall: 117th/441
Race report
❌
Sprint
Finish time
01:23:44
Position
Cat: 3rd
Race report
❌
2016
The year it all began to get serious. Racing stateside in California, two age group triathlon wins, and lining up against a certain Formula 1 World Champion — not a bad way to start the journey. Jenson Button may have had a few more horsepower on the bike, but the stopwatch doesn’t care about your day job.
| Date | Event | Distance | FT | Position | Race report |
|---|---|---|---|---|---|
| 2016-09-16 | Conquer The Chilterns | Sprint + | 00:54:56 | Cat: 1st / Overall: 5th | ❌ |
| 2016-09-11 | Woburn Abbey | Olympic | 02:30:45 | Cat: 7th/29 / Overall: 59th/265 | ❌ |
| 2016-07-17 | Jenson Button Tri Eliminator Round | Super Sprint | 00:35:33 | Cat: 20th / Overall: 80th/346 | ❌ |
| 2016-07-17 | Jenson Button Tri Wooden Spoon Final | Super Sprint | 00:34:32 | Cat: 4th/65 / Overall: 29th/267 | ❌ |
| 2016-05-29 | Guildford triathlon | 01:17:16 | Sprint | Cat: 6th/64 / Overall: 26th/346 | ❌ |
| 2016-05-14 | All Nations Sprint | Sprint | 01:06:58 | Cat: 13th/48 / Overall: 48th/202 | ❌ |
| 2016-04-24 | Woking Sprint | Sprint | 01:13:25 | Cat: 6th/22 / Overall: 48th/202 | ❌ |
| 2016-04-03 | GoTri Woking Super Sprint | Super Sprint | 00:37:32 | Cat: 1st/10/ Overall: 15th/85 | ❌ |
| 2016-03-06 | Stanford Treeathlon Triathlon | Sprint | 01:18:37 | Cat: 7th / Gender: 47th | ❌ |
Sprint +
Finish time
00:54:56
Position
Cat: 1st / Overall: 5th
Race report
❌
Olympic
Finish time
02:30:45
Position
Cat: 7th/29 / Overall: 59th/265
Race report
❌
Jenson Button Tri Eliminator Round
Super Sprint
Finish time
00:35:33
Position
Cat: 20th / Overall: 80th/346
Race report
❌
Jenson Button Tri Wooden Spoon Final
Super Sprint
Finish time
00:34:32
Position
Cat: 4th/65 / Overall: 29th/267
Race report
❌
01:17:16
Finish time
Sprint
Position
Cat: 6th/64 / Overall: 26th/346
Race report
❌
Sprint
Finish time
01:06:58
Position
Cat: 13th/48 / Overall: 48th/202
Race report
❌
Sprint
Finish time
01:13:25
Position
Cat: 6th/22 / Overall: 48th/202
Race report
❌
Super Sprint
Finish time
00:37:32
Position
Cat: 1st/10/ Overall: 15th/85
Race report
❌
Finish time
01:18:37
Position
Cat: 7th / Gender: 47th
Race report
❌
