nicholasg1997
Shorten Space short_description to <=60 chars
3dbabbf

A newer version of the Gradio SDK is available: 6.17.3

Upgrade
metadata
title: STRIDE  Local AI Running Coach
emoji: 🏃
colorFrom: red
colorTo: gray
sdk: gradio
sdk_version: 6.16.0
app_file: app.py
python_version: '3.11'
pinned: false
short_description: AI running coach for your Strava data, with attitude.

🏃 STRIDE — Local AI Running Coach

Turn your running history into a personality-driven coaching report and chat.

  • Deterministic engine (Python) computes the metrics — weekly mileage, pace trends, ACWR training load, and signals — so the numbers are always correct.
  • LLM coach (served via Modal + vLLM) only interprets those numbers in a chosen persona; it never does the arithmetic or invents data.
  • Gradio UI with demo athletes, a stock-ticker mileage chart, and a chat to ask the coach follow-up questions.

Configuration (Space secrets)

Set these under Settings → Variables and secrets:

Secret Purpose
LLM_BASE_URL Modal vLLM endpoint, including /v1
LLM_MODEL model name the endpoint serves (must match exactly)
LLM_API_KEY shared key for the secured endpoint
STRAVA_CLIENT_ID / STRAVA_CLIENT_SECRET / STRAVA_REFRESH_TOKEN optional: default account for the "use my data" path

Demo data needs no secrets — only the four LLM_* values are required for the coach to respond.

Run locally

uv run python app.py