About CourseCompass
Inspiration
We've all been there - staring at the course handbook at 2am, trying to decide which electives to take. With hundreds of courses and zero useful information beyond generic descriptions, it's basically guesswork. We wanted to fix that with data-driven recommendations.
What it does
CourseCompass is an AI recommendation system for university courses. Students rate courses they've taken on four dimensions (lecturer, material, grading, enjoyment), select their interests, and receive personalized suggestions. The system uses hybrid filtering - combining collaborative filtering to find similar students with content-based filtering to match interests and career goals.
How we built it
Frontend: Next.js with TypeScript and Tailwind CSS for a clean, responsive interface. Backend: FastAPI in Python with pandas for data processing and scikit-learn for ML algorithms. Database: Supabase (PostgreSQL) with row-level security.
The recommendation engine uses cosine similarity for user-user matching, calculates weighted scores (60% collaborative, 40% content-based), and implements intelligent caching (5-10 minute TTL) to achieve 5x faster response times.
Challenges
Cold start problem - new users have no ratings. Solution: content-based filtering as fallback plus onboarding interest selection. Performance with scale - solved with aggressive caching and targeted database queries. Data sparsity - lowered rating threshold from 4.0 to 2.5 stars to include more data points.
What we learned
Building recommendation systems requires balancing multiple approaches. Pure collaborative filtering fails for new users; pure content-based lacks personalization. The hybrid approach with proper caching makes it production-ready.
Log in or sign up for Devpost to join the conversation.