Inspiration

As CMU students, we got tired of hunting through Canvas modules, scattered PDFs, and course websites just to figure out what a class actually covers or which prerequisites we need. We thought there had to be a better way to explore the CS curriculum - something visual where you could see how courses connect and actually find the materials you need without clicking through ten different links. So we built CMU Study Buddy to solve our own problem: a way to see the entire CS curriculum laid out in 3D and chat with an AI that knows exactly where everything is.

Demo

What it does

CMU Study Buddy shows you CMU's CS courses as an interactive 3D map where you can see how classes connect through prerequisites. You can chat naturally with an AI assistant to find what you need - like asking "Tell me about 15-213's cache chapter" and the map automatically zooms to that course while the AI finds the relevant lecture notes and materials. We collected 872 PDFs, lecture videos, and course descriptions across over 170 CMU CS courses, and you can search through all of it just by talking to the AI. It's basically like having a friend who's taken every class and remembers where everything is.

How we built it

Tech Stack

The frontend is built with Next.js and React, and we used Three.js to create the 3D visualization where courses are nodes connected by prerequisite relationships. The backend runs on FastAPI with Python, and we use Claude AI with function calling so it can intelligently search through our course database and pull up specific documents. All the data lives in Supabase. We spent a lot of time collecting and organizing course materials - downloading PDFs, transcribing videos, and structuring everything so the AI could actually find stuff. The AI doesn't just guess answers, it actively queries our database to give you real information from actual course materials.

Challenges we ran into

Getting all the course data was way harder than we expected. Every course website is organized differently, PDFs have random names, and we had to manually clean up a lot of it. We ended up with 2.7GB of data which almost broke our git repo when we tried to push it - we had multiple push processes fighting each other and had to kill them and push commits one by one. Making the 3D graph perform smoothly with hundreds of course nodes was tricky. Getting the AI to consistently fetch the right documents and navigate to the right course took a lot of trial and error with the prompts. And debugging why things worked locally but not in deployment was the usual nightmare.

Accomplishments that we're proud of

We actually built something that works and feels really smooth to use. Watching the 3D map zoom into a course while the AI pulls up materials at the same time is genuinely cool. We put together a huge dataset covering most of CMU's CS curriculum that didn't exist in one place before. The AI can dig through course materials and find exactly what you need, which feels genuinely useful. The interface is clean and not overwhelming despite how much is going on behind the scenes. And we're proud we finished something complete that we'd actually use ourselves.

What we learned

Data cleaning takes forever and is way messier than you think. We learned a lot about 3D graphics with Three.js and how force-directed graphs work. Working with AI function calling taught us how to build systems where AI can interact with databases intelligently. We learned that good setup documentation and environment configs save you hours later. Git with large files taught us some painful lessons. Most importantly, we learned that building tools for ourselves and people we know is way more motivating than abstract projects - knowing this could help actual CMU students made it worth it.

What's next for CMU Study Buddy

We want to expand beyond CS to include ECE, Math, and other departments so students can plan their whole degree. Adding user accounts would let people save courses, track what they've taken, and get personalized recommendations. We want to add features where students can share notes and form study groups. The AI could generate custom study guides and summaries by combining multiple course materials. Better mobile support, calendar integration, and real-time course availability would make this actually indispensable. Basically we want CMU Study Buddy to become the main tool every CMU student uses for planning classes.

Built With

  • claude
  • fastapi
  • nextjs
Share this project:

Updates