Trainora VI · Changelog

One version

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.

Version 1.0 · the first release
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.
Cut before release, on purpose

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.

Coach sharing
An athlete can open their training to a coach through a share on their own iCloud zone. The athlete half is finished and verified against real iCloud. The coach's half is a Mac app that has not been submitted, which means an invitation would be one nobody could accept. The whole feature is withheld — the transport as well as the button, so nothing is published to iCloud for a relationship that cannot exist. It is a flag away when the Mac app ships.
The two coach cards on the profile screen
Follow from the above. They are gated on there actually being a link or a share, rather than sitting there doing nothing.
Where this page's facts come from

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.

Next: support — what to send me so that the first reply is a useful one.

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

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