๐ช FitnessTracker โ Your Complete Fitness Companion
A privacy-first Progressive Web App for tracking workouts, runs, walks, boxing, body metrics, and daily wellness โ all stored on your own server. No accounts, no cloud, no third-party data sharing.
Install it on any device. It works offline, syncs when you're back, and looks great in light or dark mode.
Who it's for
FitnessTracker is for anyone who wants to take their fitness seriously without handing their data to a third-party service. No subscription fees, no ads, no accounts โ just you, your browser, and a lightweight server you control.
- Home gym users โ track bodyweight, dumbbell, and flexibility workouts with 195 pre-loaded exercises (37 cardio, 116 strength, 42 flexibility)
- Runners & walkers โ log runs and walks with distance, duration, and pace, with stats over time
- Boxers โ log sessions with rounds, kcal/min, and notes; monthly breakdowns and PRs
- Weight watchers โ chart your weight journey with goal tracking and BMI calculation
- Wellness-minded people โ daily mood, energy, sleep, and stress check-ins with 8-week trends
- Privacy-conscious fitness enthusiasts โ everything stays on your server; export/backup anytime
What it can do
๐๏ธ Workouts
195 exercises across cardio, strength, and flexibility โ 5 circuit templates (Basic, Calisthenics, Beginner Calisthenics, Cardio, Dumbbells), Tabata mode with fixed 20s/10s intervals, configurable rounds, warmup/cooldown phases, and a full-screen workout runner with progress ring, audio cues, and text-to-speech.
๐ Run & Walk Tracking
Log runs and walks with distance, duration, pace, and randomized note prompts. Stats show total distance, best pace, and average pace over time.
๐ฅ Boxing Tracking
Log boxing sessions with duration, rounds, kcal/min, and notes. Track total sessions, hours, kcal, personal records, and monthly breakdowns with trend charts.
๐ History & Stats
Session history with date range filters, activity-colored cards, weekday bar chart, and a GitHub-style contribution heatmap. JSON import/export of all your sessions. Streak tracking with total sessions, hours, and calories burned.
โ๏ธ Health & Wellness
Weight tracking with goal progress bars and BMI calculator. Personal records across weight, measurements, performance, runs, walks, and boxing. Body measurements (waist, hips, chest, arms, thighs, neck) with before/after deltas. Daily wellness check-ins โ mood, energy, stress, sleep hours โ with 8-week trend charts. Health score (0โ100) combining BMI, workout consistency, streak, and measurements.
๐ Apple Health Import
Import your Apple Health export ZIP โ workouts and health metrics are automatically parsed and added to your history, with a Workout Intensity scatter chart. No manual data entry needed if you're coming from an Apple Watch.
๐ฑ PWA & Offline
Installable on iOS, Android, and desktop. Works offline with service worker precaching. Push notification support via Web Push API. Swipe navigation, light/dark theme, audio mute, and selectable date format (D/M or M/D).
Screenshots
Workout tab with quick-log cards and templates:
![]()
Full-screen workout runner with exercise image, progress ring, and timer:
![]()
Exercise library with search and category filters:
![]()
History with filters, activity chart, and session cards:
![]()
Health dashboard with streaks, weight logging, and personal records:
![]()
Stats dashboard with training mix and daily charts:
Tech Stack
CI/CD
Every push to main triggers a full pipeline: lint โ unit tests (backend + frontend) โ E2E (Playwright) โ Docker multi-arch build & push to GHCR โ auto-deploy to the VPS via SSH.
Why I built it
I wanted a fitness tracker that didn't require an account, didn't sell my data, and worked on every device I own. Most fitness apps lock your data behind a subscription or push you into a specific ecosystem. FitnessTracker is the opposite: self-hosted, privacy-first, and fully open source. Your data lives in a SQLite file you can back up, export, or inspect anytime.
Source Code
The project is open source and available on GitHub