refrain

Running · Strength · Swimming

Written for the body you woke up in.

Refrain reads last night's sleep, this morning's heart-rate variability and the weeks of training behind you, then writes one workout for today. A rules engine does the sports science. The coach does the talking.

Invite-only. Built for one athlete, then a few more.

Friday 24 July

Readiness is strong today — 79.7 with solid sleep and load components.

Sleep
78
HRV
46.5ms
Readiness
79.7

Read the rest of this note

One week of it

One engine. Whatever shape you are in.

Each of these seven mornings was written on the day it was due, from that morning's readiness. Nothing was planned in advance, and the week has a shape anyway, because the phase and the schedule give it one. The coach was handed the score, never the raw numbers.

Every day carries the readiness it was written from. Pick one to read it in full.

Thursday 23 July

83.7

Readiness

75 min · strength

Readiness is 83.7 — that's a great number, Sam.
The coach receives these, not your raw data
Sleep score
82
HRV
48.5ms
Resting HR
50bpm
Reported energy
4 of 5

main

Tick one off to see what Sam logged

  • Barbell Back Squat 4 × 6-8 RPE 7 — 2-3 reps in the tank every set
  • Dumbbell Romanian Deadlift 3 × 10-12 RPE 6-7 — moderate load, feel the hamstrings load at the bottom
  • Barbell Row (overhand, hip-hinge) 3 × 8-10 RPE 6-7 Ask to swap this
  • Dumbbell Walking Lunge 3 × 10 each leg Moderate — RPE 6
  • McGill Bird Dog 3 × 5-3-1 x 10s holds each side Controlled — no RPE, this is spinal health work
  • McGill Modified Curl-Up 3 × 5-3-1 x 10s holds Controlled
  • Dead Bug 3 × 6 each side Slow and deliberate

When you push back

It changes the plan. After it asks.

A real exchange with the coach about the Thursday session. Send the messages and watch what happens: it does not swap anything until it knows what kind of pain it is dealing with, and it does not write the change until you accept it.

The session is written. Sam has a question about it.

A recorded exchange, replayed. Your clicks change this page only.

Two jobs, kept separate

A sports scientist and a coach, not one thing pretending.

The rules engine is the sports scientist. It is ordinary code, and it never improvises. Training principles are written into it: acute versus chronic load, volume landmarks, interference between hard running and hard lifting, deload timing, how much a bad night of sleep should actually cost you. Given the same inputs it returns the same answer, every time, and it can show its working.

The coach is the language model. It never sees your raw wearable feed. It gets the score, the five components behind it, your phase, your constraints and your history, and it writes the session and talks to you about it. It can be asked to change its mind. It cannot change the arithmetic.

That split is the whole design. A model left to do both invents numbers; a rules engine left to do both cannot hold a conversation.

Across the mornings above, the same engine produced scores from 21.9 to 91.1.

To be exact about what "baked in" means: the principles are encoded as rules and a small set of reviewed knowledge cards, written from the literature by hand. The engine does not read papers, and there is no citation behind any individual number it gives you. That is the direction, not the current state.

Readiness components 83.7
HRV
77.6
Sleep
79.2
Load
87.5
Subjective
87.5
Injury
100

On the record

What you cannot verify from here.

Sam is not real. The coaching is.

"Sam" is synthetic, and so are the 31 days of wearable readings and the check-ins behind these mornings. Everything downstream is real: the readiness scores were computed by the rules engine, and the 8 sessions and 127 prescribed movements were written by the production coach through the production pipeline, with the same prompts and the same safety guards.

A launch page is not a place to publish a real person's health record, so we publish the engine's behaviour instead of an athlete's history. You are taking our word that the pipeline was not special-cased for this page.

The same inputs will not produce the same words twice.

The synthetic inputs are seeded and reproducible. The coach is a language model, so regenerating this pack produces different prose and a different session from identical inputs. An earlier run of these exact three mornings prescribed a different set of movements.

What is stable is the shape of the decision: low readiness pulls the session back, high readiness spends it. That is the engine, not the wording.

One of these mornings was caught by a guard, once.

After the coach writes a session, a deterministic compliance check re-reads it against the constraints on file. On an earlier run of the depleted morning it rejected a movement that loaded the spine while back pain was flagged. On the run published here it flagged nothing, which is why you see no warning above.

We mention the earlier catch because a guard that has never visibly fired is indistinguishable from a guard that is not running.

This is not a product you can buy.

Refrain is invite-only and runs for a handful of people. There is no signup, no billing and no App Store listing. Nothing on this page is a claim about serving anyone at scale, because it has not.

The figures above describe one athlete's three mornings as of Friday 24 July. They are not averages, and they are not a study.

The part that returns.

A refrain is the line a song comes back to each verse. That is the product: the page you reopen every morning.

Open the app
refrain Invite-only · refrain.coach