{"repo":"openathleteorg/openathlete","free":true,"listed":false,"github":"https://github.com/openathleteorg/openathlete","clone":"git clone https://github.com/openathleteorg/openathlete.git","description":"The open-source European alternative to TrainingPeaks. Self-hostable endurance training platform. Your data stays yours.","language":"TypeScript","stars":65,"topics":["ai","cycling","docker","nestjs","privacy","quantified-self","react","running","self-hosted","sports-analytics"],"license":"AGPL-3.0","category":"self-hosted-apps","readme_excerpt":"OpenAthlete The ethical European alternative to TrainingPeaks and Strava. OpenAthlete is open source under the AGPLv3, built so you can own your training data: self-host, export, and avoid vendor lock-in. Core hosting and processing are oriented toward the European Union with GDPR-minded defaults. Learn more » Discord · Website · Documentation · API Docs · Issues About the Project Training infrastructure that respects athletes Endurance athletes feed years of intimate training data into proprietary U.S. platforms such as TrainingPeaks, Strava, and Garmin Connect, with little practical say in how that data is processed, monetized, or retained. OpenAthlete is a different proposition: comparable tracking and analysis in an open-source stack, hosted in the EU when you use managed infrastructure, self-hostable when you prefer your own hardware, and with training-load logic you can read and adapt in the repository. It is maintained by an ultra-trail runner based in Grenoble. Key Features - 🇪🇺 EU-Hosted & GDPR-Native — Data processed in the European Union - 🔒 You Own Your Data — Self-hostable, full export, no lock-in - 🔍 Transparent Algorithms — Training load formulas (CTL/ATL/TSB) are in the code, auditable, customizable - 📊 Comprehensive Tracking — Workouts, fitness/fatigue/form metrics, progression visualizations - 🔗 Device Integrations — Strava, Garmin, Suunto, Polar, Coros - 📱 Mobile Apps — Native iOS (TestFlight), Android coming - 🤖 AI Assistance — Modest helpers for s","default_branch":null,"files":null,"tree":[],"storefront":"/r/openathleteorg","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/openathleteorg/openathlete/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}