There is exactly one released version of Trainora, and it is 1.0. I am not going to pad this page with invented point releases to make the project look busier than it is.
Reads
Apple Health, read-onlyWorkouts, heart rate, resting heart rate, heart-rate variability and walking/running distance. Never writes. Six sports recognised.
Scores
Three load estimatorsPower, heart rate, or perceived effort — whichever the session's data supports, with the chosen method recorded on the session so history stays auditable.
Models
Fitness, fatigue, formTwo exponentially weighted averages at 42 and 7 days, recomputed from full history, each figure carrying a confidence derived from how much of your training the model has seen.
Explains
Every number is tappableWhat it is, how it is worked out, how sure it is, how many days it stands on, how many more would raise it — and what it cannot tell you.
Plans
Four-week blocksGenerated from your sport, your available days and a race if you have one; from the second block onward, from your own recorded volume. Three weeks up, one down.
Adjusts
At most one suggestionA session inside a period you declared unavailable, or a key session that passed unrecorded. Accepted or declined by you, undoable, and a decline is remembered.
Builds
A session editorWarm-up, effort, recovery, cool-down, repeat blocks, open-ended steps, undo — and strength work with sets, reps, weight, reps in reserve and tempo.
Sends
Sessions to Apple WatchThrough WorkoutKit, with everything that could not be translated reported to you at the moment you send it.
Imports
.tcx and .gpxPlus manual session entry, and restoring a Trainora JSON archive.
Keeps
Everything on the deviceNo account, no analytics, no server. Optional iCloud sync into your own private database. Export and delete, both one action.
Speaks
English and FrenchCompletely, including the notification text.
Two things were built, tested, and then held back from 1.0 rather than shipped half-working. I am listing them here because the alternative — leaving them visible and inert — is how an app ends up with controls that cannot complete their purpose.
The app's marketing version is 1.0 and its build stamp is 202609151116 — builds are numbered by the minute they were cut, which is how build six carries a September 2026 timestamp on a version-one release. There are no release tags in the app's repository, so if you were expecting a list of 1.0.1, 1.0.2 and 1.1 below, there is nothing to list. When there is, it will appear here.