FormCheck AI is a computer vision + deep learning platform that analyzes exercise videos, classifies movements, evaluates biomechanics, generates coaching feedback, and creates visual phase breakdowns automatically.
It acts like having an AI coach review your lifts frame-by-frame.
Built with:
- FastAPI backend
- Expo React Native mobile app
- TensorFlow / Keras deep learning
- MediaPipe Pose landmark extraction
- OpenCV computer vision
- Biomechanics scoring engine
- Automatic overlay video generation
- Phase-by-phase movement visualization
Upload a lift video β
FormCheck AI returns:
β
movement classification
β
rep counting
β
biomechanics feedback
β
coaching cues
β
rep grading
β
overlay analysis video
β
phase images
β
coaching zones
Automatically identifies the exercise being performed.
Supports:
- Bench Press
- Deadlift
- Back Squat
- Front Squat
- Overhead Squat
- Strict Press
- Push Press
- Split Jerk
- Thruster
- Clean
- Snatch
- Clean & Jerk
- Pull-up
- Bar Muscle-up
- Ring Muscle-up
Future planned:
- Toes-to-bar
- Handstand Push-up
- Box Jump
- Rowing stroke analysis
- Running gait analysis
Automatically detects:
- rep start
- eccentric phase
- bottom position
- concentric phase
- lockout
- rep completion
Returns:
- total reps
- best rep
- worst rep
- average score
- consistency trend
Analyzes movement quality using joint tracking and movement heuristics.
Metrics include:
- knee angle
- hip angle
- torso angle
- elbow angle
- shoulder position
- valgus ratio
- lockout quality
- spinal neutrality
- bar path
- tempo / control
- overhead stability
Provides actionable cues.
Examples:
- Drive knees out
- Keep chest tall
- Hit full depth
- Maintain heel pressure
- Brace core
- Neutral spine
- Push floor away
- Finish tall with glutes
- Touch lower chest
- Keep wrists stacked
- Full lockout
- Drive through feet
- Stay over bar
- Finish extension
- Fast elbows
- Punch overhead aggressively
Automatically creates key movement snapshots.
Generates:
- setup
- first pull
- extension
- catch
- finish
Generates:
- setup
- dip
- drive
- catch
- recovery
- finish
Generates:
- setup
- dip
- drive
- catch
- lockout
Generates:
- setup
- descent
- bottom
- ascent
- lockout
Generates:
- setup
- pull
- mid
- finish
- lockout
Generates:
- hang
- pull
- top
- descent
- finish
Generates:
- hang
- pull
- transition
- dip
- lockout
- finish
FormCheck AI creates an annotated replay video showing:
- rep boundaries
- labels
- score overlays
- coaching zones
- biomechanics notes
- analysis timeline
This gives users visual feedbackβnot just numbers.
A biomechanics-aware rule engine improves classification beyond model predictions.
Overrides include:
- Thruster detection
- Push Press detection
- Split Jerk detection
- Pull-up detection
- Bar Muscle-up detection
- Ring Muscle-up detection
- Olympic lift routing
- Squat family routing
This dramatically improves real-world accuracy.
Video β
Frame extraction β
MediaPipe Pose β
Landmark extraction β
Feature engineering β
Velocity features β
Sequence model β
Biomechanics override β
Rep segmentation β
Movement scoring β
Feedback generation β
Phase image creation β
Overlay rendering β
JSON response
Current production classifier:
Performance:
| Movement | Accuracy |
|---|---|
| Deadlift | 98.8% |
| Push Press | 97.6% |
| Back Squat | 96.8% |
| Front Squat | 98.1% |
Confusion is minimal.
Biomechanics overrides further improve final prediction quality.
- FastAPI
- Python
- TensorFlow / Keras
- OpenCV
- NumPy
- Pandas
- MediaPipe
- React Native
- Expo
- JavaScript
- LSTM sequence models
- Landmark feature engineering
- Motion velocity vectors
- Heuristic override engine
- Rep segmentation logic
git clone https://github.com/YOUR_USERNAME/formcheck-ai.git
cd formcheck-ai/backend
python3.12 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtRun server:
uvicorn app.main:app --reloadServer:
http://127.0.0.1:8000
Swagger docs:
http://127.0.0.1:8000/docs
cd frontend
npm install
npx expo startRun on:
- iPhone
- Android
- simulator
- Expo Go
POST:
curl -X POST "http://127.0.0.1:8000/analyze" \
-H "accept: application/json" \
-F "file=@deadlift.mov"Response:
{
"exercise_label": "Deadlift",
"confidence": 0.95,
"analysis_mode": "detailed_rep_analysis",
"feedback": [
"Brace core and maintain neutral spine."
],
"rep_feedback": [
{
"rep": 1,
"score": 8.5,
"grade": "Good"
}
],
"overlay_video_url": "/outputs/overlay.mp4",
"phase_images": {
"setup": "/outputs/setup.jpg",
"pull": "/outputs/pull.jpg",
"finish": "/outputs/finish.jpg"
}
}FormCheck AI aims to become:
The AI movement coach for everyone
Applications:
- strength training
- Olympic lifting
- CrossFit
- personal training
- rehab movement screening
- sports performance
- remote coaching
Joseph Kamil
Full Stack + AI Engineer
Built with deep learning, computer vision, and an obsession for biomechanics.