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.

Built With

Share this project:

Updates