Yann Villellas
HomeAboutProjectsContact
HomeAboutProjectsContact
Back

Open Endurance Coach

Self-hosted AI coaching system that turns training telemetry into LLM-validated workout adjustments, gated by explicit athlete approval. Built with Python, SQLite, Pydantic, and Typer.

Terminal chat with the coach

Terminal chat with the coach

Open Endurance Coach is a self-hosted, AI-driven coaching system that turns raw telemetry from Intervals.icu into validated training decisions. It combines a strict LLM analysis pipeline with Joe Friel's periodization principles and Andrew Coggan's power analytics to compare executed training against planned targets and current readiness.

The daily interface is a terminal chat. Free text triggers a fresh analysis when needed or answers conversationally from a cached data snapshot. Every calendar change is drafted under a strict schema and proposed to the athlete with the exact plan. Nothing is written to Intervals.icu without a literal yes.

The result is a coaching loop where the athlete controls every write. Invalid LLM output is retried and rejected, creates resolve by name and date, and a workout-only category guard ensures races and non-workout events are never touched. The same engine is exposed as a one-shot CLI with dry-run defaults for automation.

PythonSQLite
Source

© 2026 Yann Villellas. All rights reserved.