A self-hosted, open-source dashboard that turns your Strava or uploaded FIT/TCX/GPX activity files into stats, charts and gear tracking.
vanalmsick/workout_challenge
A self-hosted web app for running fitness challenges among friends or coworkers, with custom metrics and optional Strava import.
Open-source alternative to:Strava
- Stars
- 153
- Forks
- 11
- Open issues
- 2
- Last commit
- 24 hours ago
What is it?
Workout Challenge is a self-hosted web app for running fitness competitions among friends, family or co-workers. Organizers create a competition and set one or more goals using metrics such as minutes, number of sessions, kilometers, kilocalories or kilojoules, over a day, week, month or the whole competition. Participants join through an invitation link, then log workouts and steps manually or link a Strava account for automatic import. Each 1% of progress toward a goal earns one point, and optional caps and floors on points per workout, day or week keep the competition focused on consistency.
Each participant gets a personal dashboard with workout stats and a streak, while competition dashboards show friends' activity, leaderboards and progress toward goals. The app sends a weekly leaderboard email on Mondays and an optional weekly progress email on Thursdays. The web interface and emails are responsive, and the site supports light and dark modes.
The stack is React on the frontend and Django with a REST API on the backend, backed by PostgreSQL, Redis, Celery and Celery Beat for scheduled tasks. It runs as a single Docker container, and it can fall back to SQLite for quick local testing.
Key features
- 01Create competitions or join through an invitation link.
- 02Set goals in minutes, counts, km, kcal or kJ over a day, week, month or the whole competition.
- 03Import workouts automatically from Strava or enter them manually.
- 04Apply min and max limits per workout, day or week to shape points.
- 05Leaderboards, friend activity and progress dashboards for each competition.
- 06Weekly leaderboard and progress emails, with responsive layouts and dark mode.
Use cases
- A company running a September step challenge among colleagues.
- Friends competing on weekly exercise minutes or workout counts.
- A family or club that wants a private, self-hosted leaderboard instead of a public social fitness app.
- Groups that want to reward consistency by capping daily or weekly points.
Quick start
- 1
Give it a quick try with Docker
docker run -p 80:80 -e ALLOW_ALL_HOSTS=true vanalmsick/workout_challenge - 2
Or deploy in production with docker compose using the README's docker-compose.yml
docker compose -f /path/to/docker-compose.yml up
Things to know
- Full production setup needs PostgreSQL, Strava API credentials and SMTP settings for emails.
- Strava import is limited by Strava API rate limits unless you join their developer program.
- Self-hosting requires configuring several environment variables and secrets.
In collections
Topics
FAQ
- What is workout_challenge?
- A self-hosted web app for running fitness challenges among friends or coworkers, with custom metrics and optional Strava import. Workout Challenge is a self-hosted web app for running fitness competitions among friends, family or co-workers. Organizers create a competition and set one or more goals using metrics such as minutes, number of sessions, kilometers, kilocalories or kilojoules, over a day, week, month or the whole competition. Participants join through an invitation link, then log workouts and steps manually or link a Strava account for automatic import. Each 1% of progress toward a goal earns one point, and optional caps and floors on points per workout, day or week keep the competition focused on consistency.
- Is workout_challenge free to use? What license does it have?
- workout_challenge is open source under the Other license. Check the license terms before using it in commercial products.
- Is workout_challenge still maintained?
- Actively maintained. The last commit to workout_challenge was on Nov 6, 2026.
- What can I use workout_challenge for?
- A company running a September step challenge among colleagues. Friends competing on weekly exercise minutes or workout counts. A family or club that wants a private, self-hosted leaderboard instead of a public social fitness app. Groups that want to reward consistency by capping daily or weekly points.
- How do I install workout_challenge?
- Give it a quick try with Docker: docker run -p 80:80 -e ALLOW_ALL_HOSTS=true vanalmsick/workout_challenge Or deploy in production with docker compose using the README's docker-compose.yml: docker compose -f /path/to/docker-compose.yml up
- Where can I get workout_challenge?
- The source code and installation instructions are on GitHub: https://github.com/vanalmsick/workout_challenge
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Self-hosted, open-source workout, nutrition and body weight tracker built on Django, with a REST API and companion mobile apps.
A self-hosted fitness tracking service for syncing and analyzing activities from Strava, Garmin Connect, and GPX/TCX/FIT files, with data kept on your own server.
A self-hosted gym and body-weight tracker for planning routines, logging sets, and keeping workout data on your own server.
Open-source Product Information Management (PIM) and Digital Asset Management (DAM) platform built on Laravel for managing and enriching product data.
A self-hosted web app for tracking outdoor workouts imported from GPX and other activity files, with data kept on your own server.