← all repositories
linyiLYi/pose-monitor

Your phone becomes a posture scold, fully offline

It turns an Android phone into a private, offline posture monitor that nags you out loud when you slouch or cross your legs for too long.

2.6k stars Jupyter Notebook Domain AppsComputer Vision
pose-monitor
Not currently ranked — collecting fresh signals.
star history

What it does PoseMon is an Android app that watches you through the camera and classifies your sitting posture in real time. It runs MoveNet Thunder (int8) locally to detect 17 body keypoints, then feeds those coordinates into a tiny fully-connected network to decide if you are sitting upright, crossing your legs, or hunching forward. If it decides you have been sloppy for 60 consecutive frames, it breaks the silence with a voice alert. Everything stays on the phone; no cloud, no streaming.

The interesting bit The project is essentially a hardened fork of the TensorFlow Lite pose-estimation Android sample, glued together with a custom classifier and a two-stage confirmation gate—30 frames to enter an alert state, then another 30 to trigger audio—to keep the app from crying wolf every time you reach for coffee. The classifier was trained on a self-collected set of roughly 900 training photos and 74 test photos, with train and test split across different people to surface overfitting early.

Key highlights

  • Runs entirely offline; the only permission it asks for is the camera.
  • Uses an int8-quantized MoveNet model that can offload to a Qualcomm Hexagon DSP via NNAPI for better speed and battery life.
  • Ships with a Jupyter notebook that walks through scraping MoveNet keypoints, building the CSV dataset, and training the custom classifier.
  • Pre-built APK is available in the repo’s releases, so you can try the nagging immediately.
  • Supports both front and rear cameras, though the README warns that front-camera upper-body framing makes leg-crossing detection shaky.

Caveats

  • The repository only includes two sample training images to keep the size down; you will need to supply your own photos in the train/ and test/ folders if you want to retrain the classifier.
  • Front-camera mode works, but the README notes that “crossing legs” recognition becomes unstable when the camera only sees your upper body.
  • The author admits it is still unclear how to tap the AI accelerator on Google’s Tensor G2 chips, so NNAPI behavior on newer Pixels is undefined.

Verdict Grab this if you want a concrete, hackable example of on-device pose classification with anti-spam logic, or if your back hurts and you need a phone to guilt-trip you. Skip it if you are looking for a polished consumer product or cross-platform support.

Frequently asked

What is linyiLYi/pose-monitor?
It turns an Android phone into a private, offline posture monitor that nags you out loud when you slouch or cross your legs for too long.
Is pose-monitor open source?
Yes — linyiLYi/pose-monitor is open source, released under the Apache-2.0 license.
What language is pose-monitor written in?
linyiLYi/pose-monitor is primarily written in Jupyter Notebook.
How popular is pose-monitor?
linyiLYi/pose-monitor has 2.6k stars on GitHub.
Where can I find pose-monitor?
linyiLYi/pose-monitor is on GitHub at https://github.com/linyiLYi/pose-monitor.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.