An AI running coach you text every day. It connects to Strava (with optional Garmin wellness data), watches your training as it syncs, builds and adapts a plan around a race goal, and remembers what matters across days — a coach that happens to see all your data, not a dashboard.
- Go 1.26, Gin HTTP server
- Anthropic Claude via
anthropic-sdk-go, agent loop on Google ADK - PostgreSQL 18, sqlc queries, goose migrations
- templ + HTMX + SSE, styled with Tailwind/DaisyUI and Lucide icons
- OpenTelemetry for tracing and metrics
The whole stack runs under Docker Compose (app + Postgres; migrations run on
startup), serving on port 8080:
docker compose up --buildYou'll need a Strava API application and an Anthropic API key, supplied via
environment (Compose reads a local .env; never commit secrets). Code generation
(sqlc, templ, the Strava client) is driven by the Makefile.
docs/architecture.md— how the system is built todaydocs/schema.md— database schema and relationshipsdocs/brief.md— original design rationale and decision log


