Johan Veenstra
3 HYROX results (2 solo, 1 in a team) over 2 seasons. Personal bests: Open Men 1:31:05 (Maastricht 2025) · Doubles Mixed 1:19:39 (Amsterdam 2026).
One best per race type
Open Men: finish time, race by race
oldest to newest · a line going down means getting fasterEach dot is one Open Men race. Not enough complete, clean Open Men races yet to measure the change.
3 results
| Race | Division | Time | Place | Runs | Stations | Roxzone | |
|---|---|---|---|---|---|---|---|
| Amsterdam 2026 24 Jan 2026team: Johan Veenstra, Ester Kuperuswhat the whole field did → | Doubles Mixed · team 40-44 | 1:19:39 | top 50% 1116/2,259 | 43:18 | 29:58 | 6:28 | splitsSkiErg4:07Sled push2:10Sled pull4:24Burpee broad jump3:43Row4:28Farmers carry1:53Sandbag lunges3:59Wall balls5:14Run 14:29Run 25:18Run 35:27Run 45:28Run 55:35Run 65:33Run 75:24Run 86:06Full report for this race → |
| Maastricht 2025 19 Sept 2025what the whole field did → | Open Men · 40-44 | 1:31:05 | 1068th of 1,936 | 43:57 | 38:19 | 8:53 | splitsSkiErg4:32Sled push3:08Sled pull5:44Burpee broad jump5:36Row4:40Farmers carry2:24Sandbag lunges5:20Wall balls6:55Run 15:36Run 25:20Run 35:31Run 45:23Run 55:27Run 65:32Run 75:20Run 85:52Full report for this race → |
| Rotterdam 2025 27 Feb 2025what the whole field did → | Open Men · 40-44 | 1:39:48 | 1991st of 2,469 | 48:57 | 42:10 | 8:46 | splitsSkiErg4:30Sled push3:24Sled pull6:38Burpee broad jump7:23Row4:52Farmers carry3:48Sandbag lunges6:02Wall balls5:33Run 15:45Run 25:20Run 35:41Run 46:13Run 56:43Run 66:15Run 75:57Run 87:05Full report for this race → |
Place is the position among timed finishers in the same race, division and gender; a doubles place is the team's. Runs is the organiser's official run total (it can differ from the eight laps added up by a few seconds), stations the eight stations added up, and roxzone the time moving between them. The age group is the one entered for that race; for a team it is the team’s age group. How the numbers are made.
Maastricht 2025, against 1,936 Open Men
Shape of the race
Each spoke is one segment (roxzone is the time moving between stations). The further out, the bigger the share of the field beaten on it. A round shape is an even race; a dent is a weak station.
How you ranked on each segment
Longer is better: the share of the field this segment beat.
Minutes against the typical finisher
Green, left of centre: faster than the typical Open Men finisher at this race. Orange, right: slower, and by how much.
The race as one bar: Johan against the typical Open Men finisher
Left to right is the race in order: run 1, SkiErg, run 2, sled push, and so on. A block wider than the one below it is a slower segment than the typical finisher.
Roxzone cost 1:20 against the typical Open Men finisher at Maastricht 2025. The pacing guide is where that time comes back.
Fix roxzone. Then beat 1:31:05.
The RoxHype app takes your real splits, your kit and your next race date, and builds the weeks between.
- Every session written for your weak station, not a generic plan
- Rebuilt each week from what you actually did
- Race-day pacing from your own splits
Free to download. Used by more than 40,000 HYROX athletes.