Helios

A personal cycling coach that
actually reads your data.

Strava on the left, Oura on the right, Claude in the middle. Helios watches your training and prescribes the next workout — not from a template, from your numbers.

What you see when you wake up

A coach that knows what you did yesterday

Helios pulls Strava, Oura, and HealthKit on a schedule. The dashboard collapses three apps into one — readiness, today's prescribed effort, and where you sit on your training plan.

Readiness · today
82
Sleep
7h 41m · 92%
HRV avg
62 ms
Resting HR
48 bpm
Body temp Δ
+0.04 °C
Today's plan
Threshold 3×10

60 min · target 215–220 W · IF 0.93. Long-ride yesterday was 65 TSS; readiness supports a quality day.

threshold · 60 min
Training load · CTL/ATL/TSB
68
CTL
74
ATL
–6
TSB
7-day TSS spark

Numbers, with context

Where your fitness actually is

A Kalman-smoothed FTP estimator that doesn't flinch on a bad day. A power-duration curve drawn from every Strava ride with a power meter. Body composition, training load, recovery — all in one view.

Power curve · 90 d

Best mean-maximal Watts across every Strava ride with a power meter.

FTP estimate · 90 d

Kalman state-space estimator with reactive process noise. Reads honest, not noisy.

The party trick

Paste any Strava route, see your time

A real physics model (grade-aware power policy, Newton-Raphson solver for v at every segment) projects your completion time on any route you can paste. What-if sliders for FTP, weight, position, and headwind. Up to three friends saved as comparison riders.

The coach itself

Built around Claude

Helios exposes an MCP server. Your conversations with Claude reach into the same data the dashboard renders — past sessions, current zones, recent adjustments. The coach writes back too: prescribed workouts, decisions, and audit notes the next session can read.

Coach memory · last update 3 h ago
Current focus
  Sweet-spot block (week 2 of 4). Target: hold 220 W avg
  on Wednesday's 3×15 set without RPE creeping past 7.

Recent observations
  - Sun ride solid (NP 198 W, IF 0.88) — recovery on Mon
    was strong, executing the build.
  - HRV slid -8% on Tue → moved VO2 from Wed → Fri.

Decisions
  - 2026-05-21: bumped Thursday's z2 to 75 min after
    SS day landed lighter than prescribed.

Auto-imported (pending coach review)
  - 2026-05-24 · cycling · 50 min · TSS 47 · NP 197 W
MCP tools the coach reaches for
  • get_athlete_context — profile, zones, goals, plan, recent sessions
  • get_ftp_estimate — Kalman posterior + 14-day projection
  • estimate_route_time — what time would I do on this Strava route
  • prescribe_workout — write tomorrow's session into the plan
  • log_coach_note — leave a breadcrumb the next chat will read