Skip to content

Agentic, CLI-first Running Coach & Analysis Tool with Web-UI

Notifications You must be signed in to change notification settings

MisterXY89/pace.maker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pace.Maker

An AI-powered training companion that syncs with Strava, analyzes your training (run, cycle, strength), and provides personalized coaching advice.

Features

  • Multi-Sport Sync - Sync Runs, Rides, Swims, Yoga, and Strength from Strava
  • CLI First - Full functionality via terminal with pm shortcut
  • Training Analytics - Fitness curves (CTL/ATL), Stress Balance (TSB), Efficiency Trends
  • Adaptive Planning - Generates plans with integrated strength sessions
  • Injury Risk Assessment - Circular gauge visualization of risk
  • AI Coach Chat - Talk to an experienced coach about your training
  • Web Dashboard - Beautiful single-file local dashboard

Setup

1. Install Dependencies

cd running-coach
uv sync

2. Configure Environment

Make sure your .env file (in the parent directory) has:

STRAVA_CLIENT_ID=your_client_id
STRAVA_CLIENT_SECRET=your_client_secret
ANTHROPIC_API_KEY=your_anthropic_key

3. Initialize

uv run pm init

This will:

  • Set up your athlete profile
  • Connect to Strava (opens browser for OAuth)
  • Sync your recent activities

Usage

Use the pm shortcut (aliased to python src/main.py) for all commands:

CLI Dashboard & Status

uv run pm status

Shows your TSB, Training Load, Injury Risk, and Recovery status.

Visual Charts

# Fitness curves (CTL/ATL/TSB)
uv run pm charts fitness --days 90

# Weekly volume
uv run pm charts volume --weeks 12

# Aerobic Efficiency Trends (HR vs Pace)
uv run pm charts trends

Web Dashboard

Start the local dashboard (cards for fitness, risk, recent activities):

uv run pm web

Opens at http://localhost:8080

Sync Activities

uv run pm sync
uv run pm sync --days 60  # Sync last 60 days

Log Manual Workouts

Log runs, cycling, strength, or other activities:

uv run pm log 10 54:30                    # 10km run in 54:30
uv run pm log 30 1:15:00 --type cycle     # 30km ride
uv run pm log 0 45:00 --type strength     # Strength training (use 0 for distance)

Training Plans

Create a plan (automatically includes strength sessions):

uv run pm plan create --goal half --date 2026-05-01
uv run pm plan show

Chat with Coach

uv run pm chat

Interactive conversation with your AI coach.

Key Metrics

  • ATL (Fatigue) - Acute Training Load (7-day weighted average)
  • CTL (Fitness) - Chronic Training Load (42-day weighted average)
  • TSB (Form) - Training Stress Balance (CTL - ATL)
  • Cardiac Efficiency - Pace relative to Heart Rate over time

Project Structure

running-coach/
├── src/
│   ├── main.py          # CLI entry point
│   ├── web.py           # Web dashboard server
│   ├── agent.py         # AI coach logic
│   ├── analytics.py     # Training metrics & trends
│   ├── planner.py       # Training plan generator
│   └── ...
├── data/                # Local database
└── pyproject.toml       # Dependencies & shortcuts

About

Agentic, CLI-first Running Coach & Analysis Tool with Web-UI

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages