Skip to content

Mohamed Salem Younes

All projects

Quizify

deployingpersonal

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
Source(opens in a new tab)
6
Django apps
470+
Questions seeded
4
Game modes
6
Mastery quiz levels

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.
  • Two sequential "Mastery" level-maps (Python and Django, 3 levels each) — locked, ordered progressions distinct from the shuffled taxonomy quizzes, for learning a subject in a deliberate sequence rather than sampling it at random.
  • 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.