Zen Posture

Inspiration In today's age, it is very typical for many people to spend countless hours in front of computers, especially in computer science, which leads to poor posture and potential health issues. We recognized the need for a solution that actively helps users maintain good posture while working, studying, or browsing online. This inspired us to create Zen Posture, a desktop application that serves as your personal posture companion.

What it does

Zen Posture is an intelligent desktop application that uses real-time posture detection to help users maintain healthy sitting positions throughout their day. The application features include real-time posture monitoring that utilizes webcam input and TensorFlow to detect poor posture, schedule exercises and guide the user through exercises with reminders to prevent muscle strains, and detailed analytics to track posture and the user's improvement.

How we built it

We built Zen Posture utilizing a modern tech stack. We used Electron.js for the front end of the desktop integration and implemented React. We utilized MongoDB Atlas for smooth interaction between the front end and backend for the backend. Finally, we have an AI stack that utilizes Tensorflow to train data based on points plotted at the user's shoulders and nose. This allows us to accurately assess the user's posture in real-time and provide immediate feedback. We also implemented a lightweight notification system to alert users when poor posture is detected, helping them maintain better ergonomics throughout the day.

Challenges we ran into

We ran into many issues with linking the code's backend, frontend, and machine learning portions. We also had many problems with the front end and styling; we wanted it to look as sleek and user-friendly as possible. At first, we ran into issues with the backend because we did not utilize MongoDB Atlas, but we worked around this because we used the community version of MongoDB. We solved the linking of the backend, frontend, and machine learning portions of the code by reading integration documentation and ensuring each portion of each component was compatible with the rest of the code.

Accomplishments that we're proud of

Created a sleek, modern interface that makes posture tracking engaging Implemented an efficient notification system that helps users stay mindful. Developed a comprehensive analytics dashboard for progress tracking. Also, we built a cross-platform desktop application that runs smoothly and created a machine-learning model that accurately detects the loss of good posture. We utilized geometry to train our model and calculated the distance between the shoulders and the nose, and if the user is hunched over, the distance between both points would be shorter. After collecting hundreds of pictures for training, we normalized the data and utilized an equation to get a score from 1-100 based on their posture.

What we learned

We learned how to develop a desktop application with Electron.js and utilize real-time data processing and visualization to track statistics for the posture. We learned how to use BlazePose to map out points on the body. We learned how to utilize geometry for a use case to track a break in posture. Furthermore, we learned how to implement Electron.js into our application as a desktop application. Also, we learned to optimize the application's performance for continuous monitoring of data and design our UI for health applications. Lastly, we knew the importance of communication and teamwork as we worked on each other's laptops and created a comfortable work environment where we all felt we could work freely without judgment and have fun!

What's next for Zen Posture

What's next for Zen Posture? There is so much in tune for the future of Zen Posture because of all of the use cases for a webcam-based AI application. We want to improve machine learning for more accurate posture detection and even more health-based detection systems. We also want to implement synchronization with the cloud to keep track of progress across devices. Furthermore, we want to implement a social feature with friends where friends can create groups and earn prizes based on how much they improve and compete.

Built With

Electron React Node.js JavaScript Chart.js MongoDB TensorFlow BlazerPose Keras Pandas CSS HTML

Try it out Download App GitHub Repo [https://github.com/ryankamiri/ZenPosture]

Share this project:

Updates