Trainora The notebook · front page

A plan written from the training you actually did

Trainora is an iPhone app with a small companion on Apple Watch. It reads the workouts already sitting in Apple Health — whatever recorded them — scores each one, and keeps two moving averages of the result. From those it writes a four-week block, and tells you in one sentence why today looks the way it does.

I want to be straight with you about the shape of the thing, because most training apps are sold on a promise they cannot keep. Trainora does not know how you slept. It does not know that work is hard at the moment, or that it was thirty-one degrees on Tuesday, or that your left achilles has been grumbling since the weekend. It knows what got recorded, when, for how long, and roughly how hard — and it is careful, almost pedantically careful, about not pretending to know more than that.

What it does with that is old and well understood. Every session becomes a single number: minutes multiplied by the square of how hard it was relative to your own threshold, so an hour at threshold costs a great deal more than an hour easy. Those daily numbers feed two exponentially weighted averages — a slow one over about six weeks, a fast one over about one — and the gap between them is the figure a coach would call form. None of this is new; Banister published the impulse-response model in the 1970s and it has been in the open literature ever since. What is unusual here is not the maths but the refusal to round it up. When the app has seen nine days of your training it will not draw you a confident line. It says Still learning and shows you a dash.

The first block, as the app writes it

Here is a real one — the opening week of the four-week block generated for somebody who has just installed the app and told it nothing except that they run, and that Tuesday, Thursday and Sunday are the days they have. These sessions are not a marketing example. They are what the generator produces from those answers, at seven in the morning, ordered by your own calendar's idea of where the week begins.

Mon
NothingrestThree days is the default for a first block, and more than four is refused outright. Nothing planned is not a gap in the plan; it is the plan.
Tue
15 min easy · 4 × (4 min threshold / 2 min recovery) · 10 min easykeyThe week's one hard session, written in time and not in distance. You have no measured pace yet, so being told to run a kilometre in four minutes fifteen would be a number invented out of nothing. Four minutes at an honest effort is something anybody can do truthfully.
Wed
NothingrestBetween the hard day and the next one.
Thu
40 min easyeasyThe beginner's forty minutes, because there is no history to build on yet. Given a history it would start from your own recent weekly volume instead — and the second block does exactly that.
Fri
Nothingrest
Sat
Nothingrest
Sun
60 min easylongThe long one goes on the last training day of your week as your own calendar orders it — Sunday across most of Europe, Saturday in the United States. Never a hard-coded weekday.

Weeks two and three add ten per cent and one more repetition, so the key session becomes five intervals and then six, and Sunday becomes sixty-six minutes and then seventy-two. Week four drops to seventy per cent and the hard session disappears entirely. Three weeks up and one down is the oldest structure in the sport, and unbroken build is the one thing a first block must not get wrong.

Four weeks, and then it stops. That is deliberate, and it is the part people find disappointing. A plan the app cannot justify is a plan it should not write, and with no history and no measured thresholds there is nothing to periodise from. By the time the block runs out you have given it something to work with, and the next one starts from what you have actually been doing rather than from where you began.

On the objection you are probably having

You may be thinking: another app that turns my training into a score. That is a fair suspicion, and the honest answer is that yes, it does, and that the score means nothing outside your own history. There is no unit. There is no comparing yours with anybody else's. The app says as much, in those words, on the panel behind every figure — alongside how many days of recorded training that figure is standing on, and roughly how many more would raise its confidence a step. If you want to know how a number was arrived at, you tap the number.

The second thing worth saying plainly is about your data. Trainora reads Apple Health and never writes to it; the permission to write is one it does not ask for, which you can check in Settings for yourself. There is no account, no sign-up, and no analytics SDK. There is no server of ours anywhere in the picture. If you switch iCloud sync on, your training goes to your own iCloud private database and not to us, and if you are not signed in it simply stays on the device. One action deletes everything, and that screen tells you what it cannot delete — your Apple Health samples belong to Health, and never belonged to Trainora.

The Progress screen of Trainora, showing fitness 29, fatigue 35 and form −6 over a four-month trajectory chart, labelled high confidence.
The Progress tab, four-month view, in French — the app ships English and French. Forme de fond is fitness, Fraîcheur is form. Fitness 29, fatigue 35, form −6, and Confiance élevée: high confidence, which this athlete has earned with more than six weeks of recorded training. A negative form is not a warning; a hard block is supposed to run negative.

The rest of the notebook
  1. IThe modelThe actual arithmetic: session load, the two time constants, where confidence comes from, and what the first fortnight looks like from the inside.
  2. IIA week, workedA full block with the reason attached to each session, and what happens when you miss a day, do more than was asked, or fall ill.
  3. IIIOn the wristWhat travels to Apple Watch, what is lost in translation, and what the watch app does not do.
  4. IVLimitationsWhere the model is weakest, what Health denial does, what syncs, and what deletion really removes.
  5. VQuestionsThresholds, missing workouts, pool swims, strength work, the Mac build, the coach feature that is not here yet.
  6. VIChangelogShort, because there is one release.
  7. VIISupportHow to get a useful answer quickly.
  8. VIIIPrivacyThe exact list of Health types read, and nothing beyond it.
  9. IXTermsIncluding the part where this is not a medical device.

Next: the model. If you read only one other page, read that one — everything the app prescribes falls out of it.

Also in this notebook: a week worked through, what the watch does, where this is weakest, questions, the changelog, support, privacy and terms.

© 2026 Oshi Lab · contact@oshi-messenger.com