Repolode
vanalmsick

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. 1

    Give it a quick try with Docker

    docker run -p 80:80 -e ALLOW_ALL_HOSTS=true vanalmsick/workout_challenge
  2. 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

Open-source Product Information Management (PIM) and Digital Asset Management (DAM) platform built on Laravel for managing and enriching product data.

Productivity & Apps#pim#dam#product-information-management
11.1K+10 this week190PHPMITWell maintainedUpdated 21 hours ago