ROX-strat
Pace your Hyrox race smarter
Free · In‑App Purchases · Designed for iPhone. Not verified for macOS.
Blowing up at the wall balls because you went out too hard on run one? That's a pacing problem, not a fitness problem.
ROX-strat builds a personalized Hyrox® pacing plan from your 5K time, your station PRs, and how aggressive you want to race. On race day, your Apple Watch or Garmin watch tells you whether you're ahead, on, or behind your plan — segment by segment, all 31 of them. New here? Your first 90 days of ROX-strat Pro are free, no card required.
WHAT YOU GET (FREE)
• PFT onboarding — a personal fitness test that captures your baselines
• Fixed-algorithm Simulator — Riegel formula plus fatigue curves
• Live Race Ghost on Apple Watch — ahead / on / behind and your heart rate, in real time
• Garmin watch app — your race plan, live pacing and the PFT on your Garmin, paired with this app
• Roxzone guide — pacing through every transition
WHAT'S IN ROX-STRAT PRO
• Live Readiness Score — HRV and sleep from Apple Health, read as race-day readiness
• ML Decay Engine — three on-device models predicting how your station times fade early, mid, and late race
• Strava sync — read-only, to pull your training history
• Fatigue Sliders — hand-tune the fatigue curve to your body
• CrossFit Converter — turn CF benchmarks into Hyrox station projections
HOW IT WORKS
Run the PFT once to set your baselines. Simulate your race across 8 × 1km runs, 8 stations, and the Roxzone transitions — 31 segments in all (Ski Erg, Sled Push, Sled Pull, Burpee Broad Jumps, Rowing, Farmers Carry, Sandbag Lunges, Wall Balls). Then race with the ghost on your wrist.
WHY ATHLETES TRUST IT
On-device ML — the three models run on your phone with CoreML, and your raw Apple Health data never leaves it. You sign in with Apple, with Google or with a code we email you, so there's no separate password. Apple Watch native, with sub-100ms haptics.
SUBSCRIPTION
Every new install gets the first 90 days of ROX-strat Pro free — no card required. After that, ROX-strat Pro is $19.99/year, with a 3-month free trial for new subscribers. Subscriptions auto-renew unless cancelled; manage or cancel anytime in your App Store settings.
terms of use (eula): https://www.apple.com/legal/internet-services/itunes/dev/stdeula/
privacy policy: https://rox-strat-legal.pages.dev/privacy
ABOUT HYROX®
Not affiliated with HYROX® or Hyrox World GmbH.
PRIVACY
Your training data syncs to our own server in Frankfurt (EU), so it follows you to a new phone and comes back after a reinstall. We don't store your name or your email (only a scrambled fingerprint of it, so your account can be found again), and your raw Apple Health data stays on your phone. Delete your account in the app and the server copy goes with it. We don't run ads or tracking.
more Sign in with Apple, with Google, or with a 6-digit code we email you. Still no password. If the email matches, it's the same account whichever way you come in, so switching methods or reinstalling brings your data back. The first screen marks the way you signed in last, and Settings shows how you sign in.
The "Sync paused" banner is gone. Open the app at least once a year and you stay signed in.
Your Garmin now takes its start from the iPhone. Tap the Garmin card in Run PFT, or I'M READY on the Garmin card in Pre-Race, and the watch opens on one START screen. The clock starts when you press it there, and a PFT on the Garmin no longer needs a locked race plan. Cancel on the iPhone and the watch goes back to waiting. The Apple Watch follows the same flow: with nothing sent it just says to manage from the app, and the race start screen shows your target time. Update ROX-strat on your Garmin from the Connect IQ store to get it.
The setup wizard has a page for notifications, and after that the app only asks when you turn a notification switch on in Settings. Apple Health is asked when you tap Allow in the wizard, tap the Apple Health badge in Settings, or open the Weekly Fitness Check. The Dashboard no longer pops that prompt. A wrong sign-in code now tells you how many tries are left.
1.12.0 1d ago
ROX-strat now runs on Garmin watches. Pair yours from Settings, Integrations, Garmin watch with the code the watch shows, and your locked race plan goes to your wrist through Garmin Connect. Race or run the PFT on the watch with lap, total time, delta to plan and heart rate on screen, and leave the phone in your bag. When you finish, the result lands in your history on the phone. The Garmin app is free, race plan included.
A race done on the Garmin carries a GARMIN badge in Race History. If it overlaps a race the phone also recorded, the app asks you which one to keep instead of guessing. You can fix a wrong split on a finished race now, and the whole card header and every split row open with a tap.
On Apple Watch your heart rate shows live through the race and the PFT, and the session is saved to Health as a workout, not as a run. That workout session is also what keeps the race on screen. A race or PFT no longer picks up again after the app is force-quit; it starts fresh.
The don't-chase alert just tells you how far ahead you are. Saving a PFT no longer overwrites your 5K PB. And the Health permission text now says plainly that the iPhone never writes to Health.
1.11.0 Oct 13
The race screen keeps the phone awake, so it doesn't lock between splits. If the Watch can't be reached or never answers, a slide on the phone starts the race, and the clock starts the moment you slide. The iPhone PFT starts on a slide too, so setup time can't end up in your 1 km run. The slow-down alert used to go off halfway through Run 1 at any pace. Now it fires only if your Run 1 split comes in more than 10 seconds ahead of plan.
On the Watch, a late command from the phone can't restart a finished race, and an old one doesn't open the START button or a PFT screen hours later. After a relaunch, START is still there once you've pressed I'M READY, and a finished PFT stays finished. A race you stop early reads RACE STOPPED EARLY, with no final delta. The ready screen tells you once to set Return to Clock to 1 hour, to keep the race on screen.
Doubles and relay ask for your partner's 5K PB instead of assuming 20:15. Estimates built from a PFT no longer count the transition into a station twice or add 18% to wall balls, and personal calibration keeps the stations you really raced, so Watch targets stop coming out slower than your splits. The ranking line is labelled an estimate, and a finish slower than the last bracket reads Outside top X% instead of Top 90%.
A PFT sets your 5K PB only when you have none saved, and a PFT finished on the Watch is saved even with no PFT screen open. The first sync after you sign in merges with what's on the phone instead of replacing it. If your server sign-in runs out, you stay signed in and the Dashboard asks you to sign in again. Deleting your account clears the phone first, including a race or PFT in progress and the plan on your Watch.
The Pro plan screen shows the free trial under the price, and the Watch ghost is off its Pro list because it's free. Product news starts off. The 5K PB sheet stores a time only when you tap Save.
1.10.2 Oct 9
If iOS closes ROX-strat in the middle of a race or a PFT, say with your phone in a bag for an hour, opening the app now takes you straight back to it: same segment or station, with the clock still counting from your start.
A race you finish on the Watch now reaches your history even when the phone missed splits, was on another screen or got closed along the way. Before, one lost split meant the race wasn't saved at all. Splitting on the phone no longer leaves the Watch a segment behind, and a plan you lock mid-race waits until the race is over instead of changing the targets on your wrist.
The Weekly Fitness Check card on the Dashboard stops showing numbers it doesn't have. Without HRV samples it said 50 ms, with no run source connected 0 km, and before your first readiness score 0. Each is a dash now. The projected finish inside Fitness Check works too: with a locked plan and a readiness score, it shows how much today's readiness moves your finish against the plan. It used to ask you to lock a simulation even when you had one. And the Simulator no longer adjusts your race day for a readiness score that was never computed.
Also fixed: with the app in Turkish, the Simulator crashed as soon as it showed your age-group percentile.
1.10.1 Sep 30
Your training data now syncs to ROX-strat's own server in Frankfurt, instead of iCloud.
So it follows you to a new phone and comes back after a reinstall. After updating, sign in with Apple once. Everything already on your phone stays, and gets copied up the first time you're online.
The server keeps your profile, station PRs, locked plan, PFTs and races. It doesn't keep your name or your email, and your raw Apple Health data never leaves the phone. Delete your account in Settings and the server copy goes with it.
Also fixed: the time pickers for station PRs and manual PFT entry are readable in light mode, and Pre-Race only says your plan is on the Watch once the Watch has it.
1.10.0 Sep 26
The stations are in the right order now.
Ski Erg first, Wall Balls last, and the six in between where HYROX puts them. Every screen had it
wrong: Sled Push sat at station 1 and Ski Erg at 7. An athlete wrote in and pointed it out. Thank
you.
Your station times haven't changed, only the slot they sit in. Your race plan total will move a
little, because the fatigue the plan expects at each point of the race now lands on the station you
will actually be doing there. The PFT still fills in Ski Erg, Burpee Broad Jump, Rowing and Wall
Balls, and the CrossFit converter feeds the same eight stations as before.
1.9.2 Sep 23
Split, and now you see it.
Both timers show you the segment you just finished for a few seconds after you split it: what it
took, and on the race, how it compares to plan. That's also how long the next split stays locked
out. That lockout already existed on all four clocks, but nothing showed it — and on the iPhone PFT
it was worse, since the slider confirmed a split with a haptic and "Stage recorded!" before the app
dropped it.
The Watch's race crown clicks on every advance now too. The PFT's always did.
1.9.1 Sep 9
The race timer got rebuilt.
Every lap now has a transition into the station and one back out of it. That's 31 segments instead
of 24, and it means your run split is the run. Before, the walk out of a station got folded into the
next run and made every one of them read slow.
Both faces now show four things and nothing else: which lap you're on, the total clock, the segment
you're in, and when that segment should end. Not the race finish. The end of the station you're
standing on, which is the only projection you can do anything about while you're still moving.
Splitting is a slide on the phone and a crown hold on the Watch. A tap was too easy to fire by
accident with a phone in a running belt, and a split has no undo.
At the finish you get a roxzone total across all 15 transitions. The live screen never shows you a
transition budget, so this is where you find out what they cost together.
1.9.0 Sep 7
Two changes this time.
The app now follows your system appearance, or you can pick Light or Dark yourself, under Settings
▸ Appearance. It used to be dark no matter what your phone was set to. If you run light everywhere
else, ROX-strat can match now.
The CrossFit Converter got rebuilt. It reads eleven CrossFit numbers instead of three: Back Squat,
Deadlift, Front Squat, Dead Hang, three rowing distances, Ski Erg, Fran, Karen, and Jackie. Each one
maps only to the Hyrox stations it actually predicts, so your Fran time fills in Burpee Broad Jumps
and Sandbag Lunges and nothing else. Give it enough of them and a run leg and a predicted finish time
show up too.
A station with nothing behind it reads "Not set," plainly. The old converter filled in a number
either way, whether you'd told it anything or not.
1.8.1 Sep 3
The app is called ROX-strat now.
Same app, same data, same account. The name just reads ROX-strat instead of all-lowercase, on your
home screen and everywhere inside. Nothing to set up again.
There's a new typeface too. The part that matters is the numbers: they're monospaced now, so every
digit takes the same width. Your splits stack in a straight column instead of drifting left and
right as the numbers change, and the delta on your wrist stops twitching each time a second ticks
over. That was the whole reason for changing it.
One thing you might notice in iOS Settings: under Health and under Apple ID, the app still lists
itself as ROX-STRAT. That's a name iOS caches from the install, and renaming it there would break
the Apple Sign-In you already have.
1.6.1 Sep 2
The PFT is the actual Hyrox PFT now.
Six stations, in order, on one clock that never stops: 1km run, 50 burpee broad jumps, 100 stationary
lunges, 1km row, 30 hand-release push-ups, 100 wall balls. You hit a split at the end of each one.
About 30 minutes.
The old version was a shorter stand-in — 20 burpees, a 500m row split, push-ups counted against a
60-second timer. Useful, but not the test anyone actually does.
You don't need a Watch any more. Run it on the phone instead: the six stations sit in a list, the
total stays pinned at the top, and you slide to split at the end of each one. Times you've already
banked stay on screen while you work.
On the Watch the timer is a ring. Six arcs, one per station, filling as you go, total in the middle.
To bank a split you turn the crown and keep turning for about a second and a half. The arc fills
while you turn, so a knock against your forearm can't end a station.
• The clock keeps running through transitions, because that time is part of your result. Each
station's time is the gap between two splits.
• The Watch derives the clock from when you started, so backgrounding it mid-station no longer loses
those seconds.
• Skip a station and the next one still measures correctly. It used to absorb the skipped time.
• Entering it by hand? Pick clock readings or per-station times, whichever you wrote down.
• Wall balls read 6 kg or 4 kg once you've set your gender, and both weights if you haven't.
Your old PFTs still show in history. They measured different movements, so nothing compares the two
or blends them into one trend.
Two fixes worth naming. Finishing a PFT used to wipe sled and farmers carry PRs you'd entered
yourself. And the burpee station estimate it wrote was roughly 2.4x too fast, which then beat the
number that would have been right.
1.6.0 Sep 1
v1.5.1 — accuracy pass
No new features this time. Just a careful look at how rox-strat reads your data.
• Recovery numbers are dated correctly, so today's HRV, resting heart rate and sleep are actually today's.
• Where there's no reading yet, rox-strat shows nothing rather than a stand-in number.
• Simulator lap targets — and the plan your watch receives — now match the finish time on screen.
• Data sources are named as they are, instead of assumed.
• Strava connecting and disconnecting behave properly, and a few labels now appear in the right language.
If your readiness score shifts after updating, this is why. It is reading the same data more carefully.
1.5.1 Aug 25
v1.5.0 — reminders that reach you when you're not in the app
New
• Race countdown. Set a race date and rox-strat gets in touch at two weeks out, in race week, the night before, and on race morning. The race-morning one repeats the pacing line from your own plan: first 1km, hold back.
• PFT retest reminder at 8 weeks, so your trend doesn't go stale without you noticing.
• A week's warning before your free pro window ends. Nothing is charged, and nothing renews on its own.
• Product announcements, if you want them. Separate switch, off until you turn it on.
How it works
• rox-strat only asks for notification permission when you set a race date. Never at launch, and never as a condition of anything.
• Each category has its own switch in settings. Turn off what you don't want, keep the rest.
• Your race date, your PFT and your readiness stay on your phone. The reminders are scheduled on the device itself.
Not affiliated with HYROX® or Hyrox World GmbH.
1.5.0 Aug 24
v1.4.1 — honest run volume, fully local storage
Read this first
• Your readiness score and your predicted finish times are going to move. That's the point. rox-strat was counting ordinary walking as running, which quietly inflated your weekly run volume — a phone with no logged runs in two years could still show 18.8 km/wk. That number was wrong. The new one is right, so expect your numbers to shift.
What's new
• Run volume now merges Apple Health and Strava into a single figure, and only counts real running workouts. If the same run synced to both, it's counted once — not twice.
• Fully local storage. rox-strat no longer waits on iCloud to launch. Saving works offline, works when iCloud is full, and works when you're signed out of iCloud entirely — your phone holds your data. Deleting your account never hangs.
• The "Profile" tab is now "Settings".
Better
• A stale Strava number is no longer shown as current. If a sync fails, rox-strat says so instead of quietly displaying last season's mileage.
Not affiliated with HYROX® or Hyrox World GmbH.
1.4.1 Aug 14
What's new
• Smarter readiness. Your score now reads real recovery — HRV, resting heart rate, sleep and training load — plus a 10-second daily check-in. Being slower never drags it down anymore.
• A rebuilt race estimator. Your finish prediction comes from YOUR real data — past Hyrox splits, station PRs, your PFT — shows where every number comes from, and gives an honest ± range instead of one made-up time.
• Every Hyrox division. Singles and Doubles in Open and Pro, plus Mixed Doubles and Relay — with Pro weights factored in.
Better
• Offline-first saving. Your data is stored on your phone first, so a full or offline iCloud never blocks you.
• Full German (Deutsch), with automatic language detection.
Not affiliated with HYROX® or Hyrox World GmbH.
1.4.0 Jun 22
v1.3.1 — your data, always saved
what's new
• your phone is now the source of truth: every edit, PFT result, and locked race plan saves instantly on-device — even when iCloud is full or you're offline.
• iCloud sync now runs quietly in the background and catches up on its own. if it's waiting, you'll see a small "iCloud sync paused" note — your data's already safe on your phone.
• no more failed saves on a finished race or PFT.
under the hood: tidied up PFT data so it stays consistent.
train smart, pace smarter.
1.3.1 Jun 10
v1.2.1 — 90 days of rox-strat pro, on us
what's new
• new install? your first 90 days of rox-strat pro are free — no card required
• full access to the ML Decay Engine, Live Readiness Score, Strava sync, Fatigue Sliders, and the CrossFit Converter for the whole trial
• after 90 days, the free simulator and Apple Watch race ghost stay free, always
• smaller fixes and pacing tweaks under the hood
train hard, pace smart. see you on the start line.
1.2.1 Jun 9
Sign in with Apple, with Google, or with a 6-digit code we email you. Still no password. If the email matches, it's the same account whichever way you come in, so switching methods or reinstalling brings your data back. The first screen marks the way you signed in last, and Settings shows how you sign in.
The "Sync paused" banner is gone. Open the app at least once a year and you stay signed in.
Your Garmin now takes its start from the iPhone. Tap the Garmin card in Run PFT, or I'M READY on the Garmin card in Pre-Race, and the watch opens on one START screen. The clock starts when you press it there, and a PFT on the Garmin no longer needs a locked race plan. Cancel on the iPhone and the watch goes back to waiting. The Apple Watch follows the same flow: with nothing sent it just says to manage from the app, and the race start screen shows your target time. Update ROX-strat on your Garmin from the Connect IQ store to get it.
The setup wizard has a page for notifications, and after that the app only asks when you turn a notification switch on in Settings. Apple Health is asked when you tap Allow in the wizard, tap the Apple Health badge in Settings, or open the Weekly Fitness Check. The Dashboard no longer pops that prompt. A wrong sign-in code now tells you how many tries are left.
more Version 1.12.0 1d ago
Data Linked to You The following data may be collected and linked to your identity:
Health & Fitness Purchases Contact Info User Content Identifiers