BatesPosture uses your webcam and MediaPipe to score your posture every second — entirely on your machine. No cloud, no subscriptions, no tracking.
A focused tool that stays out of your way until your posture needs attention.
Seven weighted metrics — head tilt, neck angle, shoulder balance, spine alignment, and more — combined into a single colour-coded score in your tray icon.
Sparkline history, session average, min/max, best streak, and duration — all in a floating window that remembers your history between sessions.
Native desktop alerts with configurable threshold and cooldown. Focus mode silences reminders when you need to concentrate.
Track continuously or on a schedule. A built-in break reminder prompts you to stand up after 50 minutes of sitting.
Optional SQLite logging of every session with CSV export. All data lives on your machine — nothing is sent anywhere.
Automatically reduces camera resolution on low-end hardware. GPU acceleration toggle for faster MediaPipe inference on supported devices.
No complicated setup. Just your webcam and 30 seconds to calibrate.
A short onboarding wizard captures a 6-second baseline of your natural posture so alerts are tuned to you, not a generic threshold.
Click "Start Tracking" from the tray icon. The icon turns green when posture is good and red when it degrades — no need to look at the app.
When your score drops below the threshold, a native notification prompts you to sit up straight. A configurable cooldown prevents alert fatigue.
Open the dashboard at any time to see your live camera feed, score history, streaks, and session stats.
Download the build for your platform — no Python or dependencies required.
.dmg and drag BatesPosture into your Applications folder.xattr -cr /Applications/BatesPosture.app in Terminal.BatesPosture folder and run BatesPosture.exe.tar -xzf BatesPosture-Linux.tar.gzchmod +x BatesPosture/BatesPosture./BatesPosture/BatesPosture.desktop launcher or add to startup applications for automatic launch at login.A webcam and a reasonably modern machine — that's it.
Your camera feed never leaves your computer.
All pose detection runs locally using MediaPipe. No video frames, no pose data, and no personal information is ever sent to a server. Session data is stored in a local SQLite database on your machine — and only when you explicitly enable logging.