HYROX Frankfurt 2024: Doubles Men results

700 teams on 14 Dec 2024. Typical finish 1:15:56, fastest 10% under 1:03:56. Back to the analysis.

# Athlete Age Time Behind 1st Runs Stations Rox Ski Push Pull BBJ Row Carry Lunge WB
1 Fritz Grobien, Nicholas Bauer 🇮🇪 IRL1st of 344 aged 30-39 30-39 55:00 30:34 20:17 4:14 3:42 1:25 2:28 1:56 4:03 1:15 2:07 3:21
2 Jack Waugh, Kristofer McSherry 🇬🇧 GBR1st of 222 aged U29 U29 56:21 1:21 31:20 21:10 3:55 3:42 1:29 2:40 2:04 3:57 1:29 2:25 3:24
3 Stephen Bates, Declan Edwards 🇮🇪 IRL2nd of 344 aged 30-39 30-39 56:32 1:32 30:43 21:48 4:04 3:54 1:41 2:20 2:09 4:04 1:36 2:47 3:17
4 Stefan Höcht, Jordi Walder 🇩🇪 GER2nd of 222 aged U29 U29 56:48 1:48 31:21 21:21 4:10 3:48 1:16 2:47 2:32 4:03 1:16 2:06 3:33
5 Tobias Beibl, Dominik Fechner 🇩🇪 GER3rd of 344 aged 30-39 30-39 56:51 1:51 28:59 23:27 4:30 3:51 1:30 4:09 2:22 4:06 1:15 2:24 3:50
6 Sascha Ahrens, Torsten Reuter 🇩🇪 GER1st of 107 aged 40-49 40-49 57:01 2:01 30:57 21:49 4:18 3:51 1:44 2:50 2:13 4:04 1:15 2:21 3:31
7 Jack Mullane, Robert Reynolds 🇮🇪 IRL3rd of 222 aged U29 U29 57:45 2:45 31:58 21:24 4:28 3:55 1:25 2:39 2:01 4:00 1:31 2:14 3:39
8 Anthony Morison, Michael Girvan 🇬🇧 GBR4th of 344 aged 30-39 30-39 57:56 2:56 32:42 20:59 4:20 3:41 1:32 2:50 2:05 4:05 1:15 2:06 3:25
9 Mattia Piaia, Gabriele Branca 🇮🇹 ITA4th of 222 aged U29 U29 58:00 3:00 32:19 21:12 4:33 3:50 1:19 2:47 2:06 4:04 1:23 2:23 3:20
10 Philipp Reffgen, Carsten Kuhle 🇩🇪 GER5th of 344 aged 30-39 30-39 58:10 3:10 31:37 22:22 4:16 3:54 1:30 2:57 2:33 4:08 1:31 2:21 3:28
11 Yannick Wagner, Joshua Eggermann 🇩🇪 GER6th of 344 aged 30-39 30-39 58:27 3:27 33:23 21:01 4:07 3:50 1:28 2:11 2:37 3:57 1:08 2:03 3:47
12 Philipp Krautenbacher, Georg Wolff 🇩🇪 GER7th of 344 aged 30-39 30-39 58:31 3:31 33:08 21:09 4:18 3:46 1:30 2:12 2:29 3:54 1:19 2:29 3:30
13 Finn Van Gelder, Niels Omes 🇳🇱 NED5th of 222 aged U29 U29 58:37 3:37 33:49 20:28 4:25 3:52 1:25 2:16 1:50 4:01 1:12 2:23 3:29
14 Pit Eichner, Kenny Raab 🇩🇪 GER8th of 344 aged 30-39 30-39 58:48 3:48 32:32 21:45 4:35 3:37 1:27 2:14 2:31 3:44 1:21 2:39 4:12
15 Sebastien Suchet, Valentin Suchet 🇨🇭 SUI9th of 344 aged 30-39 30-39 58:55 3:55 32:59 21:54 4:06 3:52 1:32 2:34 2:08 4:02 1:16 2:59 3:31
16 Danny Messing, Marco Horst 🇩🇪 GER10th of 344 aged 30-39 30-39 59:23 4:23 32:43 22:13 4:32 4:03 1:39 2:38 2:19 4:15 1:34 2:21 3:24
17 Paul Kranefuss, Simon Bischler 🇩🇪 GER11th of 344 aged 30-39 30-39 59:31 4:31 32:14 22:44 4:36 4:12 1:40 2:36 2:15 4:21 1:27 2:26 3:47
18 Adrian Szabo, Josip Jelic 🇸🇰 SVK12th of 344 aged 30-39 30-39 59:33 4:33 32:21 22:55 4:22 3:59 1:26 2:55 3:02 4:03 1:15 2:47 3:28
19 Julius Ise, Thomas Maschitzke 🇩🇪 GER13th of 344 aged 30-39 30-39 59:53 4:53 34:38 20:45 4:34 3:52 1:21 2:38 1:56 4:04 1:21 2:21 3:12
20 Angelo Wagner, AliReza Rahimi 🇩🇪 GER6th of 222 aged U29 U29 59:53 4:53 33:45 22:04 4:09 3:57 1:38 2:36 2:07 4:18 1:21 2:42 3:25
21 Gil Nicola, Max Feteler 🇱🇺 LUX14th of 344 aged 30-39 30-39 59:54 4:54 33:44 21:43 4:32 3:56 1:37 2:29 1:54 4:06 1:39 2:42 3:20
22 Jonas Noll, Oliver Hoena 🇩🇪 GER7th of 222 aged U29 U29 1:00:01 5:01 34:29 21:17 4:18 4:05 1:23 2:35 2:09 4:03 1:15 2:22 3:25
23 Sebastian Louca, Andreas Stryz 🇩🇪 GER2nd of 107 aged 40-49 40-49 1:00:03 5:03 33:58 21:47 4:23 3:49 1:32 2:41 2:13 4:11 1:23 2:36 3:22
24 Nils Inhetveen, Jan-Niklas Friedrich 🇩🇪 GER8th of 222 aged U29 U29 1:00:12 5:12 33:41 21:17 5:19 3:51 1:35 2:43 2:02 3:58 1:08 2:14 3:46
25 Kashif Kasanwirdjo, Jermain Breidel 🇳🇱 NED3rd of 107 aged 40-49 40-49 1:00:17 5:17 31:53 24:07 4:20 3:43 1:37 2:54 2:45 4:17 1:33 3:12 4:06
26 James Greenwood, Harry Netherwood 🇬🇧 GBR9th of 222 aged U29 U29 1:00:18 5:18 33:43 22:21 4:19 3:48 1:37 2:58 2:11 4:05 1:17 2:17 4:08
27 Jörg Limbach, Felix Limbach 🇩🇪 GER15th of 344 aged 30-39 30-39 1:00:31 5:31 33:36 22:35 4:25 3:51 1:20 2:33 2:23 3:55 1:14 3:26 3:53
28 Andras Sarkadi, Henrik Pahlitzsch 🇭🇺 HUN16th of 344 aged 30-39 30-39 1:00:39 5:39 34:10 22:08 4:26 3:56 1:39 2:50 1:58 4:11 1:18 2:49 3:27
29 Niels Mulder, Martijn Martijn Schohaus 🇳🇱 NED4th of 107 aged 40-49 40-49 1:00:47 5:47 32:57 23:08 4:46 3:49 1:43 2:40 2:49 4:07 1:17 2:53 3:50
30 Jan Lukas Drever, Chris Zwarg 🇩🇪 GER10th of 222 aged U29 U29 1:00:48 5:48 32:48 23:50 4:14 4:01 1:15 2:39 2:39 4:03 1:31 3:19 4:23
31 Lukas Dreger, Christoph Burgmer 🇩🇪 GER5th of 107 aged 40-49 40-49 1:01:00 6:00 34:19 22:23 4:24 3:58 1:27 2:36 2:06 4:14 1:24 2:57 3:41
32 Thomas Achleitner, Stefan Gatterbauer 🇦🇹 AUT17th of 344 aged 30-39 30-39 1:01:01 6:01 33:01 23:17 4:46 3:47 1:29 2:55 2:29 4:19 1:15 2:38 4:25
33 David Tielie, Laurent Smoch 🇫🇷 FRA1st of 24 aged 50-59 50-59 1:01:04 6:04 33:06 23:09 4:53 4:08 1:35 2:42 2:36 4:10 1:25 2:44 3:49
34 Phillipp Leuchtmann, Mike Reiß 🇩🇪 GER6th of 107 aged 40-49 40-49 1:01:12 6:12 34:41 21:36 4:59 3:56 1:17 2:46 2:26 3:57 1:16 2:29 3:29
35 Maximilian Samstag, Tobias Sattel 🇩🇪 GER18th of 344 aged 30-39 30-39 1:01:25 6:25 35:27 21:24 4:38 3:42 1:18 2:38 2:32 3:42 1:11 2:42 3:39
36 Mujib Pashtoon, David Wollschläger 🇩🇪 GER19th of 344 aged 30-39 30-39 1:01:26 6:26 35:36 21:15 4:39 3:41 1:19 2:32 2:00 4:13 1:26 2:28 3:36
37 Maximilian Löw, Miquel Trindade 🇩🇪 GER11th of 222 aged U29 U29 1:01:33 6:33 37:23 20:01 4:12 3:39 1:12 2:06 2:09 3:51 1:15 2:24 3:25
38 Marvin Moser, Alexander Groschopp 🇩🇪 GER12th of 222 aged U29 U29 1:01:44 6:44 35:13 22:02 4:35 3:53 1:32 2:13 2:31 4:18 1:15 2:35 3:45
39 Minh Nguyen, Alain Eicher 🇩🇪 GER20th of 344 aged 30-39 30-39 1:01:46 6:46 35:50 21:14 4:46 3:50 1:20 2:38 2:01 4:02 1:18 2:30 3:35
40 Daniel Hübner, Fabian Laube 🇩🇪 GER21st of 344 aged 30-39 30-39 1:01:47 6:47 33:31 23:27 4:53 3:50 1:28 2:24 2:53 4:04 1:36 3:17 3:55
41 Janek Walter, Felix Dietrich 🇩🇪 GER13th of 222 aged U29 U29 1:01:50 6:50 35:23 21:20 5:11 3:48 1:08 1:58 2:19 4:28 1:17 2:38 3:44
42 Björn Ehresmann, Florian Kowalczyk 🇩🇪 GER22nd of 344 aged 30-39 30-39 1:01:54 6:54 34:02 23:29 4:29 4:11 1:33 3:00 2:28 4:20 1:20 2:58 3:39
43 Max Smith, Andrew Langtree 🇬🇧 GBR14th of 222 aged U29 U29 1:02:11 7:11 33:33 24:41 4:02 4:01 1:36 3:18 2:29 4:27 1:35 3:19 3:56
44 Lukas Müller, Anthony Williams 🇩🇪 GER15th of 222 aged U29 U29 1:02:14 7:14 37:00 20:14 5:05 3:47 1:16 2:17 2:05 4:02 1:16 2:11 3:20
45 Kayhan Kaya, Konstantin Juenger 🇩🇪 GER23rd of 344 aged 30-39 30-39 1:02:16 7:16 35:38 21:59 4:44 3:50 1:33 2:55 2:11 4:09 1:16 2:33 3:32
46 Theodericus Petrus Orij, Kevin Soetendal 🇳🇱 NED24th of 344 aged 30-39 30-39 1:02:31 7:31 35:52 21:52 4:53 3:48 1:30 2:05 2:51 3:59 1:26 2:45 3:28
47 Willy Santer, Tom Santer 🇫🇷 FRA16th of 222 aged U29 U29 1:02:31 7:31 34:15 23:13 5:09 4:01 1:45 3:10 2:06 4:18 1:29 2:47 3:37
48 Kevin Milius, Tim Weber 🇩🇪 GER25th of 344 aged 30-39 30-39 1:02:34 7:34 36:01 21:34 5:03 3:46 1:16 2:34 2:15 4:06 1:20 2:39 3:38
49 Moritz Meyer, Aaron Baldauf 🇩🇪 GER17th of 222 aged U29 U29 1:02:46 7:46 36:48 21:00 5:04 3:52 1:30 2:19 2:08 3:50 1:20 2:26 3:35
50 Matthias Schäfers, Christoph Zirnsak 🇩🇪 GER26th of 344 aged 30-39 30-39 1:02:50 7:50 34:33 23:39 4:42 3:56 1:28 3:04 2:53 4:04 1:21 3:06 3:47
51 James Lawrence, Paul Johnson 🇬🇧 GBR27th of 344 aged 30-39 30-39 1:02:50 7:50 33:07 24:56 4:51 3:52 1:43 3:11 3:06 4:20 1:36 3:24 3:44
52 Felix Schmidt, Maximilian Jockers 🇩🇪 GER28th of 344 aged 30-39 30-39 1:02:56 7:56 34:27 23:37 4:57 4:03 1:35 3:20 2:30 4:09 1:25 2:46 3:49
53 Tim Schmid, Manyacca Menyoli 🇩🇪 GER18th of 222 aged U29 U29 1:02:57 7:57 35:20 23:00 4:42 4:06 1:40 2:59 2:23 4:11 1:22 2:33 3:46
54 Robin Rieger, Pascal Renner 🇩🇪 GER19th of 222 aged U29 U29 1:03:04 8:04 35:31 22:17 5:21 3:56 1:36 2:52 2:10 4:13 1:17 2:29 3:44
55 Adrian Schwerin, Sebastian Bode 🇩🇪 GER7th of 107 aged 40-49 40-49 1:03:04 8:04 34:33 23:42 4:54 3:53 1:35 2:46 2:54 4:10 1:24 2:58 4:02
56 Kevin Ociepka, Tobias Lindemann 🇩🇪 GER29th of 344 aged 30-39 30-39 1:03:05 8:05 35:28 22:40 5:00 3:55 1:27 3:02 2:32 4:20 1:17 2:29 3:38
57 Leon Schiller, Timur Öztuna 🇩🇪 GER30th of 344 aged 30-39 30-39 1:03:07 8:07 31:42 25:35 5:55 4:04 2:03 2:53 2:54 4:20 1:38 3:37 4:06
58 Tobias Klaus, Luis Recinos 🇩🇪 GER31st of 344 aged 30-39 30-39 1:03:10 8:10 34:18 24:04 4:53 4:13 1:40 3:14 2:22 4:31 1:24 2:58 3:42
59 Marco Müller, Sebastian Schmitt 🇩🇪 GER32nd of 344 aged 30-39 30-39 1:03:15 8:15 35:16 23:21 4:43 3:55 1:23 2:38 3:02 4:15 1:31 2:46 3:51
60 Renátó Bango, Konstantin Nurekenov 🇭🇺 HUN20th of 222 aged U29 U29 1:03:16 8:16 34:16 23:58 5:06 4:03 1:28 3:01 2:58 4:01 1:31 3:03 3:53
61 Paul Pasquier, Alexandre Valente 🇨🇭 SUI33rd of 344 aged 30-39 30-39 1:03:28 8:28 35:04 23:41 4:48 3:58 1:42 3:11 2:07 4:11 1:18 2:43 4:31
62 Patrick Martens, Lars Liebig 🇩🇪 GER34th of 344 aged 30-39 30-39 1:03:31 8:31 36:54 21:54 4:49 3:52 1:23 2:30 2:12 4:00 1:10 2:32 4:15
63 Eliot Bremans, David-Emmanuel Gelbard 🇧🇪 BEL21st of 222 aged U29 U29 1:03:34 8:34 36:11 22:20 5:08 3:51 1:30 2:54 2:13 4:11 1:12 2:41 3:48
64 Thorben Fischer, Max Klarmann 🇩🇪 GER22nd of 222 aged U29 U29 1:03:37 8:37 36:06 22:24 5:12 4:01 1:28 2:54 2:33 4:02 1:21 2:33 3:32
65 Olaf Hadler, Paul Hadler 🇩🇪 GER35th of 344 aged 30-39 30-39 1:03:38 8:38 35:36 22:58 5:09 3:58 1:25 3:08 2:18 4:07 1:26 2:59 3:37
66 Nico Lehr, Christoph Bauer 🇩🇪 GER36th of 344 aged 30-39 30-39 1:03:43 8:43 38:09 20:50 4:48 3:55 1:18 2:10 2:21 4:10 1:18 2:18 3:20
67 Omar Baritello, Tom Schiller 🇮🇹 ITA37th of 344 aged 30-39 30-39 1:03:45 8:45 35:52 22:02 5:55 3:49 1:28 2:37 2:10 4:01 1:33 2:50 3:34
68 Tim Koep, Jaunach Dandal 🇩🇪 GER38th of 344 aged 30-39 30-39 1:03:47 8:47 35:16 23:41 4:55 4:02 1:33 3:19 2:24 4:29 1:27 2:45 3:42
69 Mike Pelz, Paul Wolf 🇩🇪 GER39th of 344 aged 30-39 30-39 1:03:50 8:50 35:52 23:22 4:41 3:56 1:49 2:39 2:51 4:01 1:17 2:56 3:53
70 Andreas Eberle, Fabian Gruber 🇩🇪 GER40th of 344 aged 30-39 30-39 1:03:52 8:52 35:41 23:30 4:46 3:58 2:17 3:18 2:32 4:06 1:21 2:39 3:19
71 Timo Kern, Tayfun Simsek 🇩🇪 GER41st of 344 aged 30-39 30-39 1:03:56 8:56 34:11 24:44 5:05 3:55 1:39 3:06 3:23 4:20 1:34 3:11 3:36
72 Andreas Fußwinkel, Mustafa Soenmezoglu 🇩🇪 GER42nd of 344 aged 30-39 30-39 1:04:10 9:10 34:23 24:14 5:36 4:00 1:44 2:58 2:50 4:29 1:32 3:17 3:24
73 Bijan Maged, Chris Bode 🇩🇪 GER43rd of 344 aged 30-39 30-39 1:04:10 9:10 34:53 24:36 4:45 4:26 1:39 3:17 2:39 4:33 1:22 2:19 4:21
74 Sebastian Merten, Niklas Möckel 🇩🇪 GER44th of 344 aged 30-39 30-39 1:04:13 9:13 36:12 23:01 5:05 3:56 1:42 2:37 2:34 4:10 1:25 2:47 3:50
75 Lukas Braunewell, Maximilian Jansen 🇩🇪 GER23rd of 222 aged U29 U29 1:04:17 9:17 35:10 24:16 4:57 3:44 1:39 3:05 2:54 4:19 1:30 2:54 4:11
76 Maximilian Kleinhuber, Maximilian Felix Schlufter 🇩🇪 GER24th of 222 aged U29 U29 1:04:18 9:18 34:45 23:50 5:49 3:57 1:43 3:09 2:51 4:09 1:30 2:32 3:59
77 Jan Sehorz, Jannis Laupsien 🇩🇪 GER45th of 344 aged 30-39 30-39 1:04:25 9:25 38:37 20:51 5:01 3:53 1:18 2:19 2:15 3:47 1:12 2:28 3:39
78 Dennis Bobinski, Lukas Haimayer 🇩🇪 GER25th of 222 aged U29 U29 1:04:25 9:25 36:42 22:39 5:09 4:11 1:36 2:35 2:12 4:12 1:18 2:34 4:01
79 Frederick Karman, Leon Karman 🇩🇪 GER26th of 222 aged U29 U29 1:04:25 9:25 35:37 24:14 4:40 4:05 1:53 3:05 2:08 4:13 1:37 3:11 4:02
80 Julian Ritter, Janik Adorf 🇬🇧 GBR46th of 344 aged 30-39 30-39 1:04:26 9:26 34:52 24:36 5:02 3:58 1:39 3:22 2:30 4:24 1:30 3:22 3:51
81 Simon Thelen, Thomas Schönle 🇩🇪 GER47th of 344 aged 30-39 30-39 1:04:27 9:27 36:21 21:57 6:14 3:56 1:40 2:04 2:35 4:08 1:28 2:35 3:31
82 Peter Schäfer, Joscha Wolf 🇩🇪 GER27th of 222 aged U29 U29 1:04:28 9:28 36:32 22:59 5:04 3:59 1:36 2:40 2:18 4:22 1:16 2:42 4:06
83 Julien Caselmann, Fabian Ring 🇩🇪 GER28th of 222 aged U29 U29 1:04:29 9:29 36:43 22:30 5:21 4:02 1:25 2:14 2:48 4:12 1:36 2:29 3:44
84 Thomas Luchies, Jordi Fuhler 🇳🇱 NED29th of 222 aged U29 U29 1:04:32 9:32 36:11 23:34 4:52 3:59 1:31 2:48 2:26 4:11 1:20 3:01 4:18
85 Juul van den Heuvel, Tom Cissen 🇳🇱 NED30th of 222 aged U29 U29 1:04:34 9:34 37:03 22:40 4:55 3:56 1:30 2:35 2:16 4:16 1:32 2:59 3:36
86 Logan Ellis, Max Smith 🇬🇧 GBR31st of 222 aged U29 U29 1:04:39 9:39 37:14 22:23 5:07 3:59 1:38 2:46 2:13 4:19 1:12 2:34 3:42
87 Julian Schmitt, Johannes Pfäffle 🇩🇪 GER32nd of 222 aged U29 U29 1:04:40 9:40 37:20 21:42 5:41 4:01 1:37 1:49 2:29 4:05 1:19 2:52 3:30
88 Gary Corroon, Eamon Breslin 🇮🇪 IRL48th of 344 aged 30-39 30-39 1:04:44 9:44 36:19 23:39 4:51 3:55 1:35 2:55 2:46 4:06 1:26 3:18 3:38
89 Alessandro Seck, Tim Schneider 🇩🇪 GER33rd of 222 aged U29 U29 1:04:45 9:45 37:01 22:42 5:07 3:53 1:35 2:23 2:48 3:56 1:21 2:58 3:48
90 Wessel van Peer, Thomas de Rover 🇳🇱 NED34th of 222 aged U29 U29 1:04:52 9:52 36:25 23:48 4:43 4:19 1:40 2:40 2:47 4:33 1:43 2:39 3:27
91 Marc Pettenkofer, Sandro Esser 🇩🇪 GER49th of 344 aged 30-39 30-39 1:04:56 9:56 37:29 22:27 5:05 4:01 1:23 2:41 2:27 4:08 1:21 2:33 3:53
92 Thorsten Steffen, Ralf Wendler 🇩🇪 GER2nd of 24 aged 50-59 50-59 1:04:56 9:56 35:13 25:09 4:39 4:12 1:52 3:03 2:50 4:13 1:29 3:24 4:06
93 Frank Godulla, Christian Paal 🇩🇪 GER3rd of 24 aged 50-59 50-59 1:05:02 10:02 36:42 23:23 5:01 3:55 1:41 2:52 2:51 4:03 1:28 2:39 3:54
94 Andi Brandenberger, Marco Brandenberger 🇨🇭 SUI35th of 222 aged U29 U29 1:05:05 10:05 36:05 23:11 5:54 4:08 1:43 3:02 2:31 4:07 1:28 2:26 3:46
95 Stuart Collier, Fraser Collier 🇬🇧 GBR36th of 222 aged U29 U29 1:05:05 10:05 36:44 23:23 5:05 3:58 1:46 2:58 2:14 4:22 1:23 2:55 3:47
96 Philipp Sprunck, Jonas Elwert 🇩🇪 GER37th of 222 aged U29 U29 1:05:06 10:06 36:22 23:25 5:26 4:12 1:31 2:54 2:35 4:03 1:31 3:15 3:24
97 Jannik Peerenboom-Foydl, Tim Grates 🇩🇪 GER38th of 222 aged U29 U29 1:05:14 10:14 37:18 23:02 4:58 3:48 1:22 2:28 2:24 4:12 1:31 2:49 4:28
98 Christian Felten, Matt Krahl 🇩🇪 GER50th of 344 aged 30-39 30-39 1:05:16 10:16 35:01 25:28 4:53 4:06 1:48 3:02 2:58 3:58 1:39 3:56 4:01
99 Ronny Thurm, Michael Prolus 🇩🇪 GER8th of 107 aged 40-49 40-49 1:05:17 10:17 36:44 23:25 5:11 4:06 1:34 2:49 2:26 4:05 1:35 2:41 4:09
100 Kevin Engler, Jan Roßkothen 🇩🇪 GER39th of 222 aged U29 U29 1:05:17 10:17 35:25 24:40 5:17 3:51 1:35 2:46 3:18 4:05 1:24 3:09 4:32
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