It does not just count your kilometres:
it tells you which ones to run
A whole tab for endurance. Record the run with GPS, measure your cardiorespiratory capacity with real field tests and get tomorrow's session prescribed — under the same rule as the rest of the app: every number shows where it comes from.
- 20structured sessions
- 7periodised plans
- 7validated field tests
- 0tracks that leave your phone
Tomorrow's session, already written
Almost every running app shows you what you did. The hard question is the other one: what to do next. Horme answers it with a library of 20 sessions across 5 families, and explains what each one is for.
Aerobic base
The easy volume that holds up everything else: easy runs, recovery runs, the long run and progressive runs.
Threshold
Raises the ceiling of what you can hold: steady tempo, cruise intervals and 8×2 fartlek.
VO₂ max
The hard intervals, each with its classic format and its source: Norwegian 4×4, Billat 30/30, 10-20-30, pyramid, SIT and Tabata.
Speed and economy
Running better, not only more: strides, short hills and short repetitions.
Health
What actually moves the needle on mortality and on habit: walk/run, long zone 2 and one-minute bouts (VILPA).
With voice guidance
Every session runs step by step. The app calls out each block change by voice and marks the lap, with your phone in your pocket.
7 plans with a beginning and an end
From never having run to a marathon. Every plan knows how many weeks it lasts, how many days a week it asks for and what it commits to.
| Plan | Goal | Length |
|---|---|---|
| Start running | Run 30 minutes non-stop, alternating jogging and walking. Not a single hard session. | 8 weeks · 3 days |
| Reach the WHO 150 minutes | Meet the physical activity guidelines, with one intensity session at the end. | 8 weeks · 3 days |
| VO₂ max block | Raise maximal aerobic power, with no race involved. | 8 weeks |
| 5 km | Finish or improve your 5 km. | With a final taper |
| 10 km | Finish or improve your 10 km. | With a final taper |
| Half marathon | Reach 21.1 km with the long run built up. | With a final taper |
| Marathon | Reach 42.2 km with the long run built up. | With a final taper |
What a plan is NOT
Personal coaching. A plan knows nothing about your job, your sleep or your injury history. It is a sensible structure that saves you from having to invent one — and the app says exactly that on the screen itself, not in a footnote.
The run is recorded
and stays on your phone
Distance, pace, elevation and route, with per-kilometre splits, best efforts and cardiac drift. The track lives in its own on-device database and never travels to a server, not even with syncing turned on.
A GPS track is the most sensitive data the app ever holds
It contains your front door to within metres. So there is no checkbox here that someone could untick by accident: the path simply does not exist.
- The track is stored in a separate database, outside the one that syncs. What goes to the cloud is the summary: kilometres, minutes and pace
- Location is requested in the foreground only and only while you record. The app never requests background location, so it cannot follow you when you are not using it
- The map background ships off. By default the route is drawn from your own points, downloading nothing and sending your position to nobody
- You can delete the track of one run and keep the workout, or delete both. And revoke the permission whenever you like: the rest of the app carries on
- When you export to GPX or share a run, the route is trimmed by the privacy distance you set
What you share carries no map, and that is deliberate
Horme builds an image and a video clip of your run using its own drawing of the route, never the map provider's tiles: their terms forbid using their map in images or video. It is the kind of detail nobody notices until a complaint arrives.7 field tests, with protocol and error
Measuring VO₂ max properly needs a lab. These are the substitutes the literature validates, and each one states what you need, how to do it, where it fails and how far off it can be.
| Test | What it measures | Type |
|---|---|---|
| Cooper (12 min) | VO₂máx | Maximal |
| 2.4 km (1.5 miles) | VO₂máx | Maximal |
| Walking mile (Rockport) | VO₂máx | Submaximal |
| Step test (Queens College) | VO₂máx | Submaximal |
| 30-minute time trial | Threshold (LTHR) | Maximal |
| 20-minute FTP (bike) | Threshold power | Maximal |
| 400 + 200 (swim) | Critical speed | Maximal |
Percentiles, not a bare number
Your VO₂ max against the FRIEND reference by age and sex, with a projection of how it declines over the years if you do nothing — and where it lands if you do.
The history is not overwritten
Repeating a Cooper adds a point to the series instead of erasing the previous one. It is what makes the app's own advice to repeat it checkable.
Threshold, zones and critical speed
VDOT, pace and heart-rate zones, a mean-max curve, critical speed and the trend of your heart-rate recovery after a session.
Three sources, one history
What you record with GPS, what you type by hand and what the app imports from your watch all land in the same history, using the same activity vocabulary.
It sounds obvious and it almost never is: the moment the same run gets stored two different ways, it splits into two lists and no total adds up again. Here, on top of that, editing the minutes of a recorded run does not wipe its splits or the link to its route.

A map that works offline and with no account
Your route does not need the internet to be visible. Real map tiles underneath are an optional extra, not the minimum for the screen to be useful.
Out of the box: the built-in map
Horme draws the route from your own points — projection, framing, colour by metric and heat map included — asking nobody for anything. Offline too.
If you turn it on: real tiles underneath
In Settings → Maps you can enable the map background with your own Mapbox or Stadia Maps key. It requests the tiles of the already-trimmed frame, not your route.
Never by default, never in the background
The advanced enhancement of a session — snapping the trace to the path and correcting elevation — requires enabling it and then tapping it on that specific run. It never runs by itself when you open a card.
And what you already knew about Horme applies here too
- GPX import and export: your runs come in from another app and leave whenever you want. Re-importing the same file does not duplicate it
- Cardio counts towards load: it is not a separate list, it feeds the same fatigue model as lifting
- WHO guideline adherence: the 150 equivalent weekly minutes, actually counted rather than eyeballed
- Fito explains the area: the summary it receives is aggregated and coordinate-free, and the prescription is still decided by the local engine, not the model
- Its own mini-tutorial, behind the "?" in the header, like every area of the app
Start by measuring where you are
One twelve-minute field test and you have the reference everything else is compared against.
Free. No account required. Works offline from the first launch.