
On Saturday 17 May 2025 I set off for a bicycle ride, but not just any bicycle ride, an ultra bicycle ride race. The challenge: ride one thousand kilometers in one hundred hours through four countries, with over seven thousand metres in elevation gain. To make it more difficult than it already is leave at 18:00 on Saturday, and have to check-in by midnight Sunday in Germany, roughly 370km away.
Sure.
When I signed up in December my thought was, sounds fun, not having ever done an ultra before. Even though I had 5 months to train, it wasn’t great, filled with excuses and not that many long distance rides. By the time May came I had only done a total of about 3000 km, better than nothing I guess.
Also, another rule of the ultra is that it’s self supported and can’t reserve any accommodations in advance or receive any help from anyone. All the stops for food and water have to be publicly available to everyone.


Not knowing what to expect I just set myself a goal to just finish, great if it’s before the 100 hours, and fine if it’s after.
Of the 200 who signed up I was on wave 5 with a cap number of 118 and departing at 18:20 with 29 other riders. I quickly set into my own rhythm and ignored the fact that everyone was passing me.

I’ve done plenty of night riding in the past, albeit usually with others and not more than 2 hours. There were a few sections where it got really quiet and dark, it started to play tricks on me. Suddenly alone in the dark, only being able to see what my lights shine, the mind starts to play tricks. I then decided to dim my lights to the lowest setting, allow my eyes to adjust and soon I could see the stars. Made a point to stop a few times and enjoy the quiet. But still, the cold would not allow me ride all night long. Later I would learn someone else I knew could not handle the loneliness, went straight to the station in Maastricht and quit the race. Much respect for trying to ride all night.
I had planned to only ride 160km to the city of Venlo, I anticipated arriving there around 02:00, but as luck would have it we had a bit of back wind and I arrived earlier. I had already decided that even if I make good time I would still stop to rest.
| 17-5 | |
|---|---|
| Planned Distance (km) | 160 |
| Actual Distance (km) | 164 |
| Elevation Gain (meter) | 336 |
| Moving Time | 6h 42m |
| Total Time | 7h 3m |
| Average Speed (km/h) | 24.6 |

In Venlo I slept an okey 4 hours. Woke up before the alarm, did my stretching and packed up while I had breakfast. To save time I had brought some dehydrated camping meals, they tasted terrible, but it was food.
I kept riding with anticipation to stop at a supermarket or bakery I had marked in advance. Being Sunday I knew everything closes in Germany so I wanted to have bought all my food for the day in the Netherlands. But I was either too early (opens late) or too late (closes early). I kept riding along the river Meuse, into Germany, back into the Netherlands and making my way to the Belgian border.
It was a cold misty morning of riding through farm fields and villages.





When I made it to the town of Gulpen (about 100km into the ride) I was still without food. I had saved 3 bakeries to stop, the first two were closing and would not help. The last one had one bread remaining to make me a sandwich to go, I asked for 3, some broken dutch exchanged and she ended up giving me 5. Maybe she saw I was hungry, saw the bike, and thought why not. Thank you, kind stranger. While she made me the belegde brodje I filled up on water from the tap in the wc. It was around 13:00 and I was still 125km from the first checkpoint. It’s going to be a long night, I thought.



In Belgium the road became more rolling hills, the scenery changed. It was nice to have some downhill sections and get a break from pedaling without having to stop.

Quickly made it to Germany and the National Park Eifel. The rolling hills became steeper and the day was going by faster. With 75km to the checkpoint, little sleep, getting tired I wondered if I would have time to finish the first parcours.

When I arrived at the start of the first parcours, it was around 20:00. For a split second I was excited that maybe I would have enough time. But when I loaded the route I was reminded it was 1300m in gain. Disappointed I started the climb to the checkpoint and tried to enjoy the sunset. The hill side was full of really bright yellow bushes.
After about an hour of climbing I made it to the first checkpoint about 45 minutes before the deadline. I got my stamp and decided not to do the remainder of the parcours. I checked in to the hotel and went out to have wings with a friend who was also doing the ride.
| 17-5 | 18-5 | Total | |
|---|---|---|---|
| Planned Distance (km) | 160 | 270 | – |
| Actual Distance (km) | 164 | 225 | 389 |
| Elevation Gain (meter) | 336 | 2707 | 3043 |
| Moving Time | 6:42 | 12:19 | – |
| Total Time | 7:03 | 14:34 | – |
| Average Speed (km/h) | 24.6 | 18.3 | – |

