HYROX Warsaw 2025: Doubles Men results

523 teams on 12 Apr 2025. Typical finish 1:12:29, fastest 10% under 1:01:06. Back to the analysis.

# Athlete Age Time Behind 1st Runs Stations Rox Ski Push Pull BBJ Row Carry Lunge WB
1 Nik Kojc, Domen Dornik 🇸🇮 SLO1st of 216 aged 30-39 30-39 51:05 28:08 20:01 3:02 3:27 1:25 2:07 2:23 3:45 1:13 2:06 3:35
2 Sebastian Najmowicz, Paweł Najmowicz 🇵🇱 POL2nd of 216 aged 30-39 30-39 51:56 0:51 28:09 20:42 3:08 3:40 1:23 2:20 2:26 3:59 1:16 2:21 3:17
3 Nik Kojc, Miha Ramšak 🇸🇮 SLO1st of 164 aged U29 U29 52:44 1:39 30:12 19:18 3:19 3:28 1:19 2:02 1:52 3:45 1:19 2:09 3:24
4 Boris Gurtner, Yacine Bennafla 🇨🇭 SUI2nd of 164 aged U29 U29 53:55 2:50 29:45 20:45 3:30 3:36 1:32 1:58 2:27 4:00 1:07 2:20 3:45
5 Frederik Werner Jensen, Daniel Gault Pinion Stoksbjerg 🇩🇰 DEN3rd of 164 aged U29 U29 53:57 2:52 30:36 20:05 3:20 3:28 1:25 2:17 2:07 3:49 1:17 2:22 3:20
6 Gasper Valant, Joze Kojc 🇸🇮 SLO1st of 17 aged 50-59 50-59 54:40 3:35 31:01 20:32 3:12 3:35 1:26 2:23 2:18 3:54 1:18 2:19 3:19
7 Danny Michael Batista Loureiro, Matteo Solari 🇨🇭 SUI3rd of 216 aged 30-39 30-39 54:43 3:38 30:05 21:15 3:27 3:51 1:28 2:27 2:03 4:06 1:09 2:15 3:56
8 Joe Baxter, Seb Waudby 🇬🇧 GBR4th of 216 aged 30-39 30-39 55:27 4:22 30:38 21:38 3:15 3:42 1:25 2:53 1:54 3:58 1:21 2:17 4:08
9 Jonas Krogh, Emil Albrechtsen 🇩🇰 DEN5th of 216 aged 30-39 30-39 55:30 4:25 31:42 20:36 3:16 3:27 1:34 2:07 2:40 3:45 1:23 2:20 3:20
10 Ryan Gackowski, Robert Hobbs 🇬🇧 GBR6th of 216 aged 30-39 30-39 55:40 4:35 31:45 20:32 3:27 3:43 1:25 2:16 2:17 3:57 1:11 2:26 3:17
11 Dalton Wingfield, Stephen Camilleri 🇲🇹 MLT7th of 216 aged 30-39 30-39 55:50 4:45 32:10 20:27 3:18 3:37 1:20 2:16 1:52 4:04 1:20 2:32 3:26
12 William Higham, Chris Clinch 🇬🇧 GBR4th of 164 aged U29 U29 55:57 4:52 31:32 21:10 3:20 3:44 1:29 2:17 2:16 4:05 1:13 2:13 3:53
13 Callan O Reilly, Ronan Byrne 🇮🇪 IRL5th of 164 aged U29 U29 55:59 4:54 31:55 20:47 3:21 3:47 1:34 2:41 2:03 3:57 1:13 2:05 3:27
14 Tom Hodgins, Joseph Wood 🇬🇧 GBR8th of 216 aged 30-39 30-39 56:07 5:02 31:19 21:32 3:20 3:44 1:27 2:47 2:19 3:59 1:10 2:24 3:42
15 Daniel Moran, Jake Wilson 🇬🇧 GBR6th of 164 aged U29 U29 56:16 5:11 30:37 22:30 3:13 3:53 1:36 2:45 2:34 4:03 1:24 2:40 3:35
16 Sam Plumb, James McDermottroe SHN9th of 216 aged 30-39 30-39 56:36 5:31 31:36 21:39 3:25 3:41 1:30 2:31 2:15 4:07 1:30 2:26 3:39
17 Harry Lea, James Shaw 🇬🇧 GBR7th of 164 aged U29 U29 56:38 5:33 31:05 21:52 3:44 3:38 1:41 2:08 2:46 4:01 1:19 2:39 3:40
18 Anthony Grimley, Aiden Glasgow 🇬🇧 GBR8th of 164 aged U29 U29 56:49 5:44 31:35 22:00 3:18 3:48 1:43 2:36 2:27 4:07 1:17 2:44 3:18
19 Ryan Lowe, Myles Jenkins 🇬🇧 GBR9th of 164 aged U29 U29 56:55 5:50 29:48 23:46 3:26 3:30 1:38 3:19 2:29 3:55 1:20 2:50 4:45
20 Diogo Freitas, Diogo Sampaio 🇵🇹 POR10th of 164 aged U29 U29 56:57 5:52 32:27 20:55 3:39 3:42 1:18 2:15 2:15 3:53 1:30 2:22 3:40
21 Sam Crittenden, Henry Yuill 🇦🇺 AUS11th of 164 aged U29 U29 56:59 5:54 33:27 19:55 3:40 3:35 1:18 2:01 2:01 3:53 1:16 2:16 3:35
22 Paolo Denti, Matteo Furlan 🇮🇹 ITA10th of 216 aged 30-39 30-39 57:26 6:21 32:18 21:42 3:30 3:39 1:31 2:34 2:38 3:48 1:35 2:30 3:27
23 Fraser Anderson, Dale Burke 🇬🇧 GBR12th of 164 aged U29 U29 57:32 6:27 32:48 21:13 3:34 3:39 1:22 2:45 2:32 3:59 1:13 2:15 3:28
24 Joao Ribeiro, Jaime Jorge 🇵🇹 POR11th of 216 aged 30-39 30-39 57:38 6:33 34:12 19:46 3:44 3:32 1:16 2:16 1:59 3:47 1:07 2:21 3:28
25 Jakub Chudzio, Paweł Fiołek 🇵🇱 POL12th of 216 aged 30-39 30-39 57:38 6:33 31:46 22:15 3:41 3:53 1:32 2:27 2:20 4:07 1:28 3:01 3:27
26 Harrison O’Brien, Joseph Richard 🇬🇧 GBR13th of 164 aged U29 U29 57:43 6:38 32:12 21:52 3:43 3:31 1:36 2:26 2:52 4:03 1:25 2:21 3:38
27 Darren Meikle, Jackson Wood 🇬🇧 GBR13th of 216 aged 30-39 30-39 57:43 6:38 32:11 22:08 3:29 3:41 1:30 2:27 2:33 4:04 1:21 2:40 3:52
28 Charlie Burns, Dennis McCann 🇬🇧 GBR14th of 164 aged U29 U29 57:44 6:39 32:08 22:07 3:33 3:48 1:28 2:21 2:00 4:00 1:27 3:12 3:51
29 Callum Baynes, John-Paul Stanway 🇬🇧 GBR15th of 164 aged U29 U29 57:47 6:42 33:25 21:11 3:15 3:45 1:28 2:19 2:12 3:59 1:17 2:24 3:47
30 Łukasz Frątczak, Mateusz Śróbka 🇵🇱 POL14th of 216 aged 30-39 30-39 57:49 6:44 33:34 20:32 3:48 3:43 1:26 2:12 2:16 3:50 1:13 2:26 3:26
31 Andrew Crawford, Chris Cattanach 🇬🇧 GBR1st of 125 aged 40-49 40-49 58:00 6:55 32:55 21:41 3:27 3:36 1:33 2:39 2:21 3:58 1:26 2:34 3:34
32 David McCaig, Ryan Holmes 🇬🇧 GBR15th of 216 aged 30-39 30-39 58:11 7:06 32:44 21:54 3:36 3:49 1:19 2:43 2:26 4:14 1:23 2:28 3:32
33 Kyle McLachlan, Paul O’Hare 🇬🇧 GBR16th of 164 aged U29 U29 58:12 7:07 33:49 20:57 3:30 3:49 1:20 2:26 2:13 4:05 1:23 2:07 3:34
34 Andrzej Kondraciuk, Paweł Kondraciuk 🇵🇱 POL17th of 164 aged U29 U29 58:12 7:07 32:17 22:25 3:33 3:42 1:39 3:13 2:22 4:04 1:34 2:28 3:23
35 Henry Yuill, Ikani Vaitohi 🇦🇺 AUS18th of 164 aged U29 U29 58:15 7:10 32:48 22:01 3:30 3:38 1:21 2:45 2:14 3:59 1:28 2:48 3:48
36 Gianluca Massimo, Chris Jones 🇮🇹 ITA16th of 216 aged 30-39 30-39 58:30 7:25 32:39 22:13 3:41 3:47 1:34 2:44 2:27 4:07 1:26 2:42 3:26
37 Sam Sharman, Kyle James 🇬🇧 GBR17th of 216 aged 30-39 30-39 58:47 7:42 34:40 20:35 3:36 3:38 1:11 2:09 2:24 4:03 1:21 2:22 3:27
38 Tomasz Tolak, Michał Tolak 🇵🇱 POL2nd of 125 aged 40-49 40-49 59:06 8:01 34:51 20:38 3:40 3:45 1:18 2:18 2:19 3:51 1:12 2:23 3:32
39 Frankie Thorogood, Kris Linton 🇬🇧 GBR18th of 216 aged 30-39 30-39 59:13 8:08 32:55 22:52 3:30 3:51 1:23 2:34 3:11 4:18 1:14 2:27 3:54
40 Harvey Dugdale, Joe Hawes 🇬🇧 GBR19th of 164 aged U29 U29 59:38 8:33 33:22 22:34 3:47 3:43 1:26 2:58 2:47 4:02 1:21 2:31 3:46
41 Bazyli Majewski, Melchior Majewski 🇵🇱 POL20th of 164 aged U29 U29 59:44 8:39 34:22 21:38 3:50 3:43 1:18 3:03 2:13 4:05 1:20 2:12 3:44
42 Damian Żelazowski, Emil Przystupa 🇵🇱 POL19th of 216 aged 30-39 30-39 59:47 8:42 34:47 20:41 4:24 3:34 1:30 2:27 2:07 4:00 1:25 2:19 3:19
43 James Farrell, Michael McRoberts 🇬🇧 GBR20th of 216 aged 30-39 30-39 59:47 8:42 33:21 22:59 3:32 3:47 1:27 2:45 2:42 4:09 1:38 2:57 3:34
44 Filip Barteczko, Szymon Mączko 🇵🇱 POL21st of 164 aged U29 U29 59:48 8:43 33:32 22:18 4:04 3:44 1:28 2:37 2:54 4:16 1:26 2:31 3:22
45 Jack Randell, Jake Franks 🇬🇧 GBR22nd of 164 aged U29 U29 1:00:10 9:05 35:39 20:52 3:44 3:39 1:21 2:04 2:21 4:06 1:19 2:20 3:42
46 Róbert Ollári, Donát Dienes 🇭🇺 HUN23rd of 164 aged U29 U29 1:00:10 9:05 34:59 21:25 3:50 3:34 1:11 2:27 2:49 4:02 1:22 2:35 3:25
47 Adam Maciejewski, Krystian Spławski 🇵🇱 POL21st of 216 aged 30-39 30-39 1:00:15 9:10 34:44 21:52 3:43 3:38 1:27 2:16 2:17 4:08 1:26 2:55 3:45
48 Paul O'Connor, Keith Hughes 🇮🇪 IRL3rd of 125 aged 40-49 40-49 1:00:21 9:16 34:00 22:39 3:47 3:52 1:24 2:28 2:33 4:22 1:26 2:56 3:38
49 Connor Grant, Zac Treweek 🇬🇧 GBR24th of 164 aged U29 U29 1:00:30 9:25 34:21 22:33 3:42 3:42 1:45 2:59 2:21 4:10 1:21 2:29 3:46
50 Thomas Maincent, Pierre Perriquet 🇫🇷 FRA22nd of 216 aged 30-39 30-39 1:00:38 9:33 33:52 22:24 4:27 3:57 1:34 2:40 2:19 4:22 1:20 2:39 3:33
51 Lee Doran, Ashley Edgecombe 🇬🇧 GBR4th of 125 aged 40-49 40-49 1:00:48 9:43 34:44 22:15 3:54 3:44 1:22 2:44 2:40 3:58 1:27 2:44 3:36
52 Paweł Fiołek, Piotr Chmieliński 🇵🇱 POL23rd of 216 aged 30-39 30-39 1:00:50 9:45 34:00 23:09 3:46 4:04 1:44 2:53 2:35 4:24 1:27 2:38 3:24
53 Joshua Gill, Oliver England 🇬🇧 GBR25th of 164 aged U29 U29 1:01:03 9:58 34:09 22:56 4:02 3:55 1:42 2:14 2:49 4:07 1:19 2:52 3:58
54 Jurgen Gauci, Mark Camilleri 🇲🇹 MLT24th of 216 aged 30-39 30-39 1:01:20 10:15 35:01 22:51 3:34 4:00 1:26 2:48 2:24 4:12 1:20 2:49 3:52
55 Aidan Murphy, Dermot Bellew 🇮🇪 IRL25th of 216 aged 30-39 30-39 1:01:25 10:20 35:46 22:00 3:44 3:29 1:12 2:27 2:55 3:55 1:27 2:31 4:04
56 Michael Evans, Andrew Wisener 🇬🇧 GBR26th of 164 aged U29 U29 1:01:27 10:22 34:51 22:41 4:00 3:51 1:32 2:47 2:30 4:04 1:25 2:48 3:44
57 David Irving, Craig McMahon 🇬🇧 GBR26th of 216 aged 30-39 30-39 1:01:36 10:31 33:44 24:19 3:38 4:01 1:32 3:09 2:20 4:39 1:26 3:14 3:58
58 Damian Jedzina, Sebastian Stach 🇵🇱 POL27th of 164 aged U29 U29 1:01:41 10:36 37:36 20:00 4:08 3:41 1:14 1:52 2:23 3:48 1:20 2:13 3:29
59 Gavin Kenny, Declan McCabe 🇮🇪 IRL5th of 125 aged 40-49 40-49 1:01:54 10:49 32:16 26:12 3:32 4:08 1:58 3:28 2:54 4:37 1:37 3:27 4:03
60 Artūras Jasinskis, Vaidotas Baumila 🇱🇹 LTU27th of 216 aged 30-39 30-39 1:02:03 10:58 35:34 22:33 4:02 3:43 1:28 2:57 2:34 4:09 1:24 2:35 3:43
61 Mariusz Chaba, Kacper Rybak 🇵🇱 POL28th of 164 aged U29 U29 1:02:09 11:04 36:10 21:47 4:16 3:46 1:24 2:22 2:42 4:08 1:17 2:13 3:55
62 Matisse Ayoul, Julian Cirou 🇫🇷 FRA29th of 164 aged U29 U29 1:02:09 11:04 35:34 22:51 3:49 3:44 1:30 2:34 3:00 4:06 1:28 2:53 3:36
63 Daniel Zawiślański, Maciej Sukiennik 🇵🇱 POL28th of 216 aged 30-39 30-39 1:02:13 11:08 36:09 22:09 4:00 4:11 1:27 2:38 2:10 4:19 1:26 2:41 3:17
64 Stephen Tweddle, James Hughes 🇬🇧 GBR6th of 125 aged 40-49 40-49 1:02:15 11:10 36:08 22:11 4:03 3:48 1:33 2:16 2:59 4:17 1:26 2:31 3:21
65 Jacques Hladkyj, Joe Symonds 🇬🇧 GBR30th of 164 aged U29 U29 1:02:16 11:11 34:57 23:40 3:44 3:28 1:34 2:08 2:39 3:49 3:42 2:00 4:20
66 Danny Nedza, Inness Chatham 🇦🇺 AUS29th of 216 aged 30-39 30-39 1:02:18 11:13 37:47 20:34 4:02 3:27 1:13 2:28 2:13 3:40 1:16 2:20 3:57
67 Cathal Moran, Ian Fox 🇮🇪 IRL31st of 164 aged U29 U29 1:02:29 11:24 36:06 22:19 4:10 3:48 1:30 2:15 2:25 4:05 1:31 2:31 4:14
68 Stas Popijal, Amadej Cungl 🇸🇮 SLO32nd of 164 aged U29 U29 1:02:46 11:41 34:31 23:32 4:48 3:42 1:53 3:06 2:32 4:01 1:24 2:45 4:09
69 Simonas Jončiulis, Audrius Dailydė 🇱🇹 LTU30th of 216 aged 30-39 30-39 1:02:50 11:45 34:25 24:15 4:14 3:59 1:50 3:05 3:16 4:03 1:27 2:51 3:44
70 Patrick Moloney, Ian Maher 🇮🇪 IRL31st of 216 aged 30-39 30-39 1:02:50 11:45 34:47 24:21 3:46 3:53 1:45 3:00 3:15 4:12 1:37 2:58 3:41
71 Lukas Pangonis, Laimonas Jurevičius 🇱🇹 LTU33rd of 164 aged U29 U29 1:02:57 11:52 34:29 24:01 4:32 3:57 1:36 3:02 2:47 4:21 1:36 2:56 3:46
72 Jarosław Gwarny, Adrian Wozniak 🇵🇱 POL7th of 125 aged 40-49 40-49 1:03:04 11:59 37:00 21:53 4:18 3:50 — — 2:48 4:23 1:16 3:08 4:20
73 Petr Prokes, Bronislav Andres 🇨🇿 CZE2nd of 17 aged 50-59 50-59 1:03:10 12:05 35:24 24:01 3:50 4:08 1:39 2:53 2:36 4:20 1:35 2:56 3:54
74 Bernhard Pfeiffer, Thomas Wannasek 🇦🇹 AUT32nd of 216 aged 30-39 30-39 1:03:17 12:12 36:12 23:02 4:08 3:53 1:29 2:32 2:27 4:01 1:18 3:31 3:51
75 Krzysztof Olszewski, Bartłomiej Maksimowicz 🇵🇱 POL34th of 164 aged U29 U29 1:03:22 12:17 34:50 24:04 4:32 3:49 1:39 2:53 2:53 4:22 1:22 3:03 4:03
76 Aleksander Łokas, Przemysław Olczak 🇵🇱 POL35th of 164 aged U29 U29 1:03:23 12:18 38:18 20:43 4:27 3:47 1:12 2:22 2:22 4:06 1:16 2:19 3:19
77 Ole Haug, Anton Lorenz Bondesen 🇳🇴 NOR8th of 125 aged 40-49 40-49 1:03:27 12:22 36:11 23:29 3:50 3:45 1:49 2:56 2:49 4:06 1:24 2:52 3:48
78 Joshua Bowyer, Joseph Abrahams 🇬🇧 GBR36th of 164 aged U29 U29 1:03:31 12:26 35:34 24:02 3:59 4:07 1:35 2:28 2:28 4:14 1:41 2:57 4:32
79 Raphael Leblanc, Thibault Mazarguil 🇫🇷 FRA33rd of 216 aged 30-39 30-39 1:03:32 12:27 35:40 23:25 4:31 3:45 1:46 2:52 2:49 4:14 1:37 2:45 3:37
80 Filippo Prussiani, Christian Caputo 🇮🇹 ITA34th of 216 aged 30-39 30-39 1:03:33 12:28 35:49 23:44 4:05 3:49 1:30 3:03 2:26 4:33 1:41 3:14 3:28
81 Billy Llewellen Palmer, Dylan Jameson 🇬🇧 GBR37th of 164 aged U29 U29 1:03:34 12:29 36:45 23:02 3:51 3:48 1:26 2:59 3:05 4:07 1:10 2:31 3:56
82 Greg McDermott, Richard Scicluna 🇬🇧 GBR9th of 125 aged 40-49 40-49 1:03:36 12:31 34:37 24:46 4:18 4:10 1:37 2:53 3:07 4:30 1:35 3:11 3:43
83 Karol Wołkowski, Adrian Kuczkowiak 🇵🇱 POL35th of 216 aged 30-39 30-39 1:03:39 12:34 37:37 21:37 4:29 3:37 1:26 2:23 2:38 4:06 1:27 2:39 3:21
84 Roima David Calcurian, Francisco Luis Alonso Villanueva 🇪🇸 ESP38th of 164 aged U29 U29 1:03:41 12:36 35:58 23:35 4:11 3:59 1:35 2:26 2:41 4:09 1:26 2:58 4:21
85 Mateusz Łopata, Adam Gwóźdź 🇵🇱 POL39th of 164 aged U29 U29 1:03:46 12:41 37:41 22:02 4:09 3:53 1:27 2:16 2:56 4:12 1:30 2:23 3:25
86 Dara Cahill, Ryan Benedetti 🇬🇧 GBR36th of 216 aged 30-39 30-39 1:03:50 12:45 34:10 25:27 4:17 3:41 2:01 2:59 3:48 4:26 1:29 3:03 4:00
87 Amhar Nayab, Jacob Ashford 🇬🇧 GBR40th of 164 aged U29 U29 1:03:52 12:47 36:18 23:34 4:04 4:16 1:27 2:57 2:37 4:32 1:24 2:50 3:31
88 Marko Pereša, Davor Kasumović 🇭🇷 CRO37th of 216 aged 30-39 30-39 1:03:53 12:48 38:11 21:23 4:24 3:40 1:24 2:36 2:14 4:07 1:21 2:27 3:34
89 Lauri Halonen, Tuomas Halonen 🇫🇮 FIN41st of 164 aged U29 U29 1:03:56 12:51 36:49 22:48 4:23 3:46 1:35 2:51 3:06 4:05 1:30 2:25 3:30
90 Tomas Keane, Seán O’Riordain 🇮🇪 IRL42nd of 164 aged U29 U29 1:03:56 12:51 33:49 25:47 4:25 4:03 1:38 3:11 3:00 4:37 1:48 3:09 4:21
91 Thomas Risberg, Johan Lilienberg 🇸🇪 SWE3rd of 17 aged 50-59 50-59 1:03:57 12:52 37:22 22:04 4:36 3:53 1:20 2:47 2:18 4:02 1:20 2:35 3:49
92 Piotr Chmieliński, Grzegorz Woźny 🇵🇱 POL38th of 216 aged 30-39 30-39 1:03:57 12:52 35:02 24:48 4:11 4:05 1:47 3:32 2:30 4:33 1:40 3:19 3:22
93 Dean McMahon, Deividas Savicius 🇮🇪 IRL39th of 216 aged 30-39 30-39 1:04:07 13:02 36:08 24:06 3:57 3:47 1:52 2:52 2:47 4:15 1:39 3:10 3:44
94 Michał Terlecki, Adrian Jędrasiak 🇵🇱 POL10th of 125 aged 40-49 40-49 1:04:11 13:06 35:16 24:22 4:37 3:52 1:36 3:01 2:45 4:20 1:30 3:28 3:50
95 Chris McGrath, James Lavery 🇮🇪 IRL40th of 216 aged 30-39 30-39 1:04:13 13:08 35:17 25:03 3:58 3:48 1:48 3:14 3:32 4:12 1:44 3:04 3:41
96 Oscar Hasan, Sam Shepard 🇬🇧 GBR43rd of 164 aged U29 U29 1:04:16 13:11 36:11 24:13 3:56 3:57 1:30 2:41 2:57 4:17 1:33 2:57 4:21
97 Maciej Wierzbowski, Adam Dadok 🇵🇱 POL41st of 216 aged 30-39 30-39 1:04:17 13:12 38:22 21:29 4:32 3:38 1:35 2:37 2:22 4:04 1:17 2:36 3:20
98 João Sampaio, Hugo Pinto 🇵🇹 POR42nd of 216 aged 30-39 30-39 1:04:18 13:13 39:58 20:23 4:01 4:05 1:33 2:18 1:55 3:56 1:19 2:27 2:50
99 Andreas Nybro, Elias Fruelund Rendtorff 🇩🇰 DEN44th of 164 aged U29 U29 1:04:26 13:21 37:10 22:58 4:21 3:57 1:19 3:00 2:27 3:55 1:29 2:47 4:04
100 Daniel Crisci, Giuseppe Scalisi 🇬🇧 GBR43rd of 216 aged 30-39 30-39 1:04:28 13:23 38:05 22:29 3:59 3:50 1:24 2:23 2:46 4:09 1:23 2:56 3:38
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