Smart Fitness
Fitness & MovementPython / FastAPI + ESP32Apache 2.0

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.

Deployability
2/5
Value
3/5
Privacy
4/5

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:

  1. Open http://localhost:8000/app in a browser.
  2. Select an exercise from the action selector.
  3. Click Start training and grant camera permission.
  4. Verify that the pose skeleton overlays the video feed and the rep counter/form score updates.
  5. 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