Monday I woke up feeling like I’d been frozen for 100 years. Still tired, not very motivated and with doubts that I’d finish the race I set off to do the first parcours. My friend that I had dinner with the night before decided to quit the race and go do some riding at his own pace. He had invited me last night but I said I would decide in the morning. I can’t explain why I decided to keep going, knowing very well the next 300km was going to be even more steep hills, and a lot more difficult.
With little motivation I started the climb up to finish the parcours. The views were really nice, either forests, farms or villages. Unlike Sunday the sun was out and it wasn’t so cold. I think that made all the difference.







Didn’t worry about packing a lunch or filling water since the parcours was about 60km and ended in the same village where I started (Adenau Germany). I only made a small snack of nutella and bread. For a moment I forgot I was riding an ultra cycling race and I just enjoyed the ride not worrying about making it to the next checkpoint before 22:20.
Made it back to Adenau where I had lunch, the next checkpoint was over 150km away and I knew I would not be there in time. I decided to book a hotel near the border with Luxembourg not knowing if I would continue the race. I looked at some route options and things to do in Luxembourg, but also told the organisers I was not quitting yet even though I had missed the checkpoint deadline (had I kept going I would have been 4 hours late). One of the options was to ride the vennbahn from Luxembourg to the German/Dutch border, spend a day soaking in the hot sauna and take the train back to Utrecht.
But I told myself I would not decide what to do until the morning.


I adjusted the route and took an old rail line that had been converted to a bicycle path. The best part was that the last 25km was all downhill.






Around 18:00 I made it to the hotel in Mettendorf Germany, a small remote village surrounded by rolling hills. They didn’t speak English, and I don’t speak German, so I would speak in broken elementary Dutch and he in easy slow German, somehow I managed to check-in, order dinner and a couple 0% alcohol beers.

Still sleep deprived I went to bed early, around 21:30 not knowing I was actually halfway there, I only realise it now that I make the table below. I do remember trying to figure out the next two compulsory parcours and trying to estimate a time but I just kept going cross-eyed when trying to do math, and I just went to bed thinking it’s impossible to be back in Utrecht by 22:20 in two days.
| 17-5 | 18-5 | 19-5 | Total | |
|---|---|---|---|---|
| Planned Distance (km) | 160 | 270 | 190 | – |
| Actual Distance (km) | 164 | 225 | 160 | 549 |
| Elevation Gain (meter) | 336 | 2707 | 2279 | 5322 |
| Moving Time | 6:42 | 12:19 | 8:33 | – |
| Total Time | 7:03 | 14:34 | 10:28 | – |
| Average Speed (km/h) | 24.6 | 18.3 | 18.8 | – |

Woke up Tuesday after a good night’s sleep, and while having breakfast (5 eggs, 5 small croissants, fruit with yogurt and a double espresso) I looked at the race route again. Checkpoint 3 was about 160km away (including the second checkpoint) and somehow it seemed achievable. I estimated I could be there in 11 hours (riding time, not counting breaks) and decided to go for it after having my second poo of the day (courtesy of that double espresso). I felt lighter and motivated for the day.





After about an hour I was in Luxembourg and starting the second parcours. The first few km’s were very steep, but Luxembourg has very well kept roads, and the hills / valleys provide some really nice views.


For the next few hours I forgot I was in a race against time, stopping to make pictures and videos, using the train stations to refill water, but somehow still managed to make good time to the third checkpoint, arriving one hour earlier than I thought.








