Overview
Pick All time, a year or a month and every widget follows: distance per period, trailing kilometers, pace against distance, streaks, a weekly heatmap and personal records. Light, dark or System theme.
Every run you've ever done, charted.
A self-hosted running dashboard for your Garmin history. It caches your runs in SQLite and draws them with D3: per-run heart rate zones, wellness data, Strava gear, weather and terrain maps.
The charts are not pictures. Most of the value is in moving the pointer over them.
Pick All time, a year or a month and every widget follows: distance per period, trailing kilometers, pace against distance, streaks, a weekly heatmap and personal records. Light, dark or System theme.
Everything about one run: weather, gear, a VDOT performance index with an estimated finish time, notables, workout steps, a pace variability wheel, heart rate zones and one shared cursor across the route map and charts.
A full-page map of one run, coloured by pace, heart rate, grade or cadence. Click a bar to isolate a bucket, or pick the fastest segments and splits.
Is your fitness going up? A fitted trend through your best runs, the change in VDOT per week, and an optional overlay of resting HR, HRV or sleep.
Every run by distance and pace, your all-time best at each benchmark distance, the PRs you can beat next, and the next round time below each PR.
Garmin health data for your whole history on one timeline and one hover cursor: resting HR, HRV, sleep, Body Battery, stress and weight.
Your weekly training time stacked by pace, heart rate or grade. It answers how much of your running was actually easy.
Your Strava shoes, read-only: runs, distance and last used per pair, with distance per month and over time.
Monthly and yearly distance goals with a direct path, the distance needed per day and a catch-up line when you fall behind.
Chartlek runs on your own machine. Everything lives in SQLite on your disk. It only reads from Garmin and Strava and never writes back, and there is no analytics.
You need Ruby 4.0.9 and SQLite, plus your own Garmin Personal API key. Then:
bin/setup
The README has the environment variables and the first run.
Chartlek is a personal project. There is no hosted version and there won't be one: you run it yourself, at your own risk, and keep your keys and health data safe. It has no authentication, so keep it on a private network. Read more.