Inspiration
Navigating the Courses@Brown website and choosing classes can be a challenge for any Brown student. Our goal is to assist students during the course search process with an advising AI and recommendations.
What it does
Our website uses Generative AI and Retrieval-Augmented Generation to provide personalized course recommendations for users.
For example: when a user writes "I like art and engineering", Dabble is able to recommend classes like
Art Fluid Engineering (ENGN 0350) and Robots as a Medium: Creating Art with Teams of Robots (CSCI 1952Z).
Our hope is that users can find classes that they otherwise may have missed.
How we built it
We used React for the frontend, Python (langchain) for the backend, and MongoDB Atlas for the database. When given a prompt/query from the frontend, we first compute its embedding and compare with the embeddings of classes in our Mongo DB Atlas Database. Mongo DB was very important for the project as it allowed us to hold all the course information as "documents" and keep a lot of important metadata that we could then pass into our RAG AI model. The RAG AI model then finds the most similar classes by cosine similarity to the prompt/query. We then feed both the questions and the prompt back into an LLM (OpenAI GPT 3.5 Turbo) which is able to use the relevant information to return a recommendation. The LLM can be especially helpful for finding nuances in the queries like "what art classes should I try without prior experience"
Challenges we ran into
We had issues with CORS for our server, which made it hard to integrate for a while. To solve this we had to get creative and use a API proxy/tunneling software called tunnelmole. We also had to get pretty deep into Course@Browns API which involved learning how to use network dev tools to find the correct endpoints. If extended to other colleges we would request an official listing of their courses from the registrar which should reduce a lot of this complexity and make it a lot easier to add them.
Accomplishments that we're proud of
As seniors we have used CAB for 4 years and know its shortcomings very well. And so we hoped that we could make a tool to help our peers and future underclassmen so that they can better find the classes that interest them. We're really happy they we were able to make such a project in 24 hours, and its been really fun to talk to other hackers and share our project.
What we learned
Hackathons are really great because it gives all of us the opportunity to both hone or skills and learn something new. Kazen was able to learn an entirely new React UI library, India was able to hone her API skills, Ben learned how to deploy web apps, and Avi was able to apply his research AI skills to a full stack application for the first time. We hope to take these skills both into future hackathons and industry.
What's next for Dabble - Course Advisor
We wish to add links to the courses on CAB and collect data for other schools.
MLH Prize Categories
We would like to be in the running for the "Best Use of MongoDB Atlas" and "Best Use of AI in Education by Schmidt Futures" prizes.
Log in or sign up for Devpost to join the conversation.