How it's built

Six agents run this. Five are scheduled Claude agents that each own one job and talk to each other through Notion. The sixth is plain code. It's the only thing allowed to text me, and it checks every plan against my rules before it does. What I train today is what tomorrow's plan is built from.

Grounding over prompting. Before the planner writes anything it reads my Athlete File. Working weights, injury rules, where I am in the block. A second agent rescans my logs every Sunday to keep that file true. Most of the quality came from fixing the inputs, not the prompt.

The model proposes, code disposes. The model is probabilistic. Code isn't. So every behavior lives on one side of that line.

The model decides (probabilistic)Code decides (deterministic)
Which split tomorrow is, and whyWhether a PR attempt is inside its dated window. Fails closed
The coach's read of my last sessionWhether a briefing for that date already went out
Which movement fills each required pattern slotWhether every required slot is filled, and restores it if not
What the weekly recap says went wellEvery number in it: counts, percentages, first-to-last changes
Whether a day is a rest dayThe rest-day message itself, three lines from the block clock
Whether a program change is worth proposingWhether that proposal changes anything, and whether it's arithmetic that should have applied itself

Three ways that plays out. Code owns the output (rest days). Code checks the model's output at the boundary and bounces it with a reason the model can fix (the weekly recap). The model does the thinking the night before and code serves it instantly (the Swap buttons).

Tested like software. 24 eval scenarios, each rebuilt from a real mistake. They run before any prompt or model change ships. They taught me something early. Production failed on things the tests never touched, like stale data and duplicate sends. So the code guards outrank the evals.

What it isn't. One athlete, me. No medical judgment. A physical therapist set the knee rules and the system enforces them on the days I wouldn't. The demo on the front page is 80 pregenerated sessions, nothing live.

daily since May 2026 · one briefing per evening, about eight minutes of agent time · no per-plan API cost, it runs on a flat Claude plan · 24 eval scenarios
stack: Claude scheduled agents · Notion · Cloudflare Workers · Telegram · Vercel