Inspiration
Choosing the right professor or course is often a gamble for students. We wanted to make that decision smarter by combining course data, professor metrics, and AI all accessible through a natural, conversational interface and visual dashboard.
What it does
CrushMyCourse is an AI-powered academic assistant designed to help CSUF students make smarter course and professor decisions with ease. It brings together the best of both worlds a conversational chatbot and an interactive dashboard. By integrating official CSUF course data, RateMyProfessor reviews, and FERPA-released historical grade distributions, our AI assistant empowers students to make informed, data-driven decisions when choosing their courses.Students can chat naturally with the bot to get instant answers to questions like “What’s the GPA distribution for CPSC 131?”, “Is Prof. David’s class hard?”, or “What are the prerequisites for CPSC 351?”. On the visual side, the dashboard offers a rich browsing experience with detailed course and professor cards that showcase average GPA, difficulty level, student ratings, grade breakdowns, prerequisites, and even the “Would take again” score all at a glance. Whether you're exploring new classes or trying to pick the right professor, CrushMyCourse makes academic planning fast, insightful, and effortless.
How we built it
Frontend: A polished Next.js interface with course/professor selection and chat integration. Backend: Built with FastAPI, using a custom RAG pipeline powered by Groq (LLaMA 3) and LangChain. Vector DB: Embedded our full dataset with Chroma + HuggingFaceEmbeddings for fast retrieval.
Challenges we ran into
One of the main challenges we faced was scraping and structuring the course and professor data into a clean, usable format. Turning this raw data into an intuitive dashboard required thoughtful design and data mapping. On top of that, leveraging the same dataset to build a RAG-based conversational AI meant we had to ensure consistency and context-awareness across both visual and chat interfaces balancing structured and unstructured data retrieval was no easy feat.
Accomplishments that we're proud of
We seamlessly integrated an intelligent chatbot and interactive dashboard into one unified, intuitive platform. Our chatbot, powered by Groq’s lightning-fast inference, delivers highly relevant answers in real time, while the scalable backend lays the foundation for future expansion to multiple campuses. On the frontend, we built an impressive Next.js dashboard packed with smooth animations, dynamic filtering, and clean UI. One of our proudest features is the grade distribution bar, which visually breaks down course performance making it easier than ever for students to assess what they’re getting into at a glance.
What we learned
This project deepened our understanding of RAG systems and how to implement them effectively. We used various scraping methods like HTML parsing, Selenium, and manual curation to gather academic data, which we then cleaned and embedded using Chroma and Hugging Face models. We learned how to format context, chunk data smartly, and build a chatbot that delivers accurate, real-time answers. Working on transcript analysis also improved our ability to extract patterns and insights from unstructured academic text.
What's next for CrushMyCourse
We plan to enable transcript uploads so students can receive personalized course recommendations based on their completed classes, remaining requirements, and academic history. Additionally, we aim to expand CrushMyCourse beyond CSUF to support students at other universities by adapting our data pipeline and AI logic to work with different course catalogs and grading systems.
Log in or sign up for Devpost to join the conversation.