OpenGym: Own Your Workout Data

A self-hosted gym and body-weight tracker with routines, workout logs, progress charts, and data imports. Optional AI coaching sits on top of a useful product.

I like software that solves an ordinary problem while leaving the user in control of the data. OpenGym applies that idea to workout tracking: plan routines, log sets and body weight, and see how training changes over time.

Duarte Santos’s project runs on your own server with Docker and also offers an Android app. It supports guided workouts, progress charts, passkey sign-in, and imports from FitNotes, Strong, and Hevy. Data can be exported as JSON. Those basics matter because a fitness tracker becomes more useful as the history accumulates, and moving that history should remain possible.

There is also an optional AI coach, disabled by default, that drafts routines and suggests changes for the user to approve. It uses your configured model provider. A separate, read-only MCP server can expose training history to an assistant. I find that layering interesting: the core product already has structured records and a clear workflow, giving an assistant something concrete to work with.

OpenGym is AGPL-3.0 licensed and has published releases, including v1.4.1. The latest release includes fixes for phone animations, updates, and imports, so I would still test the everyday logging and restore path before relying on it. Self-hosting means taking responsibility for updates, backups, and access. My first check would be simple: log a week, export it, and confirm the history survives the move.

Written by Adib Kadir. Personal notes on software, AI, and building things.

About the author