Turn your AirPods into a posture coach.
A native macOS menu bar app that reads the motion sensors in your AirPods to track your head posture in real time — no camera, no cloud, everything runs locally.
- 🎯 Live posture tracking via
CMHeadphoneMotionManager— forward slouch and side tilt, smoothed and calibrated against your personal baseline - 🟢 Colored menu bar status — green when you sit upright, orange when you drift, red when you slouch, with an optional live posture score
- 🧭 Guided onboarding and calibration — a three-second averaged baseline capture instead of a blind snapshot
- 🔔 Smart alerts — notifications only after bad posture persists, with grace period, cooldown, and automatic suppression while you're walking or moving
- 📊 Statistics — per-minute history, daily posture score, 14-day trend, and a live view of all AirPods sensor data (attitude, rotation rate, acceleration)
- ⚙️ Native settings — liquid-glass settings window, launch at login, Sparkle auto-updates
- macOS 14.0 or later
- AirPods Pro (any generation), AirPods Max, AirPods 3rd gen or later, or Beats with spatial audio support
The project uses Tuist:
tuist install
tuist generate --no-open
./run-menubar.sh| File | Responsibility |
|---|---|
Sources/HeadphoneMotionClient.swift |
CoreMotion transport, fused sensor samples |
Sources/PostureStore.swift |
Observable state: calibration, slouch state machine, movement detection, alerting, minute bucketing |
Sources/HistoryStore.swift |
Per-day JSON persistence and day summaries |
Sources/MenuBarView.swift |
Menu bar panel UI |
Sources/StatsView.swift |
Charts and live sensor readout |
Sources/OnboardingView.swift |
Guided first-run flow |
MIT — see LICENSE. © 2026 Johannes Grof.