Zoned is a free, open-source app that builds running plans and workouts around your own heart-rate or pace zones. No account, no backend, no paywall, everything runs locally in your browser, offline included. Inside: 256 structured workouts, 9 plans from 5K to marathon, a real-world route generator, a race-day pacing simulator and 12 calculators. Export to Garmin FIT, Strava, GPX, calendar or PDF. MIT licensed, self-host it or contribute a session.
No reviews yetBe the first to leave a review for Zoned
Maker
📌
Hey Product Hunt
It started very simply: I was running with a colleague and kept sending her workouts over WhatsApp, sessions I'd find on social media or pull from my own experience. It worked, but it was messy and manual. I wanted a real tool that could generate structured sessions instead of me copy-pasting them one by one.
I had one strong principle going in: my training data stays mine. No account, no paywall, nothing sitting on someone else's server. That shaped the entire product, Zoned has no backend at all. Everything is generated and stored in your browser, and it works offline once installed. Export/import is built in, so your training is portable and yours to keep. Local-first turned out to be ownership, not a limitation.
What's in it today:
- 256 structured workouts built around your own heart-rate or pace zones, road, trail, plus cycling, swimming and strength
- 9 ready-made plans, 5K → marathon, plus base-building and return-from-injury
- A route generator that draws real-world loops from your doorstep
- A race-day pacing simulator with nutrition and hydration timing
It's MIT licensed and bilingual FR/EN, the whole catalogue is plain JSON in the repo, so you can fork it, self-host it, or send a PR with your favourite session.
Trail plans are what I want to build next. If you're training for one, tell me what you'd need, that's the feedback I'm after today.
Report
Honestly the heart-rate zone based workouts sound solid, but I'd love to see some kind of Apple Watch sync so I can actually follow the structured sessions on my wrist without exporting files manually. Basically push the workout directly to the watch and have heart rate zones guide the intervals in real time.
Report
Maker
@camilla_somerset Thanks, and this is the most requested thing so far.
Half of it is already on the way: the FIT export can carry HR-zone targets, so the watch drives the intervals instead of just listing them. That's tracked as issue.
The Apple Watch half is harder and I'd rather be straight about it. Garmin accepts a FIT workout through Connect, so the hand-off works. Apple has no equivalent import path for third-party structured workouts today, so the only route in is a native iOS app, which cuts against the whole no-backend, no-account, runs-in-your-browser thing.
Report
The route generator using your actual zones instead of generic splits is a really thoughtful touch, makes the whole thing feel built by someone who actually runs. Respect for keeping it MIT and zero-account too.
Report
Maker
@ulmer_dong Thank you, that really means a lot to me.
You’ve hit on an important point. From any workout page, there’s an option that pre-fills the route generator with the distance of that session, so that the route is derived from the session and not the other way around. It also retrieves waypoints in parks, greenways, and trails via Overpass, and suggests three possible routes along with their elevation profiles.
And yes, MIT and the lack of an account requirement are non-negotiable conditions here, which is why I developed Zoned. The entire catalog of workouts is in raw JSON format in the repository; if you ever want to add a session, all it takes is a single pull request.
Hey Product Hunt
It started very simply: I was running with a colleague and kept sending her workouts over WhatsApp, sessions I'd find on social media or pull from my own experience. It worked, but it was messy and manual. I wanted a real tool that could generate structured sessions instead of me copy-pasting them one by one.
I had one strong principle going in: my training data stays mine. No account, no paywall, nothing sitting on someone else's server. That shaped the entire product, Zoned has no backend at all. Everything is generated and stored in your browser, and it works offline once installed. Export/import is built in, so your training is portable and yours to keep. Local-first turned out to be ownership, not a limitation.
What's in it today:
- 256 structured workouts built around your own heart-rate or pace zones, road, trail, plus cycling, swimming and strength
- 9 ready-made plans, 5K → marathon, plus base-building and return-from-injury
- A route generator that draws real-world loops from your doorstep
- A race-day pacing simulator with nutrition and hydration timing
- 12 calculators (zones, VO2max pace, splits, treadmill, age-graded...)
- Export to Garmin FIT, Strava, GPX, .ics and PDF
It's MIT licensed and bilingual FR/EN, the whole catalogue is plain JSON in the repo, so you can fork it, self-host it, or send a PR with your favourite session.
Trail plans are what I want to build next. If you're training for one, tell me what you'd need, that's the feedback I'm after today.
Honestly the heart-rate zone based workouts sound solid, but I'd love to see some kind of Apple Watch sync so I can actually follow the structured sessions on my wrist without exporting files manually. Basically push the workout directly to the watch and have heart rate zones guide the intervals in real time.
@camilla_somerset Thanks, and this is the most requested thing so far.
Half of it is already on the way: the FIT export can carry HR-zone targets, so the watch drives the intervals instead of just listing them. That's tracked as issue.
The Apple Watch half is harder and I'd rather be straight about it. Garmin accepts a FIT workout through Connect, so the hand-off works. Apple has no equivalent import path for third-party structured workouts today, so the only route in is a native iOS app, which cuts against the whole no-backend, no-account, runs-in-your-browser thing.
The route generator using your actual zones instead of generic splits is a really thoughtful touch, makes the whole thing feel built by someone who actually runs. Respect for keeping it MIT and zero-account too.
@ulmer_dong Thank you, that really means a lot to me.
You’ve hit on an important point. From any workout page, there’s an option that pre-fills the route generator with the distance of that session, so that the route is derived from the session and not the other way around. It also retrieves waypoints in parks, greenways, and trails via Overpass, and suggests three possible routes along with their elevation profiles.
And yes, MIT and the lack of an account requirement are non-negotiable conditions here, which is why I developed Zoned. The entire catalog of workouts is in raw JSON format in the repository; if you ever want to add a session, all it takes is a single pull request.