Inspiration

We were at Qdoba and became unfocused while brainstorming ideas for MadHacks. In a moment of genius, we decided the perfect solution would be a browser extension that allows the user to stay on focus by blocking sites not relevant to their topic they are working on.

What it does

Our extension allows the user to input a topic they are working on, and using advanced AI algorithms, processes visited webpages and determines whether the user is staying on topic or not. If the user visits an "off-topic" page they will be given a gentle reminder to stay on task.

How we built it

Our extension utilizes the powerful and universal Google Chrome API to retrieve relevant data from the websites the user visits. Our bootstrap front-end grabs text and forwards via an HTTP request to a Google Cloud Function which contains Python code to utilize OpenAI API to process whether the website is related to the user's topic. An HTTP response is sent back containing a binary identifier on whether the user is on/off-topic. The front-end then handles the identifier and appropriately blocks out the site so the user must return to the topic at hand.

Challenges we ran into

Initially we had some trouble setting up a Chrome extension as none of us had experience with this type of development before. Two other issues arose later on in our development cycle. Firstly, was finding an appropriate LLM model that could identify website topics accurately and quickly, and later waiting for OpenAI to recover from an outage. Secondly, was coding trouble regarding the event listeners becoming out of sync with Cloud Functions and not updating if the page is blocked or not in time.

Accomplishments that we're proud of

We are especially proud of quickly handling tab event updates and processing topics while still allowing an easy integration into our other systems.

What we learned

Web development can take many paths, and sometimes the first "easiest" path is not the easiest.

What's next for TopicTunnel

Making the blocking animation smoother. Becoming a startup and bought out for 1 million dollars.

Share this project:

Updates