Inspiration
If you're a college student like me, then you also find yourself battling procrastination. Distractions seem to lurk at every corner. I wished for a tool that could gently nudge me back to focus whenever I drifted. As a result, we aimed to develop an app that not only benefits us but also fellow students. Harnessing the power of computer vision, I created an application that tracks distractions our behavior on the screen and alerts users to refocus, ensuring that we make the most of our valuable study time.
What it does
Our desktop software taps into your laptop's camera to monitor facial behaviors, objects like cellphones, and nearby people to identify potential distractions. If you're off-task for too long, it triggers a deliberately annoying alarm, prompting you to refocus on your studies. It's a proactive way to combat procrastination and ensure productive study sessions.
How we built it
We utilized PyQt6 for our software's GUI foundation, ensuring an intuitive user experience. For the core functionality, we harnessed the power of PyTorch, specifically the YOLOv5 model, allowing us to employ transfer learning on a convolutional neural network. This facilitated a range of object detection tasks, such as drowsiness detection. We integrated OpenCV to access the user's webcam and to provide a live display of the model's predictions, offering real-time feedback on distraction levels. Additionally, we incorporated matplotlib for in-depth data visualization, giving users insights into their focus patterns over time.
Challenges we ran into
Building this application presented its own set of unique challenges. Firstly, mastering PyQt6 was an uphill battle as it was unfamiliar terrain for us. The nuances of GUI design, coupled with the intricacies of the framework, required a steep learning curve. But arguably, the most daunting task was training the neural network model. The process was not only intricate but also time-consuming. Fine-tuning the model to achieve optimal accuracy and efficiency demanded patience, extensive testing, and iterations. Nonetheless, these challenges made our success all the more rewarding and shaped the robustness of our final product.
Accomplishments that we're proud of
We're immensely proud of several milestones achieved during this journey. Firstly, navigating and mastering PyQt6, a platform initially foreign to us, to create a sleek and user-friendly interface stands out. Our ability to efficiently train a neural network model, despite the complexity, is another high point. We successfully implemented real-time object detection tasks like drowsiness, human detection, and phone detection, which we believe will make a significant difference in users' study habits. Additionally, integrating OpenCV and matplotlib seamlessly into the system not only showcased our technical prowess but also enhanced the user experience. Above all, witnessing our vision transform into a functional tool that can genuinely aid students in their studies has been the most rewarding accomplishment.
What we learned
In this project, we became adept with a GUI framework and grasped the complexities of neural network training. We successfully implemented real-time detections for drowsiness, human presence, and phone usage. Through continuous testing and user feedback, we refined our application, underscoring the significance of iterative development in software projects.
What's next for FocusGuardian - AI Based Study Helper
Looking ahead, we've got big plans on the horizon. We're aiming for some fresh feature expansions and design touch-ups to make it even more user-friendly. And with all this progress, a launch might be just around the corner. So, stay tuned – and focused!

Log in or sign up for Devpost to join the conversation.