The checkpoint was in the village of Tros-Pons Belgium, the staff there said I was the last one, and they were surprised I made it in time having missed cp2. We chatted a bit and were very motivated to see me finish in time. Still with daylight I decided to get a good dinner and finish the remaining 50km plus another 15 of downhill to stay in Liege. The city of Liege is bigger and offered more options for self-check-in options, I thought I could still have a fighting chance at finishing the ultra by the 100 hour deadline. I booked a flat that turns out was not very easy to check-in; the host decided it’s easier to make low quality videos, and in french, wtf does that! (they even sent a video on how to use the wifi…) I arrived in Liege and it took me close to an hour to check-in.
I was quite surprised that I was able to cover so much in one day, and also set a new personal record for most elevation gain in one ride of 4000 metres, my previous record was around 3000m.
| 17-5 | 18-5 | 19-5 | 20-5 | Total | |
|---|---|---|---|---|---|
| Planned Distance (km) | 160 | 270 | 190 | 200 | 820 |
| Actual Distance (km) | 164 | 225 | 160 | 225 | 774 |
| Elevation Gain (meter) | 336 | 2707 | 2279 | 4002 | 9324 |
| Moving Time | 6:42 | 12:19 | 8:33 | 12:25 | – |
| Total Time | 7:03 | 14:34 | 10:28 | 15:37 | – |
| Average Speed (km/h) | 24.6 | 18.3 | 18.8 | 18.1 | – |

With an estimated 250km remaining I went to bed motivated to still have a chance of finishing on time. Looking at prior rides I noticed that I’ve done 260km and 270km in 10h15m and 11h30m, respectively. But knowing that from Maastricht there would be very little chances for food and water I decided to still try leaving early.
Morning came and I didn’t sleep well. Got ready and was on the road around 07:30. Liege roads are built around cars, and riding in the morning rush hour was annoying, so I just decided to follow the river all the way to Maastricht where the final compulsory parcours started. I already knew of a cafe that is next to a supermarket in Maastricht and planned to make one stop for breakfast and supplies for the day.





It took about 45minutes to arrive in Maastricht, felt tired and lacked energy. Yesterday was a long day and by now I could barely sit on the saddle. I was also starting to get some pains on my hands. At first I thought it was the gloves had stretched out and were rubbing and creating blisters. So I removed them, and actually I should not have. Even now (days after finishing) I have numb fingers, turns out it’s called handlebar palsy, which is nerve damage on the wrist/palms and as a result the fingers go numb. (Since finishing the race I have gone to the physiotherapy and they said it will heal in time, but being nerves it will take longer).
In Maastricht I had breakfast and decided to skip the supermarket and just order take away sandwiches (should have asked for the sauce on the side). Set off and quickly realised the pain is not over, why would it. One would think that after over 700 km with so many steep climbs the route would be a smooth ride. No, the ride would now follow some of the main canals / rivers on low maintenance roads filled with gravel and loose sand, and in typical Dutch fashion, a strong head-wind.








By km 115 I was falling asleep, decided to stop and eat the last sandwich I had. It was around 15:30 and at the current pace of around 14 km/h with over 100km to go I was not going to be back by 22:20. I called Selina and shared the bad news, I was still motivated to finish, sort of, the thought of quitting was slowly growing. But talking about it I realised I’d come so far to quit now, and without injury or illness I had less reason to quit. Also the group I ride with on Wednesday’s were planning the weekly ride to intercept me and finish together, I told them that would be nice. In the end I decided to take Selina’s advice to lie down and close my eyes. Without an alarm I’m not sure how long I was there, got ready and started going again. Found a restaurant cafe that filled all my 5 bidons and kept going.
Around 17:00 I noticed my energy was coming back and my pace was going back up. Didn’t think anything of it and kept going. Then one of my computer reminders fell on the clock, exactly 5 hours before the finish, decided to look at the route and noticed I had exactly 102km remaining. Still delirious from the last 4 days it took me a minute to double check my math, and also was trying to think about the route that remains: open farm field with strong headwind. I decided to use the little energy I had and try to push for the finish, 100km in 5 hours, I’m going to try. Then I remembered the Wednesday group ride was planning to intercept me, in the spirit of the sport I decided I want to finish alone, without support, so I sent them a message with the latest updates. A few minutes later, on a stop to water the grass, I moved all my gear behind me and dumped all 4 bidons of water: more aerodynamic and less weight. At this stage I only had nutella to eat and one bidon with water, so I just scooped a few fingers full of nutella and washed it down with water.
For the next 5 hours I kept close attention to my speed, making sure I was faster than 20 km/h (and whenever possible, faster) knowing that there would be sections, and even traffic / stop lights, that would slow me down. Five hours turned to 4, then 3, then 2, then I started coming to familiar territory, sections that we usually go by on our weekly Wednesday ride. Seeing the famous Gerbrandy radio tower in the distance is a clear sign I was close to home. That familiar scenery gave me more energy, even if it was riding along the elevated dikes, and being more exposed to the wind. By now my stomach is screaming for food, my palms are hurting more and combined with saddle sores I kept trying to find different riding positions, including the most inefficient of them all, standing.
The last hour I was 18km from the finish line. I was confused since I couldn’t remember the exact route and I thought going through town was longer. Also still expecting lights and even a movable bridge (that can take up to 15 minutes to open the road again). I kept my pace, the sun was setting and it was getting dark.
Then I realised I still had my sunglasses on.
No time to waste, I was able to change my glasses while still pedaling, and as luck would have it the few lights (and bridge) were green. Then I made it to the canal that goes into Utrecht, and ultimately by the finish line. A very familiar path, with no lights, no stops and just 5 km remaining. Knowing I had plenty time I decided to not take any chances and keep pushing, with speeds over 30 km/h zipped by a friend (from the wednesday group ride that was waiting for me on the side of the path) and made it to the finish where the after ride party was well underway, and Selina was waiting for me with warm broth and coconut water.
Made it in 99 hours 48 minutes, or 4 days 3 hours 48 minuts, or with 12 minutes to spare, or dead last (however you want to look at it).


