← All work

Pose Estimation

A rep counter that sees your movement. Every frame stays in your browser.

ROLEComputer vision & web development
STATUSBuilt
BUILT WITHMediaPipe · React · WebAssembly · OpenCV
Pose Estimation — promotional concept artwork

Problem

A rep counter needs to distinguish full movement from partial motion without sending camera frames to a server.

Approach

MediaPipe identifies thirty-three body landmarks. Shoulder, elbow and wrist positions determine the elbow angle. A two-stage state machine counts only a full range of motion, independently for each arm.

Architecture

Camera → MediaPipe in WebAssembly → joint angles → per-arm state machine → React counter. Inference runs locally.

MediaPipeReactWebAssemblyOpenCV

Challenges and trade-offs

Camera angle and occlusion affect landmarks. The original Python and OpenCV notebook was ported into a browser-based workflow.

Keep exploring / next project

CineMatch ↗

Pose Estimation: In-Browser Rep Counter — Monish Patalay