Inspiration

Our inspiration came from the inefficiency of managing multiple tabs to research courses and professors, so we wanted to streamline the entire experience into a single interface.

What it does

GOLDLens is a Chrome extension that overlays real-time course intelligence directly on UCSB's GOLD registration system. When you hover over any course, it displays:

  • Historical grade distributions (A/B/C/D/F percentages across all instructors)
  • Professor ratings and reviews from RateMyProfessor, including difficulty scores and student comments
  • Current quarter instructors highlighted with stars, fetched live from the UCSB API
  • Per-instructor grading patterns so you can compare how different professors grade the same course

We also built an AI-powered chatbot that opens in a side panel. It's context-aware so when you click the search icon on a course card, the chatbot automatically loads all the grade data, RMP reviews, and course info, then lets you ask questions.

How we built it

  • Frontend: Vanilla JavaScript Chrome Extension (Manifest V3) with Shadow DOM for isolated UI components
  • Backend: FastAPI server that handles course data bundling and AI interactions
  • AI: Google Gemini SDK for generating course insights and powering the chatbot
  • Data Sources: UCSB API for live course/instructor data, scraped RateMyProfessor data using Playwright, and compiled historical grade distributions

Challenges we ran into

  • Data integration: Merging grade data, RMP reviews, and live UCSB API data into a unified bundle that the AI could reason about coherently
    • RAG tuning: Getting Gemini to pull course-specific data accurately without hallucinating or giving generic responses—we had to craft strict prompts that force data-driven answers

Accomplishments that we're proud of

  • Seamless UX that feels native to GOLD
  • Context-aware chatbot that knows exactly which course you're asking about
  • Real-time instructor detection that highlights who's teaching this quarter

What we learned

  • How to build Chrome extensions with Shadow DOM for style isolation
  • Integrating multiple data sources into a cohesive RAG pipeline
  • Prompt engineering to get consistent, structured JSON outputs from LLMs
  • Async scraping at scale with Playwright and rate limiting

What's next for GoldLens

  • Expand to support schedule planning and workload balancing across multiple courses
  • Deploy the backend so it works without running locally

Built With

Share this project:

Updates