Inspiration

This app helps target productivity's number 1 enemy: procrastination.

We wanted to make an app that would help us stay on track with schoolwork and stop us reaching from for our phone every few minutes. After having tried everything, we knew that the solution had to be so annoying that it left us no choice but to focus.

We ended up building an obnoxious app that looks at your every eye movement. The second you look away, it makes loud and annoying noises. It also instructs your home assistant to keep nagging at you to go back to your work.

Please bear in mind, the website was designed with mismatching colors and funny fonts on purpose.

What it does

By using webcam based eye-tracking, the website continuously monitors where you are looking. When it detects that you've looked off the screen, it plays random noises until it gets your attention again and you look back at the screen. At the same time, using another device which is connected to your home-assistant via bluetooth, it plays an audio clip telling you to repeatedly focus until you look at your screen again.

How we built it

We used WebGazer.js for the eye-tracking process. Everytime the library's algorithm thought that your eyes were off the screen, we played a random sound. We then used websockets to tell the other bluetooth enabled device to play the "Focus" sound track on the Alexa at the same time. We built the front-end using bootstrap, css, and html. The scripts and backend were written in Javascript. We used Express.js and node.js to handle the backend.

Finally, we hosted the whole thing on Heroku.

Challenges we ran into

The eye-tracking was not very accurate at all. We found that we had to continuously calibrate it for it to be accurate. However, this turned out to be a blessing in disguise, considering the theme of this hackathon. The app is very impractical to use because it is very inaccurate if uncalibrated and sometimes buzzes for no reason.

We also found it hard to make an Alexa skill that we could make requests to play audio to, so we had to default to using a second device to connect to the Alexa via bluetooth and transmit audio.

Accomplishments that we're proud of

We were able to purposely design a terrible front-end and a bad user experience and build an app that no one should ever use.

All joking aside - we worked well as a team, successfully completed everything we wanted to build, and had a lot of fun doing it.

What we learned

We learned how to use GitHub to collaborate on a project. We sharpened our skills in client-side scripting and front-end design.

What's next for Hocus Focus

We want to create more inconvenience for our users, possibly by implementing (harmless) electric shocks or buying items on their Amazon every time they look away from their screen. We would also love to improve the accuracy on the eye-tracking to make this idea more usable. Finally, we would love to implement more features using the home-assistant.

Share this project:

Updates