| 17-5 | 18-5 | 19-5 | 20-5 | 21-5 | Total | |
|---|---|---|---|---|---|---|
| Planned Distance (km) | 160 | 270 | 190 | 200 | 160 | 980 |
| Actual Distance (km) | 164 | 225 | 160 | 225 | 253 | 1027 |
| Elevation Gain (meter) | 336 | 2707 | 2279 | 4002 | 400 | 9424 |
| Moving Time | 6:42 | 12:19 | 8:33 | 12:25 | 11:50 | 51:49 |
| Total Time | 7:03 | 14:34 | 10:28 | 15:37 | 14:47 | – |
| Average Speed (km/h) | 24.6 | 18.3 | 18.8 | 18.1 | 21.4 | – |

It was surprising to see how many people were following along the live tracker, even strangers rooting me on to finish on time. Over the weekend strangers would congratulate me on finishing.
Friends and acquaintances telling me I should be proud to finish; I don’t feel proud, do feel happy to have finished in good health and no injury, surprised also, that I made it back, and on time. A few times I thought I’d be a few days late, I had even sent a message to the organiser asking if the live trackers would work until Friday (2 days after the challenged finish time). Also feel that I didn’t take the race mentality serious until the last 100km (take all these pictures as evidence), meaning for 90% of the ride I was stopping to make pictures and videos, trying to get plenty of sleep at night, even giving myself 30-45 minutes to stretch in the mornings and evenings.
None of these are regrets, I believe the ride happened the way it was supposed to (including the training 5 months leading to the ride) especially considering it’s my first bicycle ultra (but not my first endurance event as I’ve already done a sprint triathlon and a few marathons). But it was my first multi-day endurance ride. I’m grateful for the experience (incl the training), it taught me a lot about me, and about what I want from the sport.
I’m especially thankful for Selina’s support throughout. All the meals and help planning snacks for the ride, just look at the pre-ride lunch she made me before the ride (she called it an inspired bandeja paisa).

A few more metrics before I end this long story.
| 29 Jan 2025 | 23 May 2025 | |
| Weight in kgs | 83.6 | 85.3 |
| BMI | 22 | 22.4 |
| Fat Percent | 15.3 | 11 |
| Muscle Mass | 67.3 | 72.2 |
| Bone Mass | 3.5 | 3.7 |
| Visceral Fat | 5.5 | 4.0 |
I gained weight, but lost quite a bit of fat (these metrics are purely out of curiosity).
Would I do it again? Maybe not this same one, ask again in a few months. Certainly yes another or a long bike-packing trip.
Was it the most difficult thing I’d ever done? No, I think the 10 day silent meditation retreat was more challenging. However, during the ultra training and the event itself, I came to enjoy being alone. It became a form of meditation. The retreat may have also helped prepare me mentally for the solitude of the ultra. The only part that started to feel a bit boring was the night section on Saturday during the race. On the physical side I feel fine, the only issue I have is the handlebar palsy I already mentioned. Had it not been for that I would have done some mountain bike rides Thursday and Friday after the ultra.
Also very glad it didn’t rain, I would have definitely quit had it rained.



