MSY
All projects

Quizify

deploying

A Django REST quiz platform for older learners that treats every question as a learning unit, not a pass/fail test. The grown-up sibling of Quizify Kids.

DjangoDjango REST FrameworkPostgreSQLNext.jsRedisRenderVercel
6
Django apps
400+
Questions seeded
4
Game modes
0
Empty taxonomy leaves

PROBLEM

Most quiz and question-bank apps treat a question as a pass/fail test item. Quizify treats every question as a learning unit — options, explanation, hints, common mistakes, and links to related knowledge — across CS, software engineering, geography, science, and history, on a taxonomy built to scale to any field. It targets teenagers and adults; the separate Quizify Kids handles alphabet literacy for young children, because that is a different audience and a different product.

WHAT'S IN IT

  • Six Django apps with clear seams — taxonomy, questions, quizzes, learning, gamification, and users — rather than one god-app.
  • Custom AbstractUser on a UUID primary key with email login, so user IDs are never guessable sequential integers.
  • SM-2 spaced repetition per user per question — ease factor, interval, repetition count, and a derived mastery level.
  • Gamification tracked server-side: XP, levels, streaks, and rolling accuracy, computed from attempts rather than trusted from the client.
  • Four ways to play — standard quizzes, study mode, survival quizzes, and contest mode.
  • Content authored Arabic-first rather than translated, because the app is played mostly in Arabic.

ROLE

Solo builder — data modelling and Django REST backend, Next.js frontend, the content pipeline, and deployment.

NOTABLE DECISION

Put the intelligence in the data model rather than in the views. Questions carry a Bloom's-taxonomy level and difficulty alongside explanation, hint, fun fact, and common mistakes; categories are a self-referential tree so any subject nests arbitrarily deep; and review scheduling is a real SM-2 implementation (ease factor, interval, repetitions) rather than a naive "show it again later". The views stay thin, which is what made adding four different game modes cheap.