All projects

E-learning platform

LDN — École de Destinée

The complete online school of a leadership academy: learning paths, cohorts, quizzes, verifiable certificates, live classes and community, paid with mobile money.

  • React
  • TypeScript
  • Django
  • PostgreSQL
  • Celery
  • LiveKit
  • Docker
LDN programmes catalogue with themes and paid video programmes

Context

Leaders des Nations runs a Christian leadership school for a community of more than 15,000 members in Cameroon and abroad. Its training is organised in levels, sold as full paths, à la carte modules or coached programmes.

The challenge

The first version ran on Firebase. The school needed a platform it fully owns to sell its paths, run cohorts, assess learners, issue certificates anyone can check and host live classes. Most learners pay with mobile money, on mobile connections.

My role

Sole engineer, end to end: architecture, the Django API, the learner app, the admin back-office, the infrastructure and the deployment pipeline.

What I built

  • Learner app: onboarding, three path types, levels, quizzes, assignments, badges and certificates, in French and English.
  • Mobile-money payments (MTN MoMo, Orange Money) through a payment aggregator: every callback is re-checked with the provider, pending payments are reconciled every two minutes, and receipts are numbered without gaps.
  • Certificates generated as PDF with a QR code that opens a public verification page.
  • Live classes on LiveKit with recording and replay, real-time community chat over WebSockets, a public forum, news and newsletter.
  • Admin back-office for cohorts, modules, evaluations, pricing, discount codes, payments, content and users.
  • Resumable uploads of course videos up to 10 GB, straight to S3 storage.
  • Self-hosted infrastructure on one VPS: Docker Compose, Nginx with Let's Encrypt, encrypted nightly backups with a monthly restore drill, CI with linting, type checks and tests.

Results

  • Data moved from the old Firebase platform with a copy-only import, so the old system stayed untouched during the switch.
  • Popular-programmes listing served in 130–160 ms of server time (measured in November 2026).
  • Rate limits tuned for Cameroonian mobile networks, where many users share one public IP address.
  • 237 backend test files, plus front-end tests on both apps, run on every push.
Three path types: full, à la carte and personalised
Three path types: full, à la carte and personalised
Programme page with one-time access fee and mobile-money checkout
Programme page with one-time access fee and mobile-money checkout
Admin back-office: media library of the courses
Admin back-office: media library of the courses
Generated certificate with its verification QR code
Generated certificate with its verification QR code
Architecture: API, WebSockets, workers, live video and storage on one VPS
Architecture: API, WebSockets, workers, live video and storage on one VPS

Need something similar?

I can scope it with you and tell you how I would build it.

Let's talk about your project