Real-time Body Tracking
Detects 33 body landmarks from browser camera footage and automatically counts squat reps. Also proposed an extension for security camera use.
Duration
Short-term development
Team
1 person
01 // OVERVIEW
Project Overview
A web feature that detects body movement in real time from browser camera footage, automating motion analysis and rep counting. Built as a framework-free Vanilla JS implementation, with a demo hosted on GitHub Pages. After delivery to the client, the project grew into a proposal for extending the technology to security camera applications.
02 // KEY FEATURES
Key Features
Pose Mode
Detects 33 body landmarks using MediaPipe Pose Landmarker. Includes a squat counter feature that automatically counts exercise reps.
Face Mode
Detects a 468-point face mesh in real time. Can be applied to facial expression analysis and head orientation estimation.
Hands Mode
Hand tracking with 21 points per hand. Detects finger movement and hand gestures with high accuracy.
All (Holistic) Mode
Runs Pose, Face, and Hands modes simultaneously. Also supports switching between front and back cameras.
03 // TECHNICAL DEEP-DIVE
Technical Highlights
Solution
Squat Detection Algorithm
Calculates knee angle frame by frame and applies smoothing. Automatically detects one squat rep using threshold angles of 100 degrees on the way down and 160 degrees on the way up, with a hysteresis design to prevent false detections.
Solution
Lightweight, Framework-Free Design
Built with only Vanilla JavaScript and the MediaPipe CDN. Requires no build step - it runs simply by opening the HTML file. GPU delegation ensures real-time performance.
Solution
Technical Proposal for Security Camera Use
Following an inquiry about repurposing the system to detect suspicious behavior within a facility, we advised on combining it with YOLOv8-Pose and the need for time-series classification, proposing a validation-first approach.
04 // IMPACT & RESULTS
Results
33
Body landmarks
Delivered
Client project
Extended
Into a security camera project