iOS 18+ · £2.99 · One-time purchase
Training intelligence for runners

Every kilometre.
Every metric.
One place.

Mile32 is a native iOS training dashboard for serious runners. Sync your runs from Apple Health, visualise your fitness load, track your recovery, and build towards your A-race — no account, no analytics, your training and health data stay on your device.

Mile32 Overview screen showing Race Readiness score, Recovery Status, and training snapshot
Built different

Built for ultras, not just any run.

Course-aware pacing
Import a race's GPX and get grade-adjusted splits — not a flat pace target for a course that isn't flat.
Cut-off time-banking
The Race Day Card tracks your buffer against aid-station cut-offs, not just your overall finish estimate.
Heat acclimatisation
Race-day forecasts adjust your predicted finish for the heat or cold you've actually trained in.
Run/walk strategy
Model a deliberate run/walk pattern for race day, and practice sessions count toward it, not against it.
A look inside

Real screens, real training.

What's inside

Built for how runners
actually train.

Training Plan Generator
Build · Peak · Race

A plan from your starting long run, peak-week target and race date. Phases are assigned automatically. Reschedule at any time — completed weeks are kept.

Long Run Planning
Progression & targets

Plan your distance progression and track it against what you actually ran. The Bulk Plan Editor updates every upcoming week in one screen. Completed runs leave the plan on their own.

Fitness Load
CTL · ATL · TSB

Fitness, Fatigue and Form on a 90-day chart. The Fitness tile colours by whether you are building, holding or fading; Form says whether you are ready to race.

Ultra Race Predictor
Marathon to 150+ km

Finish times from marathon to 150+ km, using your recent runs, logged results (Riegel), an imported GPX course and race-day conditions. Add a run/walk strategy to model your execution plan.

Race Readiness Score
0–100 composite score

Draws on fitness, form, HRV trend, long-run consistency and race proximity. Five labels from Base Building to Race Ready, with a per-component breakdown.

Training Load
Heart · legs · descent

Three separate channels: how hard your heart worked, the pounding your legs took, and the braking load of descents. Each measured against your own recent normal — no population thresholds, no risk labels, no blended score.

Recovery Alerts
RHR · HRV monitoring

Flags dips in your resting heart rate and HRV trends, so you can back off before a hard block becomes a problem.

HealthKit Integration
Live health metrics

Live queries for resting heart rate, HRV, sleep, active calories, wrist temperature and weight. No export needed.

Race Diary
Upcoming & completed races

Log every race, upcoming or completed. The Race Day Card lays out your checkpoint plan with target times, ETAs and cut-offs.

Taper Countdown
4-phase race-week guide

A race-week checklist in four phases — 2 Weeks Out, Race Week, Day Before, Race Morning. Items surface at the right time, with a status on the Overview tab.

Goals & Progress
Weekly · Monthly · Yearly

Weekly and yearly distance targets, with a monthly view derived from the weekly one. Each shows distance achieved against target.

Run History & Filters
All · Runs · Walks

Full run history, filterable by All, Runs or Walks, with an adjustable minimum distance and a configurable number of results.

Achievements & Milestones
Personal bests

Personal bests across 25 distance categories, plus auto-detected milestones in eight: Distance, Vertical, Volume, Training, Endurance, Consistency, Conditions and Progress.

Kit Checklist
Pre-race preparation

A pre-race kit checklist in collapsible sections. Export it in the app's dark style, ready to screenshot before race morning.

Widgets
Home Screen & Lock Screen

Five Home Screen widgets — Distance, Elevation, a combined Training widget, a Volume Heatmap and your last run's route. Two Lock Screen widgets: Fitness alone, or Fitness, Fatigue and Form together.

Run Share Card
3 styles · 3 crops · GPS route

Long-press a run to build a card. Three styles, three crops, an optional background photo, and your GPS route traced on top. Share it, or save it to your camera roll.

Course-Aware Race Day Card
GPX import

Import a race's GPX for grade-adjusted checkpoint splits, aid-station markers and a cut-off time-bank — so your plan reflects the course, not just the distance.

Race-Day Conditions
Forecast + heat adaptation

Adjusts your predicted finish for race-morning heat or cold, allowing for the heat acclimatisation you have built in training.

Run Weather
Conditions on every run

Fills in temperature and conditions for past runs, and tracks the range of weather you have actually trained in.

Sync Running History
Years of past runs

Import your pre-plan Apple Health history, so your fitness baseline stands on more than a few weeks.

Run Debrief
Gut · legs · fuelling

Capture how a run felt — gut, legs, low point, and what you took on — so you learn your own patterns before race day rather than during it.

Race Mementos
Bib & medal photos

Finish times, bib numbers and medal photos kept alongside each completed race.

B12 Tracking
Injection cycles

Track injection timing against your training load. A niche need, kept out of the way for everyone else.

Guided Onboarding
5-screen setup

Five screens: features, your race details, HR zones (with a Tanaka max-HR suggestion from your age), training targets and HealthKit permissions.

Private by Design
No account, no analytics

No account, no analytics, no servers holding your data. It stays on your device; the only network calls are anonymous weather lookups.

The methodology

Why the numbers look different.

Mile32's Fitness number reads higher than Strava's or TrainingPeaks' for the same training, often by a lot. Different formula, not inflation.

Fitness, Fatigue and Form use the Banister TRIMP model — heart-rate impulse, exponentially weighted. TrainingPeaks' CTL uses TSS, a pace- or power-based scale that reads 1.5–2× lower. Neither is right; they measure different things.

What Mile32 will not do with the number matters more: turn it into a verdict. No safe zone, no injury-risk score, no blend of heart, legs and descent into one traffic light. Those averages come from team-sport cohorts and say little about a training log of one. You get where today sits against your own history, and the reading is yours.

