← All projects

Stereo Posture Monitor

A lightweight desk posture tracker that uses stereo cameras to monitor sitting posture in 3D, with a live skeleton rendered in the browser.

How it works

A Python backend captures synchronized stereo frames, runs pose estimation to extract 2D keypoints in each view, and triangulates 3D joint positions using DLT. OneEuroFilter smoothing removes jitter while preserving responsiveness. Posture metrics — head forward tilt, shoulder alignment, spine curvature — are computed from the 3D skeleton each frame.

Frontend

A FastAPI server streams the 3D skeleton data over WebSocket to a browser-based three.js viewer. The viewer renders the skeleton in real time with color-coded indicators for posture quality, making it easy to glance at while working.

Origin

Built as a more tractable spin-off of the ArcheryEdge project. Archery pose estimation at distance is hard; desk posture at 0.5–1m is a controlled environment that let me validate the full stereo pipeline — calibration, triangulation, filtering, visualization — before tackling the harder problem.