Inspiration

Ever since we entered college, procrastination has been a huge problem for us. There have been many times when we would avoid a huge homework project untouched until the day before it was due. Why? Because the task seemed unapproachable, with no end in sight! With FOCUS, we aim to break huge problems down into small, manageable steps to help everybody, including those with executive dysfunctions with being productive.

What it does

The user will tell FOCUS what they task they want to complete, and that's all they have to do! FOCUS generates a realistic timeline for the task's progress, making daunting tasks seem totally manageable. Not only that, FOCUS also has an in-built facial recognition feature that can detect when users feel frustrated, bored, or unmotivated, and give encouragement and motivation when necessary!

How we built it

First, we used two API keys - one from Gemini and one from Google Cloud for facial detection. We then built a Flask website that serves as an HTML/CSS chat UI, which sends messages to a backend powered by Google Gemini, and uses the browser camera to capture frames and POST them to Flask endpoints that call Google Cloud Vision API for emotion (and focus) detection. Next, we added motivational messages to the website whenever it reached a certain time, and used sounds as a reminder whenever the user is distracted/not focused on the task. We carefully crafted our website to ensure the user doesn't feel compelled or annoyed to work, but rather engaged and motivated with their studies and work.

Challenges we ran into

During the project, we encountered major obstacles in setting up the Python environment. We had to install Homebrew to install packages, and it took us a long time to adjust our environment to make the API for Gemini and Face detection work. We also spent significant time debugging our code, as it often crashed because of issues with the APIs. When dealing with HTML and CSS files, we often confuse the file types and write the code in the wrong files. However, after careful revision for about 20 rounds, we finally achieved our functional and engaging website.

Accomplishments that we're proud of

For now, we are proud that we have successfully implemented two APIs - one from Gemini Google and one from Google Cloud that implements facial detection. We're happy with our ability to design a website and make it accessible to everyone. We also implemented a website that can perform facial detection and speak to the user whenever it detects he/she is not focused. This web-app aligns with our mission to help everybody—especially those with executive dysfunction—focus on their work. We don't force focus; instead, we encourage breaks, nudge them to study, and engage them with their studies - and that's what makes us most proud.

What we learned

From this project, we solidified our concept of APIs. We got real practice with front-end and back-end with app development. We practiced setting up Python environments and installing packages using pip, pip3, and Homebrew commands. Lastly and most importantly, we learned to collaborate and think from the subjects' shoes - we try to design a website that fits their needs, so we need to make the website engaging and motivating. From all this, we grasped a sense of how to use technology to improve lives and shape our community for the better.

What's next for FOCUS

We want to move FOCUS beyond a web application: the end goal is to make FOCUS as accessible to as many people as possible. Eventually, FOCUS will become a mobile app, so that people can bring it with them wherever, whenever. We also want to make FOCUS's UI/UX more aesthetically pleasing.

Built With

Share this project:

Updates