Learnrail — E-Learning Platform (API · Mobile · Web)
A full-stack e-learning platform with course delivery, quizzes, gamification and subscriptions — spanning a PHP API, a Flutter mobile app and a web frontend, with Bunny CDN for video.
The brief
Build a learning platform that worked in Nigerian classrooms — meaning it had to handle uneven bandwidth, offline-capable mobile access, and pricing models that fit student wallets (one-off course purchases, monthly subscriptions, and goal-based bundles).
What we built
- Course catalogue — categories, instructors, multi-module courses with video, text, and downloadable resources.
- Quiz & assessment engine — multiple-choice, scoring, retry logic, completion certificates.
- Gamification — streaks, points, leaderboards, daily learning goals.
- Subscription & one-off billing — Paystack-backed, with grace periods and cancellation flows.
- Flutter mobile app — offline lesson download, background video playback, push notifications.
- CDN-backed video — Bunny CDN edge delivery with signed URLs for paywalled content.
How we built it
The PHP API exposes a clean JSON contract that both the web and Flutter clients consume — including a “learning state” endpoint that hydrates the entire user experience (current course, last position, streak, goals) in a single call.
Video is the most expensive thing on the platform, so paywalled content is served exclusively through signed Bunny CDN URLs that expire on a short window — preventing link sharing while keeping seek-time fast.
Outcome
A unified learning ecosystem that ships across web and mobile, with the technical scaffolding for paid course delivery, gamification, and analytics — ready to scale from launch class to thousands of concurrent learners.
18 weeks
4
2024