← back to work
Shefden Academy
View live

LMS for Practical Civil Engineering Training

An end-to-end LMS platform for civil engineering students, built solo; features Student, Instructor and Admin portal

LMS for Practical Civil Engineering Training
Next.jsReactTypeScriptSupabasePostgreSQLCloudflarePaystackFlutterwaveKoraResend

The Problem

Shefden Academy's original platform ran on WordPress, with a dated, unprofessional interface and slow load times that directly cost sales — of every 10 people who reached the website for a course, only about 3 completed a purchase; the rest dropped off waiting for pages to load or lost confidence in the site.

Payment wasn't handled reliably by the platform itself. When checkout failed or looked untrustworthy, most buyers would abandon it, only a fraction would message the CEO directly on WhatsApp or Instagram to pay out-of-band — a manual workaround for something the platform should just handle.

Course content lived in Google Drive: every new student meant manually looking up their email, granting folder access, and configuring file-level permissions one at a time. Download restrictions were attempted too, but Drive's permissions don't stop a student from saving or re-sharing files, so that protection was mostly theater.

Completion certificates were manual as well — for every finished student, someone opened a design file, edited in their name, and exported it by hand.

None of this scaled. The business wanted a platform that ran itself — enrollment, payment, course access, and certification all self-service, with no one on the team needing to touch a single case by hand.

The Approach

A full commercial e-learning platform, designed and built solo end-to-end, replacing WordPress with a purpose-built system across three portals — Student, Instructor, and Admin.

Checkout and enrollment are fully automated: Paystack, Flutterwave, and Kora webhooks verify each payment's signature and price server-side, then activate enrollment immediately — removing the manual, off-platform payments that used to require reaching the CEO directly.

Course content moved off Google Drive entirely, delivered instead through the platform's own secure, time-limited download links — access is granted and revoked automatically by enrollment status, with no manual permission-setting per student.

Completion certificates are generated automatically the moment a student finishes a course, each with its own sequential certificate number — eliminating the one-by-one manual design work for every graduate.

Students also get a built-in community forum to discuss courses and ask questions directly on the platform, instead of scattering conversation across WhatsApp or Instagram DMs.

The admin back-office ties it together: course and student management, a resource marketplace for paid downloads, promo codes, and analytics — everything Shefden Academy needs to run the business without touching a line of code.

  • 3 portals: student, instructor, and admin, each with isolated access
  • Multi-currency checkout across NGN, USD, GHS, KES and more, auto-priced by student location
  • Tripple payment processors (Paystack + Flutterwave + Kora) — if one has downtime, students can complete checkout on the other
  • Payment handling is idempotent at the database level, preventing double-charges on retries or duplicate submissions
  • Secure file delivery via Cloudflare R2 with signed, time-limited (1-hour) download links
  • Resource marketplace for paid PDF/ZIP downloads, open to students and guests
  • Promotional codes scoped per-course or site-wide, plus a built-in community discussion forum

The Outcome

Shipped as v1.0 — a single production platform now running Shefden Academy's course sales, resource marketplace, and back-office operations end-to-end.

Gallery

View live