How Evercoach keeps you safe
A prompt is advice. We wanted enforcement.
Almost every coaching product built on a language model keeps you safe by asking the model nicely. The instruction goes in at the top of the conversation, and everything after that depends on the model still paying attention to it forty messages later.
We did not want to depend on that, so the safety rules here are not in the prompt at all. They are a plain table of restrictions, kept separately, that every generated plan is checked against after it has been written and before you are allowed to see it. The coach is told about them too, so its first attempt is usually right - but being told is not what makes it safe. Being checked is.
What happens when you tell it something
- 01
It is written down, in your words
Say your shoulder has been bad since Tuesday and that becomes a record on your profile rather than a line in a conversation. You can read it, and you can take it off.
- 02
It turns into specific restrictions
The region maps to a fixed set of restrictions in a table that a physiotherapist could read and disagree with. Nothing about that step involves a model.
- 03
Every plan is checked against them
Not the plan the coach intended - the plan it actually produced. Anything that breaks a restriction sends the whole plan back to be written again.
- 04
A plan that still breaks one never reaches you
There is no version of this where a blocked plan is shown with a warning on it. It does not arrive.
What a restriction actually is
These are the real entries, not an illustration of them. Effort is on a ten-point scale, where ten is a set you could not have added another rep to.
| If this is hurting | These come out | Effort capped at |
|---|---|---|
| Lower back | Bending at the hip under load - deadlifts, RDLs, good mornings. Curling the spine under load - sit-ups and weighted twists. Jumping and landing. | 7 / 10 |
| Shoulder | Anything finishing above your head. Pressing upward. Pressing away from your chest - bench, dips, press-ups. Jumping and landing. | 6 / 10 |
| Knee | Squatting under load. Split-stance work - lunges, step-ups, split squats. Jumping and landing. Running. | 6 / 10 |
| Ankle | Jumping and landing. Running. Split-stance work. | 6 / 10 |
| Wrist | Carrying heavy things. Pressing away from your chest. Jumping and landing. | 7 / 10 |
| Neck | Anything finishing above your head. Pressing upward. Curling the spine under load. | 6 / 10 |
And the same for conditions rather than injuries
- Pregnancy
- No lying flat or deep abdominal work, no high-impact work, effort capped at 7.
- Postpartum
- No direct abdominal flexion, effort capped at 7, and week-to-week increases capped at 5%.
- A cardiac condition
- Heart rate capped at 140, no hard intervals without medical sign-off, effort capped at 6.
- High blood pressure
- No heavy loaded carries, effort capped at 7.
- Osteoporosis
- No loaded spinal flexion, no high-impact work, effort capped at 7.
- Recent surgery
- Effort capped at 5, the week capped at 150 minutes, and at least three rest days.
- A history of disordered eating
- The week capped at 300 minutes and at least two rest days - and rest days are part of the plan, not a gap in it.
Restrictions stack, and the strictest number always wins. A sore knee and a cardiac condition together is not an average of the two.
Some things are not a coaching problem
Every message you send is screened before the coach ever sees it. When one of these comes up, the coach stops planning and answers from a fixed, reviewed script - it does not improvise, and it does not carry on with your week as though nothing was said.
- Chest pain or breathlessness
- Fainting or blacking out
- An injury that needs looking at
- Signs of disordered eating
- Self-harm
- A complication in pregnancy
- Asking it to diagnose you
- Asking it about performance-enhancing drugs
Two of them, word for word
Stop what you are doing. Chest pain and breathlessness are not things I can help with, and they need looking at now - call 999, or 111 if you are unsure. I am not going to plan anything until you have.
I am not the right help for this, and I do not want to give you a plan that makes it harder. Beat has a free helpline on 0808 801 0677 and they are genuinely good. I am still here for training when you want me.
These are UK numbers, because that is where members are today. They need a regional version before Evercoach launches anywhere else, and hard-coding 999 for somebody in another country would be worse than useless.
What happens to what you tell it
Health-bearing messages never go to a cheaper model.
Coaching costs money to run, and there is a routine temptation to send cheap conversations to a cheaper model. Anything touching your health is excluded from that, at every tier and past every usage threshold. It is asserted in the test suite rather than promised in a policy, which means it fails a build rather than failing you.
Restrictions are worked out on the server, every time.
The app renders the answer; it never reaches it. There is no version of the app, and no state it can get into, where it decides for itself what you are allowed to be prescribed.
The rules are tested as a specification.
The tests here describe what must be true rather than covering lines of code, and weakening one to make a change pass is not allowed. It is written down as a rule for anybody working on this, including future me.
You can take all of it with you.
Export is on the free tier. Withholding your own history to force a renewal is not a business model, and health information least of all.
Evercoach is a coaching product, not a medical device. It does not diagnose, treat, prevent or cure anything, and it is not a substitute for advice from a doctor or a physiotherapist. It coaches inside restrictions a clinician has given you - it does not decide what those restrictions should be, and it will not tell you when you are ready to load something again. If something needs a real assessment, it says so instead of programming around it.
It takes five minutes to be understood.
iPhone, November. Free tier, no card. One email when it opens.