← All projects
liveMVPlaunched May 2026

H5P Learning Platform

Turkish interactive modules for technical interview prep

A self-hosted H5P content platform built around Lumi's h5p-examples server, used to drill technical-support and infrastructure topics in Turkish through interactive Quizzes, Study Guides, and Branching Scenarios.

Open the live app

problem

Preparing for a technical support interview in a second language means cycling between long PDFs, scattered blog posts, and dry flashcards. None of those let you practise the actual decision flow a support engineer goes through — pick the symptom, pick the next command, see the consequence.

solution

Stood up a Dockerised H5P server (Lumi h5p-examples) behind Traefik, generated 30 interactive modules (10 topics × Study Guide + Quiz + Branching Scenario) via a Python content builder, and patched the player UI with a sticky home-link nav bar and back-to-top button so long study guides stay navigable.

architecture

HTTPS8080read/writecertBrowserTraefikh5p-examples (…H5P content + …Let's Encrypt …

external → compute → store → ui

outcome

Interview-ready drills for Linux/Windows performance, SD-WAN vs MPLS, Docker, Kubernetes, DB optimisation, deep networking, incident management, Terraform, and HA/DR — all in Turkish, all browser-playable, all reproducible from one repo.

stack

Node.jsH5PLumi h5p-examplesTypeScriptDockerTraefikLet's Encrypt

capabilities

  • 30 interactive modules across 10 infrastructure topics
  • Quiz + Study Guide + Branching Scenario per topic
  • Turkish content optimised for technical-support interview prep
  • Programmatic content generation (Python) — reproducible, idempotent
  • Patched player UI: home nav bar + back-to-top button
  • File-based TLS via acme.sh DNS-01 (Hostinger Caddy bypass)

lessons learned

  • 01Lumi's h5p-examples package skips download-core.sh — first deploy renders an empty page until the Dockerfile is patched to download the H5P core explicitly. Server returning 200 is not the same as the widget rendering.
  • 02Programmatic content beats hand-authored markup at this volume — 30 modules in one Python pass with a shared builder keeps tone, structure, and metadata consistent.
  • 03The default H5P player has no escape hatch back to the catalog. A 30-line nav bar injection turned the demo into something that feels like a product.
← All projectsOpen the live app →