SparkyFitness: Built for Families. Powered by AI. Track food, fitness, water, and health — together. https://codewithcj.github.io/SparkyFitness/
Find a file
2026-03-26 18:13:43 -04:00
.github add prettier config 2026-03-26 08:36:51 +01:00
.husky chore: add pre commit hook for linting, formatting and testing 2026-02-15 18:53:34 +01:00
docker Better-Auth upgrade & TOTP fixes 2026-03-22 14:53:34 -04:00
docs Merge pull request #965 from Soulplayer/fix/activity-report-cleanup 2026-03-22 20:32:46 -04:00
helm Update README.md 2026-03-01 08:22:00 -05:00
shared feat: daily summary API and update useDailySummary hook 2026-03-26 14:56:08 -05:00
SparkyFitnessFrontend Merge pull request #1000 from Soulplayer/fix/laps-na-totals 2026-03-26 15:36:18 -04:00
SparkyFitnessGarmin Update SparkyFitnessGarmin/main.py 2026-03-21 12:03:52 -04:00
SparkyFitnessMCP ported MCP to http stream instead of SSE 2026-02-26 17:11:25 -05:00
SparkyFitnessMobile fix: mask food entry schema mismatch issue 2026-03-26 14:56:09 -05:00
SparkyFitnessServer fix: two-factor disable user update logic and tests 2026-03-26 17:02:36 -05:00
.dockerignore ci, docker: integrated workspaces, pinned version 2026-03-07 08:56:04 +01:00
.gitignore Integration with PolarFlow 2026-02-15 08:45:33 -05:00
AGENTS.md feat: AGENTS.md update for monorepo 2026-03-13 19:57:03 -05:00
CLAUDE.md Add Jest testing infrastructure to enable test execution 2026-01-25 11:15:26 +00:00
CONTRIBUTING.md Update CONTRIBUTING.md 2026-02-26 21:35:25 -05:00
DB Backup.cmd Fix for Steps showing from previous days instead of current day 2025-10-23 10:44:20 -04:00
db_backup.sh Mobile app sync for sleep sessions 2025-12-26 18:33:23 -05:00
db_schema_backup.sql feat: implement localized food search and barcode lookup for OpenFoodFacts 2026-03-13 19:17:06 -04:00
dev-start.bat dev docker files 2026-02-02 21:34:08 -05:00
LICENSE WIP Meal & Meal Plan Features 2025-07-12 13:41:35 -04:00
package.json add prettier config 2026-03-26 08:36:51 +01:00
pnpm-lock.yaml feat: custom tab bar 2026-03-23 02:41:16 -05:00
pnpm-workspace.yaml Merge pull request #965 from Soulplayer/fix/activity-report-cleanup 2026-03-22 20:32:46 -04:00
README.md Update README.md 2026-03-08 17:30:16 -04:00
start_garmin_microservice.bat Updated withing to save json as mockup files. renamed few other variables used by developers 2026-02-09 18:32:39 -05:00

SparkyFitness

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

Screenshot

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.

Core Features

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

Health & Device Integrations

SparkyFitness can sync data from multiple health and fitness platforms:

  • Apple Health (iOS)
  • Google Health Connect (Android)
  • Fitbit
  • Garmin Connect
  • Withings
  • Polar Flow (partially tested)
  • Hevy (not tested)
  • OpenFoodFacts
  • USDA
  • Fatsecret
  • Nutritioninx
  • Mealie
  • Tandori

Integrations automatically sync activity data such as steps, workouts, and sleep, along with health metrics like weight and body measurements, to your SparkyFitness server.

Optional AI Features (Beta)

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.

Quick Start (Server)

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:8080

🎥 Video Tutorial

Watch the video

Quick 2-minute tutorial showing how to install SparkyFitness (self-hosted fitness tracker).

Documentation

For full installation guides, configuration options, and development docs, please visit our Documentation Site.

Need Help?

  • Post in Github issues/discussion.
  • For faster response and get help from other community memebers Join our Discord

Star History

Star History Chart

Translations

Weblate Translations

Translation status

Repository activity

Alt

Contributors

⚠️ Known Issues / Beta Features ⚠️

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