HYROX Mechelen 2025: Doubles Men results

898 teams on 4 Apr 2025. Typical finish 1:14:14, fastest 10% under 1:02:53. Back to the analysis.

# Athlete Age Time Behind 1st Runs Stations Rox Ski Push Pull BBJ Row Carry Lunge WB
1 Hidde Weersma, Thierry Willigenburg 🇳🇱 NED1st of 279 aged U29 U29 50:06 25:19 19:27 5:20 3:26 1:13 2:22 2:04 3:38 1:09 2:05 3:30
2 Jordan Kane, Kristofer McSherry SCO1st of 440 aged 30-39 30-39 52:26 2:20 26:41 20:12 5:33 3:35 1:15 2:27 2:01 3:55 1:12 2:28 3:19
3 Benjamin Sutherland, Alex Morgan 🇬🇧 GBR2nd of 440 aged 30-39 30-39 52:34 2:28 27:43 19:37 5:14 3:29 1:09 1:55 2:05 3:46 1:11 2:23 3:39
4 Roman van Eijk, Joey Seetsen 🇳🇱 NED2nd of 279 aged U29 U29 54:32 4:26 28:24 20:03 6:05 3:34 1:15 2:32 2:18 4:01 1:14 1:58 3:11
5 Joey Stol, Julian Westerbaan 🇳🇱 NED3rd of 279 aged U29 U29 55:02 4:56 27:49 21:20 5:53 3:37 1:26 2:46 2:35 4:09 1:32 2:00 3:15
6 Jaafar Moumen, David Fischer 🇲🇦 MAR1st of 148 aged 40-49 40-49 55:03 4:57 28:25 20:43 5:55 3:41 1:13 2:22 2:17 4:03 1:10 2:22 3:35
7 Yannick Paquot, Thomas Soler 🇫🇷 FRA4th of 279 aged U29 U29 55:20 5:14 29:19 19:38 6:23 3:20 1:11 2:10 2:19 3:47 1:16 2:06 3:29
8 Donnacha Higgins, Noel Higgins 🇮🇪 IRL3rd of 440 aged 30-39 30-39 55:24 5:18 29:28 19:50 6:06 3:43 1:21 2:22 1:42 3:53 1:18 2:20 3:11
9 Maxime Dupont, Benjamin Desmet 🇧🇪 BEL5th of 279 aged U29 U29 55:25 5:19 28:57 20:25 6:03 3:37 1:21 2:24 2:16 3:57 1:08 2:14 3:28
10 Arnoud Jullens, Robert Van Herk 🇳🇱 NED2nd of 148 aged 40-49 40-49 55:40 5:34 29:31 20:19 5:50 3:35 1:20 2:16 2:10 3:55 1:12 2:18 3:33
11 Alejandro Romero, Steven spaans 🇪🇸 ESP3rd of 148 aged 40-49 40-49 55:47 5:41 28:39 20:59 6:09 3:43 1:20 2:32 2:21 4:10 1:29 2:11 3:13
12 Nicolas Grimont, Pierre Grimont 🇧🇪 BEL4th of 440 aged 30-39 30-39 55:56 5:50 29:03 20:47 6:06 3:38 1:20 2:30 2:11 3:58 1:10 2:19 3:41
13 Iggy O'Hea, Glen Lewis 🇬🇧 GBR5th of 440 aged 30-39 30-39 56:01 5:55 28:59 21:02 6:00 3:36 1:13 2:27 2:22 3:49 1:16 2:44 3:35
14 Diederik Verhoef, Donny Lodder 🇳🇱 NED4th of 148 aged 40-49 40-49 56:30 6:24 29:42 20:50 5:58 3:43 1:25 2:16 2:20 3:54 1:13 2:30 3:29
15 William Copp, Benjamin Carter 🇬🇧 GBR6th of 279 aged U29 U29 56:32 6:26 29:36 20:36 6:20 3:40 1:06 2:24 2:23 3:56 1:21 2:19 3:27
16 Gaetan Tinard, Léo Lesueur 🇫🇷 FRA7th of 279 aged U29 U29 56:36 6:30 30:00 20:00 6:36 3:30 1:14 2:23 2:01 3:52 1:07 2:07 3:46
17 Wouter Borst, Eelco Bakermans 🇳🇱 NED5th of 148 aged 40-49 40-49 57:22 7:16 30:46 19:50 6:46 3:30 1:19 1:50 2:11 3:46 1:29 2:23 3:22
18 Ali Calisir, Yassine Dahmani 🇧🇪 BEL6th of 440 aged 30-39 30-39 57:47 7:41 29:26 21:48 6:33 3:47 1:22 2:43 2:31 4:05 1:24 2:24 3:32
19 Sam Schoeman, Jesse Hollander 🇳🇱 NED8th of 279 aged U29 U29 57:49 7:43 30:15 20:32 7:02 3:36 1:25 2:28 2:27 3:49 1:11 2:16 3:20
20 Christian Ewert, Per-Ole Claaßen 🇩🇪 GER7th of 440 aged 30-39 30-39 57:49 7:43 29:13 21:51 6:45 3:45 1:22 2:30 2:33 4:00 1:10 2:44 3:47
21 Yorick van Egmond, Niek van der Horst 🇳🇱 NED8th of 440 aged 30-39 30-39 58:07 8:01 29:44 21:54 6:29 3:41 1:18 2:42 2:51 4:00 1:10 2:29 3:43
22 Gil Brihaye, Martin Doyen 🇧🇪 BEL9th of 440 aged 30-39 30-39 58:22 8:16 29:38 22:08 6:36 3:45 1:12 2:45 2:32 4:08 1:14 2:42 3:50
23 Luuk van Lanen, Niels Vonk 🇳🇱 NED10th of 440 aged 30-39 30-39 58:25 8:19 30:11 21:17 6:57 3:52 1:11 1:42 2:36 4:00 1:24 2:35 3:57
24 Lucas Willenborg, Jan van Binsbergen 🇳🇱 NED9th of 279 aged U29 U29 58:26 8:20 29:49 22:03 6:34 3:38 1:26 2:54 2:30 4:12 1:19 2:23 3:41
25 Matthijs Deprez, Pieter Gryson 🇧🇪 BEL11th of 440 aged 30-39 30-39 58:35 8:29 30:32 21:41 6:22 3:34 1:20 2:07 2:39 3:57 1:38 2:53 3:33
26 Morgan Gauthier, Ilian Hassouni 🇫🇷 FRA10th of 279 aged U29 U29 58:42 8:36 29:30 22:44 6:28 3:50 1:12 2:40 2:25 4:35 1:33 2:48 3:41
27 Antonio Bolivar, George Melton 🇪🇸 ESP11th of 279 aged U29 U29 58:44 8:38 30:08 21:47 6:49 3:52 1:15 2:33 2:09 4:18 1:20 2:39 3:41
28 Raul Sevillano, Pedro Olmedo 🇪🇸 ESP12th of 279 aged U29 U29 58:47 8:41 29:18 22:27 7:02 3:58 1:26 2:59 2:07 4:16 1:33 2:37 3:31
29 Sem Zonderwijk, Joost Huisman 🇳🇱 NED13th of 279 aged U29 U29 58:48 8:42 31:23 20:43 6:42 3:40 1:19 2:28 2:02 4:02 1:18 2:22 3:32
30 Guillaume Grimal, Florian Kohler 🇫🇷 FRA12th of 440 aged 30-39 30-39 58:58 8:52 30:54 21:10 6:54 3:35 1:19 2:37 2:12 4:03 1:11 2:51 3:22
31 Sven Eggermont, Patrick Rutterkamp 🇳🇱 NED13th of 440 aged 30-39 30-39 59:13 9:07 31:15 21:31 6:27 3:45 1:14 2:17 2:39 4:07 1:24 2:34 3:31
32 Rens Snoeren, Bart Van den Berg 🇳🇱 NED14th of 279 aged U29 U29 59:16 9:10 30:25 21:55 6:56 3:47 1:22 3:02 2:02 4:06 1:11 3:01 3:24
33 Theo Palasz, Marc Antoine Normand 🇫🇷 FRA15th of 279 aged U29 U29 59:20 9:14 31:09 21:09 7:02 3:35 1:23 2:25 2:18 3:43 1:17 2:55 3:33
34 Troy Kiveryn, Thomas Jurgens 🇧🇪 BEL16th of 279 aged U29 U29 59:20 9:14 30:28 21:48 7:04 3:45 1:16 2:49 2:07 4:09 1:23 2:53 3:26
35 Robin Van Overdijk, Raf Roefs 🇳🇱 NED17th of 279 aged U29 U29 59:20 9:14 30:32 21:57 6:51 3:41 1:34 2:45 2:13 4:07 1:19 2:35 3:43
36 Remco Groeneveld, Ronald Boer 🇳🇱 NED6th of 148 aged 40-49 40-49 59:21 9:15 30:37 22:06 6:38 3:44 1:26 2:10 2:56 4:08 1:22 2:46 3:34
37 Roy Koenders, Bart Daaleman 🇳🇱 NED14th of 440 aged 30-39 30-39 59:24 9:18 30:39 22:01 6:44 3:38 1:19 2:20 3:12 4:07 1:11 2:42 3:32
38 Robbert Olbrechts, Simon Peeters 🇧🇪 BEL15th of 440 aged 30-39 30-39 59:38 9:32 31:33 21:23 6:42 3:36 1:13 2:35 2:15 4:09 1:21 2:22 3:52
39 Michaël De Wreede, Jonas De Bruyne 🇧🇪 BEL16th of 440 aged 30-39 30-39 59:44 9:38 31:20 22:06 6:18 3:39 1:03 2:38 2:56 3:51 1:10 2:55 3:54
40 Paul Williams, Martin Browne 🇬🇧 GBR7th of 148 aged 40-49 40-49 59:58 9:52 33:17 19:57 6:44 3:36 1:23 1:52 2:27 4:00 1:15 2:08 3:16
41 Raf Houben, Raf Heyligen 🇧🇪 BEL17th of 440 aged 30-39 30-39 59:59 9:53 30:59 22:08 6:52 3:44 1:07 2:45 2:41 4:06 1:26 2:38 3:41
42 Gilles Vanmaldeghem, Jens Vanecht 🇧🇪 BEL18th of 279 aged U29 U29 1:00:08 10:02 30:52 22:33 6:43 3:47 1:10 3:32 2:19 4:18 1:22 2:36 3:29
43 Benjamin Biemmi, Nicolas Godts 🇧🇪 BEL18th of 440 aged 30-39 30-39 1:00:13 10:07 30:53 22:13 7:07 3:51 1:23 2:10 2:16 3:52 1:20 3:34 3:47
44 Lenn Bergraaf, Dirk Driessen 🇳🇱 NED19th of 279 aged U29 U29 1:00:20 10:14 31:13 21:56 7:11 3:43 1:22 1:57 2:40 4:08 1:29 2:59 3:38
45 Jonathan Eames, Kristian McNulty 🇬🇧 GBR8th of 148 aged 40-49 40-49 1:00:21 10:15 31:41 21:57 6:43 3:34 1:23 2:18 2:24 4:06 1:24 3:02 3:46
46 Ryan Croke, Martin O’Neill 🇮🇪 IRL20th of 279 aged U29 U29 1:00:28 10:22 31:03 22:49 6:36 3:44 1:25 2:37 2:57 4:08 1:29 2:52 3:37
47 Erik Daems, Joachim Callebaut 🇧🇪 BEL9th of 148 aged 40-49 40-49 1:00:31 10:25 30:02 23:50 6:39 3:57 1:20 3:30 2:33 4:28 1:29 2:56 3:37
48 tim de ceuster, Roy Voster 🇧🇪 BEL21st of 279 aged U29 U29 1:00:33 10:27 31:59 21:01 7:33 4:03 1:08 2:13 1:50 4:23 1:16 2:30 3:38
49 Alex Sygula, Maxence Letrouve 🇫🇷 FRA22nd of 279 aged U29 U29 1:00:33 10:27 32:39 22:03 5:51 3:36 1:31 3:01 2:29 3:52 1:22 2:43 3:29
50 Simon Mertens, Frederic Van Himbeeck 🇩🇪 GER19th of 440 aged 30-39 30-39 1:00:33 10:27 31:04 22:57 6:32 3:53 1:22 2:40 2:48 4:10 1:26 2:58 3:40
51 david aerts, Michiel Pepermans 🇧🇪 BEL20th of 440 aged 30-39 30-39 1:00:34 10:28 32:06 22:01 6:27 3:42 1:16 1:51 2:28 4:04 1:16 3:11 4:13
52 Tom Mulder, Toon Van Veen 🇳🇱 NED21st of 440 aged 30-39 30-39 1:00:42 10:36 31:09 22:40 6:53 3:49 1:23 3:41 2:13 4:05 1:20 2:38 3:31
53 Gianni De Greve, Jonas Neyt 🇧🇪 BEL22nd of 440 aged 30-39 30-39 1:00:43 10:37 32:02 21:29 7:12 3:40 1:16 2:49 2:31 3:47 1:26 2:23 3:37
54 Clément Vuattier, Yann Fouquart 🇫🇷 FRA23rd of 440 aged 30-39 30-39 1:00:52 10:46 31:54 22:18 6:40 3:43 1:25 3:10 2:23 4:02 1:10 2:42 3:43
55 Alexandre Peronnet, Robinson Mena De La Rosa 🇫🇷 FRA23rd of 279 aged U29 U29 1:00:55 10:49 31:15 22:42 6:58 3:55 0:59 2:19 2:43 4:16 1:23 3:14 3:53
56 Sven Bleh, Thomas Heider 🇩🇪 GER1st of 26 aged 50-59 50-59 1:00:56 10:50 31:53 22:36 6:27 3:47 1:36 2:47 2:31 4:06 1:25 3:00 3:24
57 Tomas Sanchez Posada, Arnaud Van Melkebeke 🇧🇪 BEL24th of 440 aged 30-39 30-39 1:00:57 10:51 31:14 22:31 7:12 3:47 1:10 3:00 2:17 4:14 1:25 2:43 3:55
58 Dylan Versluis, Gert-Jan Westerhout 🇳🇱 NED25th of 440 aged 30-39 30-39 1:01:01 10:55 32:48 21:21 6:52 3:33 1:22 2:39 2:17 3:51 1:19 2:25 3:55
59 Tom Martz, Pascal Martz 🇫🇷 FRA26th of 440 aged 30-39 30-39 1:01:04 10:58 30:28 24:02 6:34 3:53 1:16 2:52 3:08 4:24 1:39 3:22 3:28
60 Andreas Lütkewitte, Jan Hoffmann 🇩🇪 GER27th of 440 aged 30-39 30-39 1:01:18 11:12 32:21 22:18 6:39 3:59 1:16 2:35 2:49 4:14 1:22 2:37 3:26
61 Boy Viring, Jesper Vos 🇳🇱 NED24th of 279 aged U29 U29 1:01:29 11:23 33:03 21:24 7:02 3:54 1:16 2:31 2:02 4:14 1:18 2:39 3:30
62 Chris Vernooij, Daan Achterkamp 🇳🇱 NED25th of 279 aged U29 U29 1:01:30 11:24 31:59 22:44 6:47 3:47 1:22 2:48 3:07 4:00 1:25 2:32 3:43
63 Rene Hoevenaars, Maarten Hoevenaars 🇳🇱 NED10th of 148 aged 40-49 40-49 1:01:37 11:31 32:34 22:10 6:53 3:54 1:20 2:46 2:15 4:09 1:26 2:45 3:35
64 Dieter Peys, Jef Knaeps 🇧🇪 BEL28th of 440 aged 30-39 30-39 1:01:49 11:43 32:10 22:12 7:27 3:36 1:06 2:46 2:50 4:09 1:37 2:46 3:22
65 Tanguy Goretti, Nicolas Vassaux 🇧🇪 BEL29th of 440 aged 30-39 30-39 1:01:54 11:48 31:48 22:53 7:13 3:47 1:40 3:15 2:32 4:03 1:20 2:40 3:36
66 Nathan Woods, Charlie Mouncer 🇬🇧 GBR26th of 279 aged U29 U29 1:02:01 11:55 32:07 23:02 6:52 3:49 1:27 2:34 2:48 3:59 1:22 3:16 3:47
67 Vincent Sels, Mitu Verbeeck 🇧🇪 BEL27th of 279 aged U29 U29 1:02:02 11:56 30:02 25:30 6:30 3:46 1:24 3:46 3:00 4:16 1:29 3:09 4:40
68 Nathan Lefranc-Pradeau, Maël Castel 🇫🇷 FRA28th of 279 aged U29 U29 1:02:05 11:59 32:29 22:33 7:03 3:30 1:12 2:35 2:44 4:04 1:19 2:50 4:19
69 Nicolas Smeyers, Arthur Claeys 🇧🇪 BEL29th of 279 aged U29 U29 1:02:05 11:59 31:48 23:16 7:01 3:59 1:19 3:14 2:22 4:27 1:20 2:55 3:40
70 Quincy Sardjoe, Ahmad Akraa 🇳🇱 NED30th of 279 aged U29 U29 1:02:07 12:01 31:45 22:40 7:42 3:42 1:18 3:06 2:43 4:23 1:24 2:21 3:43
71 Eike Zywietz, Falko Gallenkamp 🇩🇪 GER11th of 148 aged 40-49 40-49 1:02:09 12:03 31:22 23:57 6:50 3:49 1:24 2:46 3:32 4:19 1:35 2:49 3:43
72 Geert Voorburg, Daan Voorburg 🇳🇱 NED31st of 279 aged U29 U29 1:02:11 12:05 31:23 24:17 6:31 3:42 1:28 2:49 3:19 4:01 1:48 3:22 3:48
73 Arthur Beaghe, Guillaume Sturbaut 🇧🇪 BEL30th of 440 aged 30-39 30-39 1:02:20 12:14 33:19 21:28 7:33 3:48 1:19 2:10 2:33 4:00 1:15 3:08 3:15
74 Ramy Bouzouita, Nathan Romagny 🇧🇪 BEL31st of 440 aged 30-39 30-39 1:02:20 12:14 32:00 23:20 7:00 3:41 1:15 2:49 3:09 4:19 1:24 3:00 3:43
75 filip vermaelen, Jelle Buys 🇧🇪 BEL32nd of 440 aged 30-39 30-39 1:02:22 12:16 33:01 22:03 7:18 3:52 1:12 2:45 2:39 4:05 1:28 2:22 3:40
76 Jon Skriver, Søren Flintrup 🇩🇰 DEN12th of 148 aged 40-49 40-49 1:02:24 12:18 33:51 21:24 7:09 3:42 1:21 2:31 2:03 4:18 1:12 2:43 3:34
77 Renaud Boutillier, Henri Toupet 🇫🇷 FRA13th of 148 aged 40-49 40-49 1:02:24 12:18 32:07 23:03 7:14 3:39 1:18 3:04 2:31 4:14 1:25 2:52 4:00
78 Benjamin D'Hoe, Robin Vanhauwe 🇧🇪 BEL32nd of 279 aged U29 U29 1:02:26 12:20 31:03 23:35 7:48 4:00 1:24 2:39 2:33 4:23 1:34 2:47 4:15
79 Mano Jai, Mathia Palaia 🇧🇪 BEL33rd of 440 aged 30-39 30-39 1:02:37 12:31 31:54 23:52 6:51 3:52 1:22 3:06 2:52 4:31 1:33 2:51 3:45
80 Ar Koolen, Tim Kooij 🇳🇱 NED14th of 148 aged 40-49 40-49 1:02:41 12:35 31:42 23:50 7:09 3:53 1:34 2:46 3:13 4:07 1:27 3:12 3:38
81 Adrien Isaïa, Guillaume Olenisac 🇫🇷 FRA34th of 440 aged 30-39 30-39 1:02:44 12:38 33:59 20:56 7:49 3:38 1:09 2:10 2:29 4:00 1:13 2:34 3:43
82 Brice Boland, Brahim Lahmiri 🇧🇪 BEL35th of 440 aged 30-39 30-39 1:02:48 12:42 32:11 22:45 7:52 3:50 1:26 2:13 2:45 4:16 1:12 3:01 4:02
83 Mario Sittler, Victorien Brebant 🇫🇷 FRA36th of 440 aged 30-39 30-39 1:02:48 12:42 31:59 24:00 6:49 3:57 1:18 2:48 2:45 4:03 1:24 3:29 4:16
84 Lucas lefevre, Pieter-Jan Lefevre 🇧🇪 BEL37th of 440 aged 30-39 30-39 1:02:49 12:43 33:05 22:23 7:21 3:41 1:10 2:08 2:53 4:03 1:29 3:13 3:46
85 Inigo Pardo, Adam Shrives 🇪🇸 ESP38th of 440 aged 30-39 30-39 1:02:49 12:43 32:01 23:15 7:33 3:56 1:13 3:24 2:50 4:03 1:17 3:00 3:32
86 Sam Cooper, Tom Ashen 🇬🇧 GBR33rd of 279 aged U29 U29 1:02:50 12:44 32:15 23:31 7:04 3:56 1:28 3:31 2:35 4:11 1:19 2:41 3:50
87 Maxime Le Jeune, Lenny Rylant 🇧🇪 BEL34th of 279 aged U29 U29 1:02:51 12:45 31:41 23:21 7:49 3:43 1:24 3:11 3:06 4:14 1:34 2:32 3:37
88 Thijmen Hendrikx, Dion Janse 🇳🇱 NED39th of 440 aged 30-39 30-39 1:02:53 12:47 33:32 22:17 7:04 3:37 1:11 2:39 2:52 4:06 1:26 2:59 3:27
89 Cameron Smith, Scott Matthews SCO35th of 279 aged U29 U29 1:02:53 12:47 33:18 22:50 6:45 3:42 1:25 2:40 3:02 4:07 1:31 2:56 3:27
90 René-Paul de Jong, Jan-Willem Tijl 🇳🇱 NED40th of 440 aged 30-39 30-39 1:02:53 12:47 32:17 23:10 7:26 3:52 1:25 2:36 3:10 4:18 1:27 2:42 3:40
91 Bruce Kwinten, twan jansen 🇳🇱 NED36th of 279 aged U29 U29 1:02:53 12:47 31:09 24:57 6:47 4:05 1:29 3:20 2:54 4:32 1:43 2:43 4:11
92 Vincent Marois, Travis Huva 🇫🇷 FRA41st of 440 aged 30-39 30-39 1:03:01 12:55 33:01 23:17 6:43 3:55 1:33 2:37 2:40 4:15 1:28 2:58 3:51
93 Jason Monteiro, Kevin Feltus 🇱🇺 LUX42nd of 440 aged 30-39 30-39 1:03:06 13:00 34:03 21:40 7:23 3:39 1:21 2:46 2:23 4:02 1:18 2:41 3:30
94 Josh Westfield, Tom Jordan 🇬🇧 GBR43rd of 440 aged 30-39 30-39 1:03:09 13:03 32:10 24:13 6:46 3:48 1:35 4:16 2:44 4:13 1:31 2:39 3:27
95 Frank de Vocht, Haiko de Vocht 🇳🇱 NED15th of 148 aged 40-49 40-49 1:03:09 13:03 31:44 24:16 7:09 4:01 1:27 3:11 2:59 4:24 1:37 3:05 3:32
96 Tom Deblonde, Robin Vanbouchout 🇧🇪 BEL44th of 440 aged 30-39 30-39 1:03:10 13:04 32:33 23:20 7:17 3:47 1:30 2:52 3:06 4:08 1:27 2:58 3:32
97 Len Verstegen, Menno Thewessen 🇳🇱 NED37th of 279 aged U29 U29 1:03:10 13:04 31:44 24:30 6:56 3:57 1:26 3:56 3:11 4:17 1:21 2:57 3:25
98 Aurelien Houdart, Julien Losse 🇫🇷 FRA45th of 440 aged 30-39 30-39 1:03:14 13:08 31:53 23:32 7:49 3:53 1:55 3:24 2:18 4:20 1:20 2:54 3:28
99 Laurence Van 't Klooster, Frank van Driel 🇳🇱 NED46th of 440 aged 30-39 30-39 1:03:16 13:10 32:46 23:11 7:19 3:52 1:27 2:53 3:01 4:25 1:30 2:50 3:13
100 Allan Syme, Bryan Griffin 🇬🇧 GBR16th of 148 aged 40-49 40-49 1:03:21 13:15 31:38 24:51 6:52 3:51 1:51 3:01 3:31 4:12 1:29 3:16 3:40
How to read

The place is among timed teams in Doubles Men; the line under the name is the place in the age group. Behind 1st is the gap to the winning time. Tap a time for that race's full report, or a name for every race of that athlete.

The RoxHype app

Found your result? Beat it at your next race.

The RoxHype app is your training plan to race day: built from your splits, your kit and your race date, and adjusted every week.

  • A week-by-week plan that counts down to your race
  • Extra work on your slowest stations
  • Adjusts every week to what you actually did

Free to download. Used by more than 40,000 HYROX athletes.

RoxHype app home: days to your HYROX, your expected finish range and this week's sessions RoxHype workout player guiding a sled push, with the next exercise lined up
Find my result