Geoffrey Punsalan
4 HYROX results (1 solo, 3 in a team) over 2 seasons. Personal bests: Open Men 1:23:30 (Rotterdam 2026) · Doubles Men 1:09:00 (Maastricht 2026) · Pro Doubles Men 1:14:38 (Berlin 2026).
One best per race type
Doubles Men: finish time, race by race
oldest to newest · a line going down means getting fasterEach dot is one Doubles Men race. Not enough complete, clean Doubles Men races yet to measure the change. Team times are shared with a partner, so they move with who you race with.
4 results
| Race | Division | Time | Place | Runs | Stations | Roxzone | |
|---|---|---|---|---|---|---|---|
| Maastricht 2026 17 Sept 2026team: Antonio Naar, Geoffrey Punsalanwhat the whole field did → | Doubles Men · team 35-39 | 1:09:00 | top 29% 433/1,512 | 38:13 | 24:37 | 6:15 | splitsSkiErg3:55Sled push2:08Sled pull3:00Burpee broad jump2:02Row4:31Farmers carry1:47Sandbag lunges3:25Wall balls3:49Run 13:40Run 24:37Run 35:05Run 44:54Run 55:05Run 64:50Run 74:50Run 85:15Full report for this race → |
| Berlin 2026 22 May 2026team: Antonio Naar, Geoffrey Punsalanwhat the whole field did → | Pro Doubles Men · team 35-39 | 1:14:38 | 479th of 625 | 32:08* | 30:27* | — | splitsSkiErg4:01Sled push3:12Sled pull4:31Burpee broad jump2:31Row4:27Farmers carry1:49Sandbag lunges4:15Wall balls5:41Run 13:20Run 23:38Run 33:46Run 43:58Run 54:05Run 63:57Run 74:03Run 85:25Full report for this race → |
| Rotterdam 2026 19 Apr 2026what the whole field did → | Open Men · 35-39 | 1:23:30 | top 43% 1145/2,721 | 39:56 | 34:09 | 9:29 | splitsSkiErg4:53Sled push2:31Sled pull4:11Burpee broad jump4:11Row4:44Farmers carry1:53Sandbag lunges5:50Wall balls5:56Run 14:53Run 24:26Run 34:27Run 44:31Run 54:35Run 65:59Run 75:31Run 85:37Full report for this race → |
| Amsterdam 2026 21 Jan 2026team: Zaldy Valdehueza, Geoffrey Punsalanwhat the whole field did → | Doubles Men · team 35-39 | 1:46:51 | 1723rd of 1,738 | 1:10:37 | 28:27 | 7:53 | splitsSkiErg3:48Sled push1:53Sled pull5:57Burpee broad jump2:34Row4:38Farmers carry1:36Sandbag lunges4:06Wall balls3:55Run 13:59Run 27:13Run 37:39Run 47:45Run 57:50Run 68:39Run 710:08Run 817:28Full 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. A dash means the organiser did not publish that number for the result. * At that edition running was under 44% of the typical finish (48% is normal): the timing mats counted some running as station time, so its runs look faster and its stations slower than they were. How the numbers are made.
Rotterdam 2026, against 2,721 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: Geoffrey 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 2:34 against the typical Open Men finisher at Rotterdam 2026. The pacing guide is where that time comes back.
Fix roxzone. Then beat 1:23:30.
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.