Inspiration

We noticed how easy it is to develop bad posture while working at a desk, especially for long hours. My friend and I experience this personally as we both have horrible posture from sitting in front of a laptop for too long. Most posture solutions require wearables or expensive equipment. We wanted to create a simple, accessible tool that helps people improve their posture in real time using devices they already have: their phone and laptop.

What it does

Perfect Posture uses your phone as a side-view webcam and your laptop as a real-time AI posture monitor. The app analyzes your posture live using pose estimation and alerts you when you start to slouch or lean too far forward. It provides a classification (good, neutral, bad), personalized feedback on which part of your posture needs improvement, and gives you notifications when you're working telling you to improve.

How we built it

We built Perfect Posture as a cross-platform desktop app using Electron, allowing users on any operating system to benefit from real-time posture tracking. For pose detection, we used MediaPipe PoseNet to extract key body landmarks from side-view video frames streamed from a mobile phone. These keypoints are fed into a lightweight TensorFlow.js model that classifies posture as good, neutral, or bad. The model is loaded locally, enabling offline use without relying on cloud inference. On the frontend, we built a clean interface using Vanilla JavaScript and modern CSS, making the UI lightweight and responsive. The app runs on Electron and connects to your phone via WebSocket automatically. If it can't connect, it will default to your laptop camera. The desktop receives frames, runs inference, updates the UI in real time, and triggers system notifications when bad posture is detected.

Challenges we ran into

  1. Building a smooth, real-time video streaming pipeline from phone to desktop without a native app
  2. Extracting meaningful features (like joint angles) from pose data that vary by body type and camera angle
  3. Keeping latency low enough for live posture detection
  4. Designing feedback that’s helpful without being annoying

Accomplishments that we're proud of

  1. We made real-time posture tracking work without requiring any installation on the phone
  2. We built a fully functioning system that links phone and desktop
  3. The posture classifier reliably detects slouching and gives actionable feedback
  4. We made posture correction accessible and non-invasive
  5. Creating a posture history tracker with weekly improvement summaries

What we learned

  1. How to integrate MediaPipe pose detection into a real-time feedback loop
  2. The importance of simplifying user experience, especially for syncing multiple devices
  3. Practical machine learning using skeletal keypoints

What's next for Perfect Posture

  1. Train a more robust model using larger and more diverse posture datasets
  2. Add multi-angle tracking using dual cameras for higher accuracy
  3. Offer tailored ergonomic exercises based on recurring posture issues

Built With

Share this project:

Updates