Support

Frequently asked questions.

No FAQs match "". Try a different word, or email support.

Long-press any run row in the Run History list (Runs tab).

From there you can pick:

  • A style — Dark, Light or Gradient
  • A crop — 1:1 for the Instagram grid, 4:5 for a portrait feed, 9:16 for Stories and WhatsApp Status
  • A background photo from your library, with your GPS route traced over the top

For Apple Watch runs the route comes from HealthKit, drawn in green with start and finish markers. Tap Share… for the iOS share sheet, or Save to Photos for full resolution.

Two ways:

Bulk Plan Editor — the ⋯ menu on the Training tab, then Edit Plan…. A scrollable table of upcoming weeks, with target distances and phase labels (Re-entry, Build, Build+, Recovery, Peak, Taper, RACE, Injury) editable inline. Save commits everything at once; Cancel discards. Only future, uncompleted weeks appear.

Per-week — tap any week row in the Plan view.

From Apple Health. Apple Watch activities are already there — open Mile32 and they appear, with distance, pace, heart rate, elevation and GPS route.

Any app that writes running workouts to Apple Health syncs too, Garmin Connect, Strava and Runkeeper among them. Set how far back to import in Settings → Apple Health Sync.

Read-only access to:

  • Workouts & Routes — running activities and GPS traces
  • Resting Heart Rate — daily values
  • Heart Rate Variability — overnight SDNN
  • Sleep Analysis — stages and duration
  • Active Energy — daily active calories
  • Step Count — daily totals
  • Body Mass — from a scale or manual entry
  • Wrist Temperature — overnight deviation (Series 8, Ultra and later)
  • Heart Rate — per-run series, for time-in-zone and splits
  • Heart Rate Recovery — the one-minute post-workout drop
  • VO2 Max — where your Apple Watch has recorded it
  • Running Power — to correct heart rate on hills and intervals
  • Workout Effort Score — your own effort rating from the Watch

All of it is queried on-device and none of it leaves your iPhone. Revoke at any time in Settings → Privacy & Security → Health → Mile32.

The Karvonen heart rate reserve method, which accounts for your resting HR. Set your max and resting HR in Settings → HR Zones. Defaults, all adjustable:

  • Zone 1 — aerobic base, 60–75% of reserve. Conversational, and where most of your runs should sit.
  • Zone 2 — threshold, 75–85%. Sustained moderate effort.
  • Zone 3 — hard, 85%+. Use sparingly in an ultra base build.

Shown as a bar on Overview and broken down on Training. Changing the boundaries applies retroactively to every synced run.

The three numbers behind the Fitness Load chart:

  • CTL — Fitness — your long-term base, built over weeks and months.
  • ATL — Fatigue — load from the last week or two. Rises sharply after a hard block.
  • TSB — Form — Fitness minus Fatigue. Positive is fresh, negative is carrying load. Aim for +5 to +15 going into a race.

All three update daily, plotted over 90 days on the Training tab.

Walks and hikes count fully towards Training Load and time on feet, but not towards running distance, pace, zone or personal-best stats — a walk is not a run, whatever its load.

A pace filter catches slow activities HealthKit has not already tagged: slower than 9:00/km is treated as a walk. Mark a session as deliberate run/walk practice and it is exempt, blended pace included.

Excluded activities still appear in your run list. They just do not feed the Fitness Load chart, zone distribution or weekly volume.

Home Screen — long-press an empty area, tap +, search for Mile32. Five are available: Distance and Elevation (small/medium), a combined Training widget and a Volume Heatmap (large), and your last run's route.

Lock Screen — long-press the lock screen, tap Customise, then a widget area. Two are available: Fitness alone, or Fitness, Fatigue and Form together.

Set your weekly targets and long run day in Settings → Training Targets to keep them current.

Partially. The fitness load charts, long run planner, goals, race diary and kit checklist all work without one, and any app that writes running workouts to Apple Health will sync.

The Health tab (resting HR, HRV, sleep, wrist temperature, weight) needs an Apple Watch to have recorded those metrics. Without them each chart shows an empty state prompting you to check your Apple Health permissions.

Settings → Data → Clear All Data permanently deletes every synced run, long run plan and app setting from your device.

Deleting the app removes all local data too. HealthKit data lives independently in Apple Health and is unaffected by either.

Privacy Policy

Your data stays on your device.

Mile32 has no account, no analytics SDKs, and no advertising frameworks, and no servers store your data. Your runs, health metrics, training plan and settings live locally on your iPhone and are never uploaded.

Mile32 reads from Apple Health (heart rate, HRV, sleep, active energy, weight, wrist temperature, and GPS routes) to power its training intelligence. This data never leaves your device. You can revoke access at any time in Settings → Privacy & Security → Health → Mile32.

The only network requests Mile32 makes are weather lookups. To show the conditions you ran in, and to forecast your race-day weather, Mile32 sends an approximate location — a run's GPS start point rounded to about 1 km, or your race postcode — to Apple Weather (race-day forecasts and severe-weather alerts near your race), Open-Meteo (historical conditions) and postcodes.io (UK postcode lookup). No name, account, identifier, or health data is ever sent, and no location history is stored remotely.

What Mile32 doesn't do

All stored data is removed when you use Settings → Data → Clear All Data, or when the app is deleted.

Questions? support@mile32.app · Last updated August 2026.

Get in touch

We're here to help.

✉️
Email Support
support@mile32.app — we aim to respond within 48 hours.
⭐
Leave a Review
Enjoying Mile32? A review on the App Store helps other runners discover it.

When reporting a bug, it helps to include your iOS version, iPhone model, and a description of what you expected vs what happened. Screenshots are always welcome.

Feature requests are very welcome — Mile32 is actively developed and the roadmap is shaped by runner feedback.