The AI Coach
Incredible has a coach you can talk to about your own training. Unlike a chat window bolted onto an app, it does things rather than only describing them: tell it your knee is sore and it rebuilds the week, ask it to move Thursday's session to Saturday and it moves it, ask for a workout and it can put one on your watch. Nothing changes until you tap a card showing exactly what will happen.
It is off until you turn it on, and it is the only part of the app that sends your data to a server. I wanted it running on your phone instead. It is not there yet, and this page says honestly why.
It is off until you turn it on
Nothing can be sent until you tap Turn On Coach. If you never tap it, nothing changes and your data stays on your phone. How the switch works
Why it is free
Three things together. I was given a generous startup grant of credits to run it on. The coach uses a smaller, cheaper model rather than the best one money can buy. And the app puts a ceiling on how much any one person can use it.
Even someone who hits that ceiling every single week costs very little to serve. That is what lets the grant stretch across a lot of people, and it is why the coach is not behind a subscription.
Everything else in the app is free and stays free. The coach is the one part I cannot promise, because it runs on a model that costs money every time you use it.
Why not Apple's own models
Apple builds models of its own, and I wanted to use them. So I tested one across ten different setups against the OpenAI model I ended up using.
It kept making the same kind of mistake: taking a number that belonged to one thing and describing it as belonging to another. Here is one example of that, because it is easy to check.
Incredible gives each day a training load score, and a target range to keep it inside. On the day in the test, the screen showed a load of 70 against a target of 46 to 66, so the day was above target. It also showed that the one strength session that day had scored 61 on its own.
Apple's model looked at that and wrote: "load at 61 pushed above your 46-66 target."
That is wrong twice. It used the session's score, 61, when the day's score was 70. And it called 61 above a range that runs up to 66, when 61 is inside it. The rule that a number inside a range is never above it was written into that model's instructions word for word.
In Apple's favour: it picked the right tool every time, and it was faster.
The test was also not fair to Apple. I asked a small set of questions. The instructions both models worked from had been tuned against the other model for months. The answers were marked by a judge I wrote myself. And I am not quoting any scores, because I later found what may be a counting error in my own comparison. So what I can honestly say is that I could not get Apple's model to do this job. I cannot say the model is unable to do it. The whole evaluation
What I am waiting for is Apple. When a stronger Apple model is good enough for this job, the coach can run on your phone or on Apple's private servers instead. Then it costs nothing to run, so it is simply free, and your training data stops leaving your phone at all. That is the ambition.
What leaves your phone
Four things go to the server: the conversation so far, a summary of your training, a written version of what is on your screen, and the notes the coach keeps about you.
Incredible has no accounts. No name, no email address, no sign up anywhere in the app, so there is nothing for any of this to be attached to. It travels with a random id your phone invents instead, and Delete All Data throws that id away and starts a new one.
That gets it close to anonymous, though not completely. The id stays the same until you reset it, so anything sent under it can be tied together as coming from one person, and my server can see the internet address you connect from, as any website can. Neither is your identity, but neither is nothing. Field by field
Who runs the model
My server runs on machines in Frankfurt. It passes your message on through a gateway that is only allowed to use providers under zero data retention agreements. Today that is Microsoft Azure, serving OpenAI's model.
Nothing you write is kept anywhere: not by my server, not by the gateway, not by the provider. A request is processed and it is gone, which also means there is nothing out there for a delete button to miss. Who sees what