Project Info
This project did not submit a demo video on Devpost.
Inspiration
As STEM students, we spend countless hours hunched over screens, often ignoring our posture until the pain kicks in. Yet, we easily notice when others slouch! We realized that if we had a real-time reminder to sit straight, we could prevent long-term damage. That’s why we built Slouching Slugs—an AI-powered posture guard that nudges you before bad habits occur.
What it does
We utilize the built-in webcam or an external one and send a live feed to our program that detects if the user is slouching or not, and if so, a notification is sent to the user's desktop as well as a pop-up with advice on how they can improve
How we built it
We engineered Slouching Slugs entirely in Python, using OpenCV for real-time webcam processing and MediaPipe to track critical posture landmarks (shoulders, nose, eyes). Our system implements a 200-frame image buffer that analyzes posture state across multiple frames - only triggering Gemini API feedback when 75% of buffered frames (150+ images) confirm slouching, preventing false alarms. After generating personalized corrective advice (e.g., "Ensure your monitor is at eye level to avoid hunching over"), the deque automatically clears to avoid notification spam. The frontend delivers these insights through a Tkinter GUI and subprocess-powered desktop alerts, creating a seamless feedback loop.
Challenges we ran into
One challenge we encountered was adjusting the sensitivity of the slouch detector; at times, it was too sensitive, and a slight movement would cause it to send a notification.
Accomplishments we're proud of
We are most proud of being able to fully commit ourselves to this project and achieve what we have done today through 48 hours of coding, debugging, learning, and collaboration. This was our first hackathon, so we did not know what to expect. We learned a lot about building an application from scratch.
What we learned
We learned how to utilize more technologies, such as the variety of Python libraries we used, and gained more experience with AI and LLMS through Gemini. Beyond tech, we also better understood how our postures can affect us in the long run and key points to look out for. Alongside how we will approach the next hackathon with better time management and organization and not be afraid to branch out and go all-in on an ambitious project.
What's next
We plan on scaling this more through creating our own convolutional neural network and training it to our standards by having actual people be subjects and documenting their posture to provide our program with much better accuracy. Also, we would want to improve our user interface and include more features and customization for our users.
CruzHacks2025
By: Wilson Xie, Evan Nguyen, Austin Lien
💻 How to Run
To launch Slouching Slugs, make sure you have Python 3.10+ and the required packages installed.
- Clone the repository and navigate to the project directory:
git clone https://github.com/your-username/slouching-slugs.git
cd slouching-slugs
pip install -r requirements.txt
python ./app/gui_app.py
Inspiration
As STEM students, we spend countless hours hunched over screens, often ignoring our posture until the pain kicks in. Yet, we easily notice when others slouch! We realized that if we had a real-time reminder to sit straight, we could prevent long-term damage. That’s why we built Slouching Slugs—an AI-powered posture guard that nudges you before bad habits occur.
What it does
We utilize the built-in webcam or an external one and send a live feed to our program that detects if the user is slouching or not, and if so, a notification is sent to the user's desktop as well as a pop-up with advice on how they can improve
How we built it
We only used Python to code this, as it offers the most diverse range of libraries we can utilize. Some important libraries we used were mediapipe to help map out the important points on the body, such as the shoulders, nose, and eyes. Then, we created our own program to determine if the user is slouching or not utilizing those points. We then take a snapshot of the slouch and send that to gemini AI to provide advice to the user on what and how to improve.
Challenges we ran into
A big challenge we encountered was adjusting the sensitivity of the slouch detector; at times, it was too sensitive, and just a slight movement would cause it to send a notification.
Accomplishments that we're proud of
We are most proud of being able to fully commit ourselves to this project and achieve what we have done today within 48 hours. As this was our first hackathon, we came in with low expectations; however, those were easily exceeded.
What we learned
We learned how to utilize more technologies, such as the variety of Python libraries we used, and gained more experience with AI and LLMS through Gemini. Beyond tech, we also better understood how our postures can affect us in the long run and key points to look out for. Alongside how we will approach the next hackathon with better time management and organization and not be afraid to branch out and go all-in on an ambitious project.
What's next for Slouching Slugs
We plan on scaling this more through creating our own convolutional neural network and training it to our standards by having actual people be subjects and documenting their posture to provide our program with much better accuracy. Also, we would want to improve our user interface and include more features and customization for our users.
Analysis
View
Metric
- 5
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- PythonIn code
- Google GeminiClaimed
1 of 2 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
18 KB
Source files
6
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
NguyenEvan/slouching-slugs
8 files · 18 KB · @ a2dd6f0
Structure
Interface
5 files · 63%Screens, components and styles rendered to the user.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- Python68%
- Markdown32%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
requirements.txt
pypi · 6- mediapipe
- opencv-python
- PIL
- python-dotenv
- win10toast-click
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.