The COVID-19 pandemic has left nearly all of us working remotely. This means that we’re spending more time than ever in front of computer screens. Research shows that this can lead to increased eye strain and fatigue. As students who will be taking online classes for extended hours in the near future, we saw a chance to solve this problem with data and optimize our daily grinds.
To tackle the problem of screen fatigue, we combined the computer vision technology of OpenCV with the usability of a website app. With a Flask backend connecting the Python computer vision app with the user-friendly front end, Blink was born.
Blink is a data-driven wellness and productivity platform that tracks your eye movements and creates intelligent recommendations about optimal times for work and rest. Blink tracks you while you work to see how drowsy you get and how often you leave your screen to rest. If your eyes are getting strained, or if you're not taking enough screen breaks, Blink will send a gentle reminder to your browser notifications.
Blink’s landing page visualizes the user’s eye aspect ratio, which is a measure of their alertness. This graph updates live, showing the user how their data is used in recommendations. Your anonymous eye strain data is constantly stored in our database, which means that Blink is also able to update live and provide notifications when they are most necessary.
With a menu in the top right corner, you can navigate to a video with overlaid information displaying what Blink collects as data. Since Blink uses facial recognition, this video helps you to understand how data is collected from them, and how it relates to the graph displayed on the landing page.
Lastly, the Recommendation page is where Blink provides specific recommendations to users. These recommendations are bolstered by our system of notifications, allowing them to take breaks at optimal times, coming back to their online work well rested, happier, and more productive.
Technology, Tools, and Process
Learning and Challenges
Building Blink was an amazing learning experience for all of our members. This hackathon challenged us to level up our product thinking, systems design, and technical knowledge under time pressure.
We began intending to create this app offline, so that OpenCV would be the only entirely new software we’d have to learn. However, as time went on, we became more ambitious and decided to host Blink online. This meant that we not only had to learn about databases and backends, but also create a robust, full-stack web application, communicating between our front- and backend.
It would be nice to deliver a more complete analysis of wellness and productivity; we’d like to include different measures of fatigue, such as poor posture, to expand Blink’s functionality and enable it to become more robust in its recommendations. Given enough time and data, we'd also like to leverage machine learning for the recommendation engine. This would be a huge undertaking, though, and we'd likely have to generate much of the training data ourselves.
Data security is a very real concern. To ensure that user data is secure, we could add encryption to Blink, ensuring that our users’ data is safeguarded and protected with the best security technology.
Finally, we would like to deploy Blink as a fully-fledged web application on Heroku, enabling anyone who wants to use it to run it whenever they want to. Since Blink can be used by anyone, we want it to be accessible to everyone. Making Blink freely available would help us increase productivity and boost wellness for more people, a goal we’re passionate about and hope to see realized.