Inspiration

In our increasingly digital world, millions of individuals are trapped in an addictive cycle of doom scrolling. As a result, tasks that could take them a couple hours to complete would spiral into multi day endeavors due to procrastination. Another challenge people face is losing track of their task at hand, leading to someone attempting to do everything rather than completing one goal at a time. This leads to decreased focus and frustration when the person becomes essentially lost in their own work. These effects of procrastination compound on each other, leading towards symptoms of depression, anxiety, or even just unnecessary stress. We build Resolve to combat this, so that you can stay on top of your responsibilities. The name is a testament to the challenges each and every one of us endures to achieve our greatest aspirations, pushing past our limits in order to do so. However, these experiences only make our accomplishments all the more gratifying.

What it does

We created a Chrome extension that uses AI to determine if a page is productive to your intended goal or not. First the user would enable the extension on google chrome, and will be prompted to input their goal for the day. This goal could be anything they are looking to accomplish, and the extension will essentially keep them accountable for that by only allowing the user onto tabs related to the goal.

The goal is then stored onto the background of the extension, and is called each time a new page is navigated. In addition, the extension scrapes the title of the HTML page rendered as a benchmark to the goal. The title is tokenized and both are then sent to the backend to be classified. We use the OpenAI GPT-3.5 model’s chat completion API to categorize if the prompt is similar to the goal. If it is deemed not similar, the page will be closed, and the user is routed to a new page, which informs the user that they are off task and asks for them to return to work.

In order to give some leeway between navigating between pages, we set a 20 second delay before the API call is made. This way, general user navigation is not disturbed.

How we built it

We used Plasmo as a framework for our Chrome extension, calling the Chrome API on the front end. On the backend we used Flask as an API endpoint for communication with our OpenAI model. Lastly we used the OpenAI API to provide chat completion.

Challenges we ran into

Our team has not worked with Chrome extensions and OpenAI APIs prior to this event, leading to some learning curve in understanding each framework’s documentation. We ran into technical challenges on one of our devices, which led to difficulties in the project setup and debugging the background processes on our extension. Using OpenAI led to rate limit issues, leading us to choosing a model with less overhead.

Accomplishments that we're proud of

Created our first AI application Created our first Chrome extension that solves a unique problem in a simplistic way

What we learned

We learned a lot about using AI tools and the inner workings of LLMs. Additionally we became more comfortable with reading documentation.

What's next for Resolve

Our next step would be to experiment with different pre-trained models to find one that would optimize effectiveness and overhead. From there we can also explore using Azure Machine Learning to train our own models. Additionally, we want to display real time data that tracks the user’s improvement, as well as persistent storage with databases. Lastly, we would create customizable avatars and additional features to improve the user experience of our product.

Built With

Share this project:

Updates