Shrimp Check

Why you so Shrimp? 🦐

Inspiration

The maintenance of our mere human bodies has taken a back seat to the sheer scale and insanity of the modern internet. As a result, a growing number of "Shrimp" have emerged, dedicated to their craft of maximizing their time in the digital space hunching their posture to maximize short term comfort.

However, the momentary bliss of choosing a more relaxing position, comes with a steep cost. Our once straight spines have been curved to the point of resembling Shrimp!

What it does

  • Calibrates a user’s good posture as a baseline
  • Continuously tracks posture using pose estimation
  • Detects issues such as slouching, forward head posture, and uneven shoulders
  • Triggers corrective stretch routines after configurable periods of poor posture
  • Verifies stretch form using AI when available, with a rule-based fallback
  • Supports different user goals such as posture, back pain relief, flexibility, and desk breaks

The app includes a Qt-based GUI with live camera feedback, posture alerts, and customizable sensitivity settings.

How we built it

Tech Stack

  • MediaPipe and OpenCV for pose detection
  • Python backend with multithreading
  • PySide6 (Qt) for the GUI
  • Gemini API for optional stretch form verification
  • Plyer for system notifications

Architecture

  • Separate threads for camera capture, pose analysis, and workout guidance
  • Qt signals for safe cross-thread communication
  • Shared notifier logic for consistent posture timing behavior

Challenges

  • Fixing race conditions when switching between monitoring and workout modes
  • Preventing duplicated notification timers across threads
  • Reducing frame lag and false positives in pose detection
  • Handling API rate limits with reliable fallbacks

What we’re proud of

  • Consistent and reliable posture detection
  • Smooth transitions from detection to corrective workouts
  • Simple and fast calibration process
  • Customizable sensitivity and user goals
  • Clean, production-ready multithreaded design

What we learned

  • Thread synchronization is critical in real-time systems
  • Shared state must be carefully managed across threads
  • Calibration greatly improves pose detection accuracy
  • Fallback systems are essential when relying on external APIs

What’s next

  • Posture analytics and progress tracking
  • Mobile companion app
  • Wearable and workplace integrations
  • Gamification and habit-building features

Built With

Share this project:

Updates