A self-hosted, privacy-first alternative to MyFitnessPal. Track nutrition, exercise, body metrics, and health data while keeping full control of your data.

SparkyFitness is a self-hosted fitness tracking platform made up of:
- A backend server (API + data storage)
- A web-based frontend
- Native mobile apps for iOS and Android
It stores and manages health data on infrastructure you control, without relying on third party services.
- Nutrition, exercise, hydration, sleep, fasting, mood and body measurement tracking
- Goal setting and daily check-ins
- Interactive charts and long-term reports
- Multiple user profiles and family access
- Light and dark themes
- OIDC, TOTP, Passkey, MFA etc.
SparkyFitness is source-available, not open source — the licence is non-commercial and requires permission for commercial use.
Most apps do one thing. One good nutrition app runs $40–$100 a year; covering everything SparkyFitness covers means three or four subscriptions, per person, and still no single report across them. SparkyFitness does it in one app, free, for the whole household.
US list prices, 14 Aug 2026. Full cost breakdown →
| SparkyFitness | wger | MyFitnessPal | Cronometer | Hevy | Zero | Flo | Garmin Connect | Google Health | |
|---|---|---|---|---|---|---|---|---|---|
| Self-hosted, your data stays yours | ⭐ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| No subscription, no ads | ✅ | ✅ | ❌ | 🟡 | 🟡 | ❌ | ❌ | ✅ | 🟡 |
| Nutrition, strength, sleep, fasting, cycle & meds in one place* | ⭐ | 🟡 | 🟡 | 🟡 | ❌ | ❌ | ❌ | 🟡 | 🟡 |
| Full history & custom date-range reports | ✅ free | 🟡 | 💰 | 💰 | 💰 | 💰 | 💰 | ✅ | 💰 |
| Wearable & health-platform sync | ✅ 8+ services | ❌ | ✅ | ⭐ | ✅ | 🟡 | 🟡 | 🟡 | ✅ |
| Family sharing with granular permissions | ⭐ 7 permissions | ❌ | ❌ | 🟡 | ❌ | ❌ | ❌ | 🟡 | 🟡 |
| CSV import & free data export | ✅ | 🟡 | 💰 | ✅ | ✅ | 🟡 | 🟡 | 🟡 | ❌ |
| MCP server + bring your own LLM | ⭐ | 🟡 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
⭐ standout • ✅ supported • 🟡 partial • 💰 paid tier only • ❌ not supported
* Sleep stages, HRV and blood glucose are imported from your watch, phone or meter. SparkyFitness stores, analyses and charts them rather than measuring them itself.
This table is written by the project being compared, so read it that way. Checked 14 Aug 2026 against official docs, repos and store listings; some of it is already out of date. If a cell is wrong or unfair to another project, open an issue — corrections that make SparkyFitness look worse are just as welcome.
See the full comparison → — 17 apps across self-hosted, nutrition, specialist and device-ecosystem categories, plus where each of them beats us.
SparkyFitness can sync data from multiple health and fitness platforms:
- Apple Health (iOS)
- Google Health Connect (Android)
- Google Health API
- Fitbit
- Garmin Connect
- Withings
- Polar Flow
- Oura
- Hevy
- OpenFoodFacts
- USDA
- Fatsecret
- Nutritionix
- Mealie
- Tandoor
- Strava (partially tested)
- Norish
- Yazio (uses unofficial API)
- Swiss Food Database
- Free Exercise DB (Github)
- Wger
Integrations automatically sync activity data such as steps, workouts, and sleep, along with health metrics like weight and body measurements, to your SparkyFitness server.
SparkyAI provides a conversational interface for logging data and reviewing progress.
- Log food, exercise, body stats, and steps via chat
- Upload food images for automatic meal logging
- Retains conversation history for follow ups
Note: AI features are currently in beta.
Choose one of the two ways to run SparkyFitness:
Get a SparkyFitness server running in minutes using Docker Compose:
# 1. Create a new folder
mkdir sparkyfitness && cd sparkyfitness
# 2. Download Docker files only
curl -L -o docker-compose.yml https://github.com/CodeWithCJ/SparkyFitness/releases/latest/download/docker-compose.prod.yml
curl -L -o .env https://github.com/CodeWithCJ/SparkyFitness/releases/latest/download/default.env.example
# 3. (Optional) Edit .env to customize database credentials, ports, etc.
# 4. Start the app
docker compose pull && docker compose up -d
# Access application at http://localhost:8080Note: For other self-hosted installation methods, refer to the documentation at https://codewithcj.github.io/SparkyFitness/.
If you are not a technical user and prefer not to run SparkyFitness on your own server, you can deploy a hosted instance in the cloud using one of the following providers.
Note: These are independent third-party services. We encourage you to explore features provided by each provider to determine the one that best fits your needs.
Quick 2-minute tutorial showing how to install SparkyFitness (self-hosted fitness tracker).
For full installation guides, configuration options, and development docs, please visit our Documentation Site.
- Installation Guide - Deployment and configurations
- Features Overview - Complete feature documentation
- Development Workflow - Developer guide and contribution process
- iOS App Info and Android App Info
- Post in Github issues/discussion.
- For faster response and get help from other community memebers Join our Discord
SparkyFitness is under active development. Breaking changes may occur between releases.
- Auto-updating containers is not recommended
- Always review release notes before upgrading
The following features are currently in beta and may not have been thoroughly tested. Expect potential bugs or incomplete functionality:
- AI Chatbot
- Family & Friends access
- API documentation
