

GauchoClass
GauchoClass
FEB 2025
FEB 2025
Best AI • SBHacks XI
Best AI • SBHacks XI
Partners
Partners
Figma
Case Study
Website Development
Frontend
Python
Data Analysis
Tailwind CSS
A RAG application that scrapes & gathers UCSB grade distributions for each professor per quarter, ratemyprofessor, and overall course info to allow students to make intuitive queries when enrolling.
A RAG application that scrapes & gathers UCSB grade distributions for each professor per quarter, ratemyprofessor, and overall course info to allow students to make intuitive queries when enrolling.
Inspiration
Inspiration
The complex process of course selection at UCSB extends beyond merely meeting degree requirements. WE ALWAYS look at ratemyprofessor.com, reddit, and college provided course websites to find which professors will give us the best edge in being successful in the course we intend to take. We wanted to create an RAG AI-powered solution that could analyze comprehensive course data and provide personalized recommendations based on each student's unique academic profile and learning style while cross referencing relevant data to make sure there are no hallucinations. The ability to analyze student transcripts adds another layer of personalization, allowing the system to understand each student's academic journey and make truly tailored suggestions.
The complex process of course selection at UCSB extends beyond merely meeting degree requirements. WE ALWAYS look at ratemyprofessor.com, reddit, and college provided course websites to find which professors will give us the best edge in being successful in the course we intend to take. We wanted to create an RAG AI-powered solution that could analyze comprehensive course data and provide personalized recommendations based on each student's unique academic profile and learning style while cross referencing relevant data to make sure there are no hallucinations. The ability to analyze student transcripts adds another layer of personalization, allowing the system to understand each student's academic journey and make truly tailored suggestions.
What it does
What it does
GauchoCourse has an intelligent chatbot, Oviya, that leverages RAG (Retrieval-Augmented Generation) technology to provide personalized course guidance. By combining official UCSB course data, RateMyProfessor reviews, and historical grade distributions made available through FERPA, our AI assistant helps students make data-driven decisions about their course selections. When a student shares their transcript, the system intelligently chunks this information into meaningful segments, analyzing course patterns, grade trends, and academic strengths to provide even more personalized recommendations. The system analyzes patterns in grade distributions to identify courses where students with similar academic profiles historically perform well, considers professor teaching styles from RateMyProfessor reviews, and integrates this with official course information to provide comprehensive, personalized recommendations.
GauchoCourse has an intelligent chatbot, Oviya, that leverages RAG (Retrieval-Augmented Generation) technology to provide personalized course guidance. By combining official UCSB course data, RateMyProfessor reviews, and historical grade distributions made available through FERPA, our AI assistant helps students make data-driven decisions about their course selections. When a student shares their transcript, the system intelligently chunks this information into meaningful segments, analyzing course patterns, grade trends, and academic strengths to provide even more personalized recommendations. The system analyzes patterns in grade distributions to identify courses where students with similar academic profiles historically perform well, considers professor teaching styles from RateMyProfessor reviews, and integrates this with official course information to provide comprehensive, personalized recommendations.
How we built it
How we
built it
We developed a sophisticated data pipeline that combines multiple sources of UCSB academic information with intelligent transcript processing capabilities. Our Python scraping script collects and processes data from three key sources: official UCSB course catalogs and descriptions, RateMyProfessor reviews that capture qualitative insights about teaching styles and course experiences, and historical grade distribution data obtained through FERPA that provides quantitative metrics of student success. The transcript analysis system employs advanced text chunking algorithms that break down academic records into meaningful segments, considering factors like course sequences, prerequisite chains, and grade patterns. This data is vectorized and stored in Pinecone's vector database, enabling efficient similarity search and real-time retrieval. The frontend uses React with Tailwind CSS to create an intuitive chat interface, while our Python FastAPI backend handles the RAG implementation, combining retrieved contextual data with large language model capabilities to generate informed, personalized responses.
We developed a sophisticated data pipeline that combines multiple sources of UCSB academic information with intelligent transcript processing capabilities. Our Python scraping script collects and processes data from three key sources: official UCSB course catalogs and descriptions, RateMyProfessor reviews that capture qualitative insights about teaching styles and course experiences, and historical grade distribution data obtained through FERPA that provides quantitative metrics of student success. The transcript analysis system employs advanced text chunking algorithms that break down academic records into meaningful segments, considering factors like course sequences, prerequisite chains, and grade patterns. This data is vectorized and stored in Pinecone's vector database, enabling efficient similarity search and real-time retrieval. The frontend uses React with Tailwind CSS to create an intuitive chat interface, while our Python FastAPI backend handles the RAG implementation, combining retrieved contextual data with large language model capabilities to generate informed, personalized responses.
Challenges we ran into
Challenges
we ran into
Integrating diverse data sources presented significant challenges in data normalization and matching. Professor names often appeared differently across systems, and course codes needed careful standardization. The transcript processing system required sophisticated algorithms to handle various transcript formats and extract meaningful patterns. We had to ensure our grade distribution analysis accounted for various factors like term variations and department differences. Additionally, implementing effective RAG required careful tuning of our retrieval system to provide relevant context while maintaining conversational fluency. The chunking algorithm needed to balance granularity with context preservation to ensure meaningful analysis of transcript data. CodeBuff helped so much with debugging minor issues and really optimized our productivity a ton!
Integrating diverse data sources presented significant challenges in data normalization and matching. Professor names often appeared differently across systems, and course codes needed careful standardization. The transcript processing system required sophisticated algorithms to handle various transcript formats and extract meaningful patterns. We had to ensure our grade distribution analysis accounted for various factors like term variations and department differences. Additionally, implementing effective RAG required careful tuning of our retrieval system to provide relevant context while maintaining conversational fluency. The chunking algorithm needed to balance granularity with context preservation to ensure meaningful analysis of transcript data. CodeBuff helped so much with debugging minor issues and really optimized our productivity a ton!
Accomplishments
Achievements
We successfully created a comprehensive academic data ecosystem that combines official records, peer reviews, historical performance data, and intelligent transcript analysis. Our system effectively processes this information to provide nuanced course recommendations that consider both qualitative and quantitative factors. The transcript chunking system successfully identifies meaningful patterns in academic histories, enabling truly personalized recommendations. The RAG implementation achieves high relevance in its responses while maintaining natural conversation flow, effectively incorporating insights from processed transcript data.
We successfully created a comprehensive academic data ecosystem that combines official records, peer reviews, historical performance data, and intelligent transcript analysis. Our system effectively processes this information to provide nuanced course recommendations that consider both qualitative and quantitative factors. The transcript chunking system successfully identifies meaningful patterns in academic histories, enabling truly personalized recommendations. The RAG implementation achieves high relevance in its responses while maintaining natural conversation flow, effectively incorporating insights from processed transcript data.
What we learned
What we
learned
This project deepened our understanding of RAG architectures and their practical implementation. We gained expertise in data scraping and normalization across multiple sources, vector database operations, and the intricacies of building context-aware AI systems. Developing the transcript analysis system taught us about effective text chunking strategies and pattern recognition in academic data. Additionally, we learned how to effectively combine different types of academic data to create meaningful insights for students.
This project deepened our understanding of RAG architectures and their practical implementation. We gained expertise in data scraping and normalization across multiple sources, vector database operations, and the intricacies of building context-aware AI systems. Developing the transcript analysis system taught us about effective text chunking strategies and pattern recognition in academic data. Additionally, we learned how to effectively combine different types of academic data to create meaningful insights for students.