Invite only

A coach,
not a chatbot.

It reads your power files, decides what today is, and writes the workout to your head unit. You talk to it in Telegram.

Open in Telegram

Every athlete is approved by hand. Say hello and you get a code.

Coach · 07:02 Sweet spot today. 2×20 at 92%, 75 minutes door to door. You're fresh enough and the last hard day was Thursday.
You · 07:04 ok
Coach · 07:04 It's on the ELEMNT and in Zwift under Custom.

It owns the plan

Not advice sitting next to someone else's training plan. It builds the week, places the recovery, and tapers into the event you named.

It picks from a library, never freehand

Twenty-three workouts, each with a stated purpose. The model turns the dials — reps, duration, intensity — and a validator checks the result before it goes anywhere. A model writing intervals freely eventually prescribes 4×20 at VO2max the day after a race, and nobody reviews every one of them.

It reaches the hardware

One integration: intervals.icu. A confirmed workout lands on a Wahoo ELEMNT and in Zwift's custom workouts, so it's waiting for you when you clip in. Nothing is written to your calendar without an explicit yes.

It doesn't invent numbers

Every figure it says out loud came from a tool that read it. Gym loads are computed from your own log by a progression rule, not guessed. A dish it doesn't recognise comes back as a question rather than as zeros.

Food, only if you ask for it

The day's target is computed from the day's training: a hard session is fuelled in full, the deficit is spent on the easy days, and intake never drops below your BMR — those are refusals in code, not promises. It reports what you ate against the target. It never comments on your body.

It messages you twice a day

Morning and evening, at the hours you choose. It doesn't check in, it doesn't ask how the legs are, and it doesn't follow up on a conversation that ended. A coach you mute is no use at 08:00 when it has something real to say.