Inspiration

Every semester, registering for courses feels like a scavenger hunt:

  • Asking peers which classes are good or bearable or what to expect
  • Browsing Reddit threads for tips
  • Checking RateMyProfessor for professor reviews

We wanted to simplify this process and make it more accessible. QuACKER brings together all the scattered information in one place, allowing students to make better-informed decisions without the hassle.

What it does

  • Shows course metrics like Easiness, Usefulness, Workload, Attendance Requirements, and Average Grade based on user input.
  • Lets users submit anonymous reviews and ratings.
  • Provides an "AI Summary" of all student comments for a quick, at-a-glance understanding of a course.
  • Provides search and filtering tools for quick course discovery.
  • Hosted entirely on GitHub Pages while using Firebase to handle dynamic user input.
  • It’s essentially a modern digital version of asking friends for course advice, with AI assistance, interactive features, and community contributions.

How we built it

  • Frontend: HTML, CSS, and JavaScript
  • Backend/Database: Firebase (Firestore) for storing anonymous reviews
  • Hosting: GitHub Pages
  • AI as a Feature: Google Gemini API (gemini-2.5-flash-preview-09-2025) to generate summaries of all student comments.
  • AI as a Tool: Google Gemini prompts to generate frontend code and Firebase integration logic.
  • Data: Used open-source data from QuACS for all official course information.

Challenges we ran into

  • Handling user input on a static website: GitHub Pages is inherently static, so integrating Firebase for anonymous reviews required careful setup to bridge the dynamic/static boundary.
  • Designing a usable interface: Displaying course metrics, ratings, and reviews in a clear, interactive way without overwhelming users.
  • Data management: Combining the static QuACS course data with dynamic, user-generated reviews from Firebase in a clean, searchable format.
  • DNS for custom domain: Setting up the custom domain to point correctly to the GitHub Pages repository.

Accomplishments that we're proud of

  • Built a fully functional, end-to-end course review platform.
  • Successfully made a “static” GitHub Pages site feel dynamic using Firebase.
  • Integrated the Gemini AI API as a core feature for summarizing user comments.
  • Used Gemini AI in our development workflow to speed up prototyping and coding.
  • Created a platform for anonymous, community-driven course reviews that helps students make better decisions.

What we learned

  • How to use GitHub Pages for dynamic-like behavior with Firebase.
  • How to integrate the Firebase (Firestore) database with a static site to handle live user input.
  • How to prompt Gemini effectively to generate usable HTML, CSS, and JS code.
  • How to call the Gemini API from frontend JavaScript to perform generative AI tasks for the user.
  • General experience with full-stack web development concepts on a lightweight stack.
  • How to configure custom domain names for a GitHub Pages project.

What's next for Quacker

  • Adding syllabus and course outcomes for each course
  • Improving filtering and search tools
  • Expanding to more universities
  • Adding graphs and visualizations for course ratings and trends
  • Implementing AI-assisted course recommendations based on student interests

Built With

Share this project:

Updates