The open-source fitness tracker that respects your data.
Track workouts, share progress, and own every byte β on iOS, Android, and the web.
Modern fitness apps are great at one thing: locking you in.
- π Your data, their servers. Years of workouts, sets, and progress trapped behind paywalls and proprietary exports.
- πΈ Subscriptions for the basics. Logging a set shouldn't require a monthly fee. Neither should syncing across your own devices.
- π§© Fragmented experience. Workouts in one app, social in another, history nowhere. Nothing talks to anything else.
benchmrk is the alternative: a single tracker you can use for free, host yourself, audit line by line, and trust forever.
- ποΈ Custom workouts β Build training plans from a growing exercise catalog, or roll your own.
- β±οΈ Live session tracking β Log sets, reps, weight, and rest in real time, even offline.
- π Progress that's actually yours β Every lift, every PR, exportable whenever you want.
- π₯ Social feed β Share completed sessions, cheer on friends, see what your network is lifting.
- β‘ Instant sync β Powered by Convex; changes propagate to every device the moment they happen.
- π Works everywhere β Native iOS, native Android, and a full web app share one backend.
- π Self-hostable β Run the entire stack on your own infrastructure. No vendor lock-in, no telemetry, no surprises.
| Workout Session | Exercise Catalog | Social Feed |
|---|---|---|
| coming soon | coming soon | coming soon |
Want to help? Drop screenshots into a PR β see CONTRIBUTING.md.
A modern, fully typed stack chosen for speed of iteration and long-term maintainability.
| Layer | Technology |
|---|---|
| π± Mobile | Expo SDK 54 Β· React Native Β· Expo Router Β· NativeWind Β· Reanimated |
| π Web | Next.js 16 Β· React 19 Β· Tailwind CSS 4 Β· Radix UI |
| π°οΈ Backend | Convex (real-time DB + serverless functions) Β· Better Auth |
| π§° Tooling | Turborepo Β· pnpm Β· Biome Β· TypeScript |
The fastest way to use benchmrk is to install the app β public beta links land here once they're live.
In the meantime, you can run the full stack locally with a handful of commands. Setup, environment variables, and platform-specific notes live in CONTRIBUTING.md.
- Workout creation and exercise catalog
- Active session tracking β sets, reps, weights, duration
- Social workout feed
- Real-time multi-device sync
- Apple Health & Google Fit integration
- Strava cross-posting
- OAuth providers, 2FA, password reset
- Wearable companion (Apple Watch / Wear OS)
- Optional managed hosting tier (Stripe + RevenueCat)
Have an idea? Open a discussion.
PRs, bug reports, and feature ideas are all welcome. If it's your first time here, start with CONTRIBUTING.md β it covers local setup, the repo layout, scripts, architecture, branch and commit conventions, and the PR process.
- π¬ Discussions β design questions, ideas, "how do Iβ¦"
- π Issues β confirmed bugs and concrete requests
- π Security β vulnerability disclosure (please don't open public issues)
benchmrk stands on the shoulders of incredible open-source work:
- Convex for the reactive database that makes real-time feel free
- Expo and the React Native team for cross-platform native that doesn't suck
- Next.js for a web framework that scales from landing page to product
- Better Auth for honest, typed authentication
- Turborepo, pnpm, Biome for the tooling that keeps the monorepo fast
- Everyone who has filed an issue, opened a PR, or starred the repo β thank you.
benchmrk is released under the GNU Affero General Public License v3.0 or later.
You're free to use, study, modify, and self-host benchmrk. If you run a modified version as a network service, you must make your modifications available under the same license. Read the LICENSE for the full terms.