QuackPrep

Free past exams and study material filtered by your school. Fully open source, and the project that taught me how to actually build a backend.

The Story


QuackPrep came from a problem I experienced firsthand as a Purdue student. Studying for exams sucks. You're digging through random Google results trying to find past exams, paying for Chegg or Quizlet Premium, and still not sure if you're studying the right material for your specific class at your specific school.


I wanted to build something that solved this for real. A platform where students could find free past exams and study materials filtered by their exact college and course. No paywalls, no premium tiers, no BS. Just free study tools that actually help.


I launched QuackPrep in July 2024 under the OpenExams organization on GitHub. It's fully open source.

By The Numbers

200+
College Students
740+
Git Commits
$20
Revenue (hah)

What It Does


QuackPrep has a few core features that make it different from what's already out there:


  • Past Exam Library:A searchable archive of real college exams, filtered by school. No more Googling "Purdue CS 180 past exams" and hoping for the best.
  • School-Specific Filtering: Enter your university and get tailored materials. No irrelevant content from other schools.
  • AI Study Tools: AI that identifies your weak areas and generates custom quizzes targeting the stuff you actually need to work on.
  • Spaced Repetition Flashcards:Cards that auto-schedule reviews based on your performance, so you study right before you're about to forget something.
  • Community-Driven: Students upload their own past exams and materials to help future students. Pay it forward.

And it's all completely free. No freemium model, no hidden paywalls.

Tech Stack


QuackPrep is the most "proper" codebase I've built. It has a real backend, a real database, tests, CI/CD - the whole thing.


  • Frontend: React + Redux for state management, with Semantic UI components
  • Backend: Node.js + Express
  • Database: MySQL 8.0+
  • Testing: Playwright for end-to-end tests
  • Validation: Zod for input validation on the backend
  • CI/CD: GitHub Actions
  • License: GPL-3.0 (fully open source)

The project uses a monorepo structure with separated frontend and backend directories. Models contain business logic, routes handle API endpoints, and the folder structure mirrors the API endpoints for intuitive navigation. All API calls go through a standardApiCall middleware.


I'll be honest - the frontend is the weakest part. It works, but it's not my proudest code. The backend architecture is where I'm most happy with how things turned out.

Why Open Source


Most study platforms are closed-source and locked behind paywalls. Chegg charges $15/month. Quizlet locked their best features behind Quizlet Plus. CourseHero wants $40/month.


Students are already broke. They shouldn't have to pay to study. Making QuackPrep open source and free means anyone can use it, anyone can contribute to it, and if I stop working on it tomorrow, someone else can fork it and keep going.


The GitHub repo has 740+ commits and 25 open issues, with a couple marked as "good first issue" for anyone who wants to contribute.

The $20 Revenue


Yeah, QuackPrep has made $20. Total. And I think that's fine.


Not every project needs to be a money machine. DuckMath made $150K/year and got acquired. MaddoxCloudsold for $15K. QuackPrep is the project I built because I genuinely wanted it to exist. Sometimes you build things because they should exist, not because they'll make you rich.


That said, if 200+ college students are finding it useful, that's a win. Every exam they pass a little easier because they found the right study material - that's the point.

What I Learned


QuackPrep taught me how to build a real full-stack application. Not a static site, not a game wrapper - a proper app with user authentication, database operations, API design, testing, and CI/CD. It was the project that leveled up my engineering skills the most.


It also taught me that building for users is different from building for myself. Understanding how students actually study, what information they need and when, and how to make the experience frictionless - that product thinking is something you only learn by shipping and watching people use your stuff.


Try QuackPrep   View Source