A custom leaderboard tracker for my friend group’s Strava-based run/walk/hike competitions. Since Strava’s leaderboard resets weekly, this tool allows us to define a custom competition period (e.g., May 1–Aug 1) and automatically calculate total activity stats over that range, eliminating manual tracking.
-
Install the Python dependencies:
pip install -r backend/requirements.txt
-
Copy
.env.exampleto.envand provide your Strava access token. -
Ensure
data/friends_data.csvcontains your friends' distances in a pivot format (columns are friend names, rows are distances for each day). -
Start the Flask server:
python backend/app.py
GET /leaderboard– totals from the CSV file only.GET /combined– the CSV totals plus your own Strava activity totals.