Skip to content

m15flores/runalytics

Repository files navigation

Runalytics

CI - activity-service CI - activity-normalizer CI - metrics-engine CI - report-generator CI - ai-coach

AI-powered running training analysis platform. Parses FIT files from Garmin devices, calculates training metrics, generates weekly reports, and produces coaching recommendations using GPT-4o.

Fully event-driven — all communication between services happens through Apache Kafka.


Requirements

  • Docker >= 24
  • Docker Compose >= 2.0
  • Java 17
  • Maven >= 3.9

Project structure

runalytics/
├── activity-service/       # Ingests raw FIT files via REST, publishes to Kafka
├── activity-normalizer/    # Parses FIT files, extracts structured data
├── metrics-engine/         # Calculates training metrics (pace, HR zones, cadence)
├── report-generator/       # Generates weekly markdown training reports
├── ai-coach/               # Generates AI coaching recommendations via GPT-4o
├── docker-compose.yml
└── README.md

Run locally

docker compose up

Requires an .env file at the root with OPENAI_API_KEY. See .env.example.

About

Runalitycs project.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages