Inspiration

Choosing the right courses each semester is overwhelming. Students rely on fragmented sources like university course catalogs for structure, RateMyProfessors for professor reviews, and Coursicle for scheduling and course insights.

This process is time-consuming, inefficient, and still leaves students unsure about their decisions. We were inspired by this every semester chaos, the need to open multiple tabs, compare scattered information, and still lack clarity. Our goal was to eliminate this fragmentation and create a unified, intelligent system for course decision-making.

What it does

UAdvisor is a course recommendation platform that analyzes a student’s academic profile and preferences to generate ranked, explainable course section recommendations.

Students can:

  • Input their profile and can upload a transcript (optional)
  • Set preferences such as difficulty, schedule, format, and interests
  • Receive a ranked list of course sections with a 0–100 match score

Each recommendation includes a breakdown of why it fits, what can they expect from the class, from the professor, helping students make faster, more confident decisions.

How we built it

We built UAdvisor using the Lovable platform with React and TypeScript for rapid frontend development.

We created a Python-based data pipeline to scrape, clean, and merge data from:

  • University course catalog
  • RateMyProfessors
  • Coursicle

This pipeline generates a unified dataset used directly by the application.

Behind the interface, UAdvisor uses a custom match-scoring engine.

Step 1: Basic Eligibility Filters

The system first removes courses that do not fit required constraints, such as:

  • Already completed courses
  • Missing prerequisites
  • Credit conflicts
  • Enrollment constraints

Step 2: Multi-Factor Scoring

Remaining course sections are scored across multiple dimensions:

  • Foundational / academic fit
  • Personal interests
  • Difficulty preference
  • Workload preference
  • Schedule compatibility
  • Online / in-person format preference
  • Professor quality and ratings
  • Historical sentiment data

Step 3: Explainable Ranking

Each recommendation receives a transparent score from 0 to 100 with reasoning such as:

  • Why this course matches your goals
  • Expected workload
  • Instructor reputation
  • Scheduling advantages
  • Potential concerns to consider

Edge Cases Handled

  • New professors with limited ratings
  • New courses with sparse data
  • Missing data scenarios
  • Students with partial transcripts
  • Schedule conflicts
  • Already completed requirements

Challenges we ran into

Working with scraped data introduced several challenges. Each source had different formats and inconsistencies, requiring extensive cleaning and normalization.

Mapping professors to courses across datasets was particularly complex, especially with missing or ambiguous identifiers.

We also faced a key design challenge: balancing rich insights with simplicity. Presenting too much data risked overwhelming users, so we focused on delivering clear, actionable recommendations.

Accomplishments that we're proud of

  • Built a fully functional prototype with real scoring logic
  • Consolidated multiple fragmented platforms into one system
  • Designed an explainable recommendation engine (not a black box)
  • Created a seamless, intuitive user experience
  • Delivered a solution that directly addresses a real student pain point

What we learned

  • We learned that the core issue is not lack of information, but how scattered and difficult it is to use.
  • Students benefit more from decision support than raw data. Clear, explainable recommendations build more trust than complex systems.
  • We also learned that working with real-world scraped data requires strong data cleaning, matching, and fallback strategies.
  • Most importantly, using a vibe coding approach allowed us to iterate quickly and build a solution that feels natural and useful.

Helping students decide is more valuable than just showing information.

What's next for UAdvisor

  • Integrate real-time university and external data sources
  • Add AI-powered review summarization and personalization
  • Build a schedule planner with conflict detection
  • Introduce predictive insights (workload balance, success rates)
  • Expand into a mobile platform

Built With

Share this project:

Updates

Submission history