Inspiration
I hated getting lost in the portal and going on a new tab to find out how to navigate through the website only to switch tabs constantly to find out where to go
What it does
An ai model will take in the users request and gives the user direction. More importantly though, it highlights the correct word to click. That way the user doesn't have to keep looking back at what the next word to click next.
How we built it
We used flask to run a local python server. This server handles requests and prompts to Gemini's LLM and also carries our prompt engineering. The chrome extension is made up of base hmtl, a javascript file for the popup functionality, css for stylization, a background javascript worker to communicate with the python server, and a content javascript file that runs as a part of the myUCF webpage. This content javascript uses chrome messaging to communicate back and forth with the popup to highlight the appropriate elements by modifying the html of the webpage. This content.js also uses chrome session storage in order to store the current conversation text between opening and closing the popup. It also uses session storage to remeber what to highlight between reloads of the active tab. The popup javascript file uses chrome sync storage to store bookmarks and previous searches. The python server also connects to a mySQL database using SQL to store, retrieve, and send popular searches.
Challenges we ran into
We struggled during the entire project. All of us were learning how to use javascript, css, and html for the first time. The prompt engineering was difficult as the AI would sometimes skip steps and so the program didn't have word to highlight. Another difficulty was setting up the database as it was difficult to find resources on how to set it up with a chrome extension. We also had difficulty in placing all the buttons in the correct place in the beginning. The last major difficulty was understanding how to get the highlighting to work.
Accomplishments that we're proud of
We are proud of everything that we did. It was all of our first time working with so many new technologies and languages. While our team started with no conception of the architecture or technology, we would need to complete the project, we were all able to learn so much from scratch.
What we learned
We learned how to code in all the languages mentioned above. Individually, we learned how to use an AI model and set it up to a server, create a database and collect information from a chrome, alter the database to increment a count by 1 to display data based on most counted searches, highlighting
What's next for KnightFinder
We plan on making users have a sign in account (ideally with their student email) to have the history and bookmarks work through different devices. We also plan on releasing this code to other universities and colleges.
Log in or sign up for Devpost to join the conversation.