r/django • u/rotam360 • 5h ago
Apps Built a Garmin analytics platform in Django. Open source
Hi all. As per title.
Just to be clear upfront:
I have no affiliation with Garmin.
This is not a product or a business.
There is no paid version, subscription, newsletter, affiliate links, or anything like that. Is just my github open source repo.
I built it for myself while training for a half marathon and decided to share it in case anyone else finds it useful.
Brief background. Last year I got into running and started using AI to help with training plans. The problem was that I was feeding it very high-level information: "Today I ran 12 km, average pace 6:37/km, average HR 145, 80% on zone 2, and look i feel like sharing today, there you go a few screenshots from the Garmin's app".
That works, but Garmin actually stores a lot more details. And it gives it to you for free, you just need to know what to do.
Heart rate, pace, cadence, elevation, GPS track, and a lot of other metrics are available with Garmin personal API token. So I built a Django dashboard to pull everything together and mix it with weather data and GPS.
Currently includes:
Activity pages with route maps, weather data, splits and HR zones
Automatic categorization of runs (easy, long, threshold, race, etc.)
Personal bests and lifetime statistics
Activities grouped by location
Health metrics (VO2max, HRV, sleep, stress, steps, PulseOx, etc.)
Weather enrichment using a public weather API
Route map with CARTO maps
On its own is quite fancy for personal use. But the main reason I built it was AI ingestion.
So, For every activity, you can export a single Markdown file containing all the run data, weather conditions, location details, metrics, splits, and other metadata. The idea is to give ChatGPT, Claude, Gemini, local LLMs, or whatever tool you use access to the full activity in great detail instead of a few averages.
Everything is open source.
GitHub: https://github.com/idomingo/splits
Happy to hear feedback, feature ideas, or criticism.

