Optimising for a 15-hour time trial & a new end-to-end record

A VR headset, ground-down shoe soles, ice socks everywhere, and a new record.

Contrary to what you might see here, Ronan did ride the actual route, not a virtual one.

I’m not sure if it’s a global thing or if it’s just us Irish and British who have such a fascination with cycling islands end-to-end. Land’s End to John o’ Groats spans the length of mainland UK, while much closer to my own heart is the Mizen Head to Malin Head cycle between the most southerly and northerly points of Ireland. I can’t remember how long I’ve been fixated with breaking the record for Ireland’s end-to-end, but it’s at least five years. Last weekend it finally happened.

There was of course plenty of nerdy detail that went into the prep, and while I can’t remember, let alone document, every question that popped up over the past half-decade, here’s a look at some of the optimisation that went into a 15hr+ time trial.


The start and finish points for these so-called End-to-End rides are fixed, how you get between them is up to each rider to figure out and navigate. It seems simple, pick the shortest and flattest route possible, but in reality it is anything but simple. Researching my ride I plotted countless Strava and MapMyRide routes, downloaded GPX files, uploaded to BestBikeSplit and VeloViewer, trawled Google StreetView, spoke with local cyclists along the route, researched other attempts, and even rode in VR.

The shortest route featured more climbing, the flatter route had significantly more distance. The most popular route between the two Heads takes a scenic approach skirting the western coast, it was this route I did over five days as a 16-year-old kid. That route is highly recommended to anyone looking for a scenic bike tour, but possibly the worst option to complete the ride in record time.

There was also the option of taking the route used for the existing record. It was among the shortest and flattest options and is clearly conducive to a good time. At 571 km it was just 16 km longer than the Donegal Wild Atlantic Way Ultra Race I had won three times, but with around 4,300 m of elevation, it featured just half the climbing. Given the M2M record and my Donegal Ultra times were almost identical, I was confident I could break the record given the reduced elevation. Still, though, I wanted to be sure there wasn’t a better option. If I could optimise the previous record route even further, I could be more certain of breaking the record. The difficulty, though, was in researching and optimising a section of the route over 500 km away.

That six-day charity ride back in 2003 was the catalyst for the cycling bug I’ve carried ever since, but it was hardly my only connection to the end-to-end as a kid. Growing up 45 km from Malin Head, the most popular M2M route literally passed my front door. Growing up in that area meant two things for a cyclist and an End-to-End fanatic. One, I knew all the route options for the final 100 km better than perhaps anyone, and, two, given our proximity to Malin Head, the End-to-End is basically a rite of passage for every cyclist in the area. There was always someone training for the “Mizen to Malin,” and so there was always plenty of talk about the route and any attempts.

Sean Hernon set the existing record in September 2021; my crew chief, Chris McElhinney, happened to come across Sean as he was within touching distance of Malin Head and achieving the new record. I was on the phone to Chris who was following Sean as he completed those closing kilometres to set a new record. There are a few ways to Malin Head, but locals know there is only one fast way. Suddenly, Chris said, “Shit, he’s gone the wrong way.” As Chris and I frantically tried to work out why Hernon kept riding in the wrong direction, it dawned on me he was taking the route any route builder or GPS device would take you, straight over Black Mountain rather than around by the flat and fast coastline.

You can recon a route 500 km away AND heat acclimatise from the discomfort of your own garage … but what will the neighbours think?

Hernon’s Garmin/Strava routing confirmed I should be wary of trusting any online route calculators. And while I was intimately familiar with the end of the route, that wasn’t the case elsewhere. I’d have to recon my ride through the most southerly sections of the route, but how could I recon somewhere 500 km away without the time or budget to go there? That’s where ViRZoom’s VZFit Oculus-based fun home fitness app came in.

Virtual Reality, sort of

Using routes created in Goggle Maps, VZFit combines Google StreetView images and GPS data to simulate rides using a Meta Oculus Quest headset and an interactive smart trainer. I uploaded my M2M route to Maps, downloaded a KML file of the route, uploaded that KML file to my VZFit account, connected an Oculus headset to an Elite smart trainer, and rode the section of the route I was unfamiliar with.

Truth be told, I had planned to recon much more of the route this way, but for one reason or another that never happened. Furthermore, while I thoroughly enjoyed the change of scenery in my garage and quite enjoy VZFit for short endurance or recovery rides, blending StreetView images together is not virtual reality. There is a slightly pixelated effect throughout and a jumpiness as the images transition from one to another. Still, I’d seen enough to decide my shorter but slightly hiller route was the way to go and had I spent the time to attempt the cordless drill and Bluetooth speed sensor hack I’d probably have recon’d much more of the route from the comfort of my sofa … how long before we see WorldTour sprint trains recon finishes this way?

I had planned to grab a bunch of photos at the finish for a bike check gallery … that didn’t happen. My uncle (photo credit Joe Butler) grabbed this shot.

Bike tech

With the route nailed down, the other big question mark was which bike to ride. A time trial bike seemed like the logical choice, but is it even possible to ride a TT bike for 15+ hours? I’d spent five and a quarter hours on a TT bike to break another Irish place-to-place record, but couldn’t pee properly for about a week after. What effect would three times as long have?

That said, I know from previous events how much faster a TT bike in an Ultra race against the clock. I decided the plan should be to ride the entire course on a time trial bike, and with a full winter to get ready, it should be possible.

I spent the winter refining that time-trial position on my Factor Hanzo TT bike and tried several saddles before finally opting for a Wove V8 TT saddle to avoid any issues. Improving comfort and positional sustainability was the first step. Along with the new saddle setup, I upgraded to Wattshop Anemoi extensions, not just because they are probably more aero, but mostly because the arm-hugging design helps support the entire forearm and elbow. 

I bought extension reach mount plates, also from Wattshop. These helped get the extensions out to the maximum permitted under the new UCI time trial regulations for my category 2 height (CyclingIreland place-to-place records are run in accordance with UCI time trial regulations). Contrary to what might seem logical, this extra reach actually made for a more comfortable and aero position. 

In addition to that extra reach, I lifted the front end by around 3 cm and used adjustable-angle risers to get the extensions up to 25°. This increased height and bicep-relaxing angle further improved the positional comfort and sustainability. Better yet, when tested on the velodrome with Wattshop recently, the position had a negligible effect on CdA (coefficient of aerodynamic drag, a rider’s drag coefficient multiplied by their area), meaning I could go just as fast for the same power output but much more comfortably. 

Dialling in the new TT position involved quite a bit of trial and error and Google meets with myself.

As part of the saddle change, I looked at the saddle position. First, I changed to a seatpost with more setback and moved the saddle farther behind the bottom bracket to better engage the glutes. I had chosen the Wove V8 saddle because the cover offers improved grip, the wide nose offers plenty of support, and the deep central channel means I can run less-negative saddle tilt without creating a pressure point on the nose. I found these three features combined in a saddle offered me much more support in the TT position. Saddle support is often overlooked in time trial setup. The upper body cannot relax into the time trial position without adequate support. 

I also dropped both my effective and actual saddle height. First by switching from 170 mm cranks to 155 mm Rotor Aldhu cranks, and finally, Miche’s Pistard Air track cranks in 165 mm along with specially made Pyramid Cycle Design 56 tooth 1X road narrow-wide chainring with 144 BCD. 

Having had the Miche cranks recommended to me by Dr Mark Pharaoh of Pyramid, I purchased the cranks having identified a possible triple crown of aero savings in the 1X chainring sans front derailleur, aero-profiled crank, and narrower 138 mm Q-Factor.

Having reduced my effective saddle height with shorter cranks and settled on the 165 mm crank length, I then reduced my actual saddle height by another 1.5 cm over a month of trial and error. This was almost entirely based on feel and what felt most comfortable but had the added benefit of further reducing my frontal area. 

Fast forward to the week of the attempt and that velodrome aero testing mentioned earlier. That session is part of an ongoing aero-testing feature rather than part of this record attempt, so in addition to quickly testing that front-end height change mentioned earlier, we spent most of the day assessing which of the various helmets on test worked best for my position. 

Having tested three POCs, the Tempor, the new Procen, and the Cerbral, a MET Drone, a Giro Aerohead, and the new Sweet Protection, the Kask Bambino with standard or pro visor tested fastest for me. 

With five days to go until the attempt, we had measured my CdA at .197, and I was up to three hours of comfortable riding in position. Three hours might not seem like a long enough test, but it was as much time as I could carve out. That final “long” ride doubled up as a final outdoor testing session. Using the Aerosensor, and excluding climbs out of the saddle and traffic passing, I was consistently riding around .20/.21 CdA in a standard jersey, bibs, and sans overshoes.

Testing, testing, 1,2.

Last minute tweaks included prepping two chain options. One used CeramicSpeed’s new UFO Wet drip wax and the other wasn’t so much prepping as just breaking in a Silca Secret Blend pre-waxed chain. Which chain to run would come down to weather conditions on the day, which, as luck would have it, started off very wet.

After initially being left quite underwhelmed with the new UFO Wet drip, CeramicSpeed assured me both Dave Rome and I had received a faulty batch. Having ridden most of the first 200 km on this ride in wet conditions with a replacement bottle of UFO Wet, and having got almost 300 km in before needing to add a wet lube to the chain, I am now a lot more impressed with the UFO Wet offering. I’ll need more time to make a definitive conclusion though.

Job done, time to go home.

We couldn’t leave the tech talk without mentioning tyres. I fitted a Continental GP 5000 TT 25 mm up front for optimal tyre-to-rim-width ratio with the Princeton CarbonWorks Mach 7580 trispoke, and a GP 5000 S TR 28mm at the rear on a Black Inc Zero disc. Job done, I’d say, but the prep wasn’t finished. 


The red shoes were part of a food allergy awareness campaign.

I’d decided to forgo aero overshoes as I attempted to improve awareness around food allergies and raise funds for two foundations working in this space. The red shoes I wanted on show were to be a symbol of that campaign, a nod to Red Sneakers for Oakley foundation’s International Red Sneakers Day. 

That said, I hadn’t completely given up on optimising my foot aerodynamics. I figured I could get an even narrower foot stance if I filed away a small section of the carbon sole on the red Giro Imperial shoes I planned to wear. The Wahoo Speedplay PowerLink Zero power pod limits how narrow I could run the cleats on the Giro sole without getting creative (read: destructive). I ran out of time to have the Shoe Dr convert my Imperials from Boa dials to lace-ups, but I did have a pair of red Specialized warp sleeves from an old pair of Sub 6 shoes which, along with the narrower foot position and tall aero socks, the Fastest (and most expensive) Socks on the Planet if the marketing is to be believed, should claw back some of the losses from ditching the overshoes. 

Not recommended marginal cleat-placement gains.

Speaking of clothing, after much deliberation and, unfortunately, very little testing (due to time constraints), I decided on the Rule28 Neo Suit and Castelli Bolero aero sleeves. In hindsight, I should have raced with mitts, as out of the saddle climbing was quite sketchy with wet, sweaty hands. Up top I ran that Kask helmet which tested fastest for the first nine hours, until the 28° heat became too much, and I swapped to a Specialized Evade 3 … oh how I wish they’d sent a white one.

Fuelling & pacing

I had estimated I’d need around 90 grams of carbohydrate per hour to sustain the planned 220-watt average. In reality I didn’t know what power would be possible for such a lengthy time on a time trial bike, but the 90 g/cho/hr seemed a safe bet both for fuelling requirements and to avoid stomach upset.

We tried to keep track of fuelling, but somewhere around bottle No. 30 and bag of ice No. 15 we lost count.

This 90 g was achieved using SIS Beta Fuel, Kinetica energy gels, Mum’s boiled jacket potatoes, and, thankfully, an awareness of the risks of consuming too many SIS Nootropics gels.

Ultimately the toughest challenge on Sunday was the sheer heat. While Ireland has been experiencing a heat wave of late, the forecast for Sunday suggested southerly winds, mild temps, and low pressure with a chance of rain as Storm Oscar made its way towards the island. Oscar must have got lost somewhere, because Sunday was the hottest day of the year so far with temperatures reaching 26.2°C/79.16°F.

The ride started off cool, wet, and misty …
… But quickly turned very hot! Thankfully the finish was in sight at this point.

I’m a firm believer in heat training, suiting up for an indoor sweat session as recently as last week. Heat adaption training or not, nothing could prepare this Irish man for so many hours in the direct sun, in a black skinsuit and helmet, which with hindsight obviously wasn’t the best decision.

We pre-froze my bottles and kept them overnight in a cooler box, so by the time I was drinking them they had the same consistency as an ice slushy. We had ice cold water for pouring over me to aid cooling, and ice packs to stuff here, there, and everywhere. Still and all, as the heat increased the wattage and speed decreased. It’s an unavoidable scenario, even if we made plenty of interventions to mitigate the heat effects.

I feel I managed the conditions as well as could be expected, aided immeasurably by my parents, who must have purchased almost all the bags of ice in countless shops between the midlands and Malin Head, and the crew who seemingly risked drowning in a car a hundred miles or more from the coast managing all that melting ice and water.

Ultimately, we made it to Malin head, 1hr50mins ahead of the existing record and just as temperatures cooled enough that I could make the last minute stop to throw on a Foyle Cycling Club jersey for the climb up to Bamba’s Crown and Ireland’s most northernly point. Job well and truly done.

You can view the ride here on Strava.

Ride stats

568 km
15hrs30min total time
15hrs07min moving time
37.5 kph moving average
4,529 m elevation gain
677 TSS
11,523 KJ
49:51 left right balance
214 avg power, 234 Normalised Power
82 rpm average
22°C average temperature
38.6 average Core temperature
8 Strava KOMs stats:
CdA: 0.205 (calculated)
Weather Impact: -4.8%
Headwind: 27% @ 3.8-25.6km/h
Longest Headwind: 02h 29m 52s
Air Speed: 36.3km/h
Temp: 15.2-23.2°C
Precip: 0% @ 0 Inch/hr stats – 259.42 new kilometers covered.

That’ll do.

What did you think of this story?