01 / 05
The challenge
Atlas had grown from a single cohort of 40 learners on a Notion + Zoom + Google Classroom stack to running six concurrent cohorts of 200+ learners across four languages. The seams were showing. Late assignments went to the wrong instructor. Recordings were lost between drives. Certificates were being generated by hand.
The team needed a real platform — but they didn't want to lose the intimate, cohort-driven pedagogy that had made their courses different in the first place. The design brief was, essentially, "make the platform disappear."
02 / 05
Our approach
We built the platform in Laravel + Livewire + PostgreSQL, with Mux for video hosting and Pusher for real-time. Livewire let us ship a rich, form-driven UI (assignments, discussions, live sessions) without the overhead of a client-side framework the small team would have to maintain.
Cohort mechanics are first-class. A cohort has a start date, an end date, an instructor, a language, a syllabus, a Slack workspace and a certificate template. Everything else — assignments, live sessions, submissions, feedback — is scoped to a cohort. This kept the intimate feel while giving instructors a control panel that scales.
03 / 05
Key decisions
We paid Mux for video. Rolling our own would have consumed the entire engineering budget. Mux gave us adaptive streaming, thumbnails, chapter markers and analytics for a per-minute cost we could pass through to the customer.
We shipped four languages from day one, with content localised end-to-end — not just the UI. Every syllabus item can be translated independently and versioned. A learner sees the site in their locale; instructors see it in theirs; the underlying content model is language-agnostic.
We wrote every domain event to a bus and let a small analytics pipeline (Laravel Horizon → ClickHouse) chew on it in near-real-time. Instructors can see cohort engagement, at-risk learners, and completion odds without waiting for a nightly report.
04 / 05
What changed
12,400 active learners across 32 cohorts in the first year. NPS of 71 (up from 58 on the old stack). Completion rate climbed from 61% to 86% because instructors could actually see who was falling behind, and the reminder system nudged them back in.
05 / 05
Where we're headed
We're building an AI teaching-assistant that answers common syllabus questions in-thread, freeing instructors for the questions that actually need a human. The current experiment shows instructor response times dropping from 4.6 hours to under 40 minutes.