
Smart Fitness Review
A FastAPI + MediaPipe fitness system with a browser PWA for real-time pose detection, plus optional ESP32-CAM and MQTT sensor integration.
Each review covers deployability, value versus commercial alternatives, and privacy model. Tools that can run locally were started and exercised; mobile or backend-dependent tools were assessed from published builds, source code, and deploy guides. Ratings reflect what we were able to verify.
Smart Fitness — Real-Time Pose Detection Fitness System
A FastAPI + MediaPipe fitness system with a browser PWA for real-time pose detection, plus optional ESP32-CAM and MQTT sensor integration. Last updated: 2026-06-21.
One-sentence verdict: A hardware-optional computer-vision fitness prototype for developers interested in local pose estimation and IoT sensor fusion.
What the System Is
Smart Fitness is an AI-powered exercise coaching system. It is built as:
- FastAPI backend with WebSocket and MQTT support.
- MediaPipe Pose engine for 33-landmark pose estimation.
- Browser PWA for real-time pose detection via phone or PC camera.
- Optional ESP32-S3 edge device with OV5640 camera, MAX30102 heart-rate sensor, MPU-6060 IMU, and MSM261S4030 microphone.
- Mosquitto MQTT broker for sensor data bridging.
- Exercise detector for counting reps and scoring form across push-ups, squats, lunges, curls, and shoulder presses.
The deploy guide focuses on the local quick-start path that runs the Web UI without the ESP32 hardware.
| Key data | |
|---|---|
| Category | Fitness & Movement |
| Language | Python / FastAPI + ESP32 |
| License | Apache 2.0 |
| Self-hosted | Yes |
| AI | MediaPipe Pose |
| Database | Not specified |
| Deployment | Python venv + MQTT broker, or Docker Compose |
How to Install and Deploy
The deploy guide recommends the local quick start for the Web UI.
cd /data2/docker/going-global/repos/smart-fitness/backend
python3 -m venv venv
source venv/bin/activate
pip install fastapi uvicorn paho-mqtt pydantic websockets python-multipart numpy requests bcrypt PyJWT python-dotenv
# Start an MQTT broker (example with mosquitto container)
docker run -d --name fitness-mqtt-local -p 1884:1884 \
-v /tmp/mosquitto.conf:/mosquitto/config/mosquitto.conf:ro \
eclipse-mosquitto:2
# Start the backend
MQTT_BROKER_HOST=localhost MQTT_BROKER_PORT=1884 python main.py
The backend listens on 0.0.0.0:8000 and the PWA entry is http://localhost:8000/app. A heavier Docker Compose path is also available but requires resolving a deprecated libgl1-mesa-glx package.
How to Test
The documented test flow is:
- Open
http://localhost:8000/appin a browser. - Select an exercise from the action selector.
- Click Start training and grant camera permission.
- Verify that the pose skeleton overlays the video feed and the rep counter/form score updates.
- Optionally, connect an ESP32-S3 device running the provided firmware and verify MQTT sensor data reaches the backend.
Privacy & Compliance
Video and pose processing run locally through MediaPipe. The optional chatbot/LLM coach, if enabled, would send text to a cloud model. The project is not HIPAA compliant and is intended for fitness use, not clinical movement analysis.
Smart Fitness vs Commercial Fitness Apps
| Dimension | Smart Fitness | Commercial Trainer (e.g., Freeletics, Nike Training Club) |
|---|---|---|
| Cost | Free / self-hosted | Subscription or free with limits |
| Hardware | Optional ESP32 + sensors; webcam sufficient for basic use | Phone only |
| Exercise library | 8 actions in PWA, custom detector | Hundreds |
| Real-time feedback | Local pose overlay + rep count + form score | Richer coaching, audio cues |
| Mobile apps | Browser PWA | Native iOS / Android |
| Setup effort | High: Python env, MQTT broker, optional hardware | Low: app store install |
| Open source | Yes | No |
Who Should Use It
- Developers experimenting with MediaPipe pose estimation and IoT sensor fusion.
- Makers who want to build a low-cost ESP32-based fitness device.
- Researchers exploring real-time form scoring and rep counting.
Who Shouldn't Use It
- People looking for a polished daily workout app.
- Users who want guided programs, social features, or wearable sync.
- Anyone needing clinical-grade movement analysis.
FAQ
Do I need the ESP32 hardware to use Smart Fitness?
No. The deploy guide provides a local quick-start path that runs the PWA and backend using only a webcam or phone camera.
Which exercises can it count?
The PWA lists eight actions including push-ups, squats, lunges, curls, and shoulder presses. The backend MediaPipe detector classifies movement and counts reps.
Does video leave my machine?
No. Pose estimation runs locally in the browser/backend with MediaPipe. Only optional cloud LLM coach features would send text off-device.
Verdict
Smart Fitness is a credible fitness-prototyping stack. The local MediaPipe pipeline, MQTT sensor bridge, and PWA entry point make it more interesting than a simple demo. It is not a consumer-ready trainer, but it is a solid starting point for builders who want camera-based exercise tracking or ESP32 sensor integration.
Ratings: Deployability 2/5 · Value vs Commercial 3/5 · Privacy Compliance 4/5
