Inspiration
Focus Flow was built out of our tendency to forget to look away from our screens. Throughout the day, as we code, we often forget to look away from the screen and protect our eyes. Worrying about this lowers productivity levels and can make it harder to focus on daily life. FocusFlow was created to simplify your daily routine by automatically taking care of your eye wellness, so you can focus on your work without worrying about remembering to rest your eyes.
What it does
Focus Flow's goal is to remind users to take breaks from coding and screen time. After launching the app, you can minimize it and continue programming, but the app will post a notification and play a buzzer to remind you to take a break and look away from your screen. The app also focuses on tracking blink rate and distance away from the camera so that you are not consistently staring at a screen too closely. This application alleviates the user's routine and having to remember to take breaks by reminding them with FocusFlow.
How we built it
We built this using Mediapipe, which uses computer vision to track user facial features, and PyQT6 to create an interface displayed to the user. In separate scripts, we coded a program to track the user's gaze, blink rate, and screen depth. Then, we integrated this into PyQT6 to display and issue a sound.
Challenges we ran into
The main challenge we ran into was integrating the Python scripts with PyQT6 and displaying the frames, as we had never used PyQT6 before.
Accomplishments that we're proud of
We are most proud of the linear-algebra-based integration in our project that enables gaze detection even when your head is rotated or tilted. Additionally, we are pleased to have figured out how to use PyQT6 to showcase our project.
What we learned
In this project, we learned how to use Mediapipe for the first time and how to track facial features with it using landmarks. We are also proud to have used PyQt6 to build the interface, as we had to overcome many hurdles.
What's next for FocusFlow
The next step for FocusFlow is to improve the interface to showcase all functionalities more clearly, as our goal today was to integrate all features to enhance daily life as much as possible. Once we complete that, we also hope to add a posture feature to improve your routine.
Built With
- mediapipe
- pyqt6
- python
- vscode
Log in or sign up for Devpost to join the conversation.