Full-stack case study

Recap Academy

A medical education platform where future doctors, pharmacists and dentists revise with specialized question banks, courses and streak-based progress.

Role
Full-Stack Developer
Duration
4 months — live
Year
2024
Stack
React · Node.js · Express · MongoDB
Recap Academy landing page — the medical education platform for future doctors, pharmacists and dentists

01 / The Problem

Med students revise from scattered PDFs.

Medicine, pharmacy and dentistry students prepare for high-stakes exams from disorganized PDF dumps and generic quiz apps that don't match their curriculum. There was no single place with structured question banks per module, progress that persists, and content aligned with what students actually sit.

Target users

Medicine, pharmacy and dentistry students preparing for module exams and residency — primarily French-speaking.

02 / The Solution

Revision that feels like a game.

A structured platform where every specialty breaks down into modules, courses and QCM banks, with notes, todos and a personal library. Streaks and progress dashboards make daily revision a habit rather than a chore. Express serves a REST API for structured content management; MongoDB's document model maps naturally onto the specialty → module → course → question hierarchy.

Why this stack

  • MongoDB — nested curriculum hierarchy as documents
  • Express REST API — content and progress endpoints
  • React — interactive QCM player and dashboards
  • Node.js — one language across the platform

03 / Features

What the platform does.

Auth & Profiles

Student accounts with specialty and year selection

QCM Engine

Specialized question banks with corrections per module

Courses & Notes

Structured course content with personal note-taking

Progress & Streaks

Daily streaks and completion tracking that persist

Dashboard

Courses finished, QCMs done and study series at a glance

Library & Todos

Personal library and revision task lists

04 / Technical Challenges

The hard parts — and how they fell.

Modeling the curriculum

Specialties, modules, courses, QCMs and corrections form a deep hierarchy that must stay navigable and editable.

How I solved it

Designed a document model with referenced collections per level and denormalized counters, so navigation trees render from one query and content editors update a single level safely.

Progress that motivates

Tracking per-question progress across thousands of QCMs without slowing every answer round-trip.

How I solved it

Progress writes are append-only events aggregated into per-module counters; streaks compute from daily activity marks, keeping the answer path to a single indexed write.

05 / Architecture

How the system fits together.

REACT FRONTEND

student app · content admin

REST API

Node.js · Express · JWT

MONGODB

curriculum · QCMs · progress · users

CLOUDINARY

course media

External services

06 / Screenshots

The product, up close.

Recap Academy landing page — the medical education platform for future doctors, pharmacists and dentists
Desktop
Mobile

07 / Results

What it moved in the real world.

Students revise from one structured home instead of folders of PDFs: question banks aligned with their modules, corrections attached, and progress that survives between sessions. Streaks turned occasional cramming into a daily habit for the platform's early cohort.

08 / Tech Stack

Built with.

Frameworks

  • React
  • Express.js
  • Node.js

Libraries

  • Mongoose
  • JWT
  • React Router
  • Tailwind CSS

Infrastructure

  • MongoDB Atlas
  • VPS + Nginx
  • SSL/TLS
  • Cloudinary

09 / My Contribution

What I built, specifically.