Live-class LMS with trainer payouts

Live Class Academy Platform

Sell class packages, run live video lessons, protect recorded content and pay trainers per attended seat.

AT A GLANCEEDUCATION
Apps
Student app, trainer app (iOS and Android), web portal, admin panel, public website
Languages
Bilingual, with full right-to-left layout
Live classes
Video meetings created and tracked by the server
Built with
NestJS, Next.js, Flutter, PostgreSQL, Redis
12 MODULESBUILT AND SHIPPED

The problem

What it replaces

An institute teaching live online classes usually stitches together a video tool, a payment link, a spreadsheet of attendance and a manual trainer payout. Content gets recorded and shared, children need a parent in the loop, and nobody can say what a seat in a batch actually earned.

This platform runs the whole academy: catalogue and batches, scheduled live classes with attendance taken from the video session itself, DRM-protected recordings, quizzes, a class-credit ledger with tax invoices, and trainer earnings calculated per attended seat.

Who uses it

Students
Mobile app and web portal: book packages, join live classes, watch protected lessons, take quizzes.
Parents
Guardian accounts that manage and pay for a child’s learning.
Trainers
Their own mobile app: timetable, attendance correction, earnings and payouts.
Coordinators and admins
Catalogue, batches, timetables, refunds, moderation and reports.

Features

What the system does

01

Catalogue and batches

Categories, courses, levels, modules and lessons; batches with enrolment, timetable rules and holidays generate class sessions in each student’s time zone.

02

Live video classes

Meetings are created on the server, join tokens are signed by the API, and webhooks record who joined and for how long.

03

Attendance from the session

Attendance is taken from participant data, with a no-show cut-off and trainer correction where it is needed.

04

Protected content

DRM video, short-lived signed links, a moving watermark with the student’s name and ID, capture detection and expiring offline downloads.

05

Quizzes

A question bank, assigned quizzes, attempts and results, alongside lesson progress and completion.

06

Packages and class credits

Weekly or monthly packages, orders through a pluggable payment-gateway adapter, and a ledger of class credits per student.

07

Tax invoices and refunds

Numbered tax invoices, refunds and credit notes, with amounts held in integer minor units so totals never drift.

08

Trainer earnings

Earnings per attended seat on a configurable revenue split, trainer charges and payouts.

09

Chat and community

One-to-one and batch chat with read receipts, plus a moderated forum with banned-word filtering in both languages.

10

Audio series

Protected podcast-style series with resume points and favourites.

11

Guardianship and devices

Child accounts under a guardian, OTP sign-in, device limits and session control.

12

Operations

Dashboards, notices, support tickets, enquiries, reports and an audit log.

Architecture

How the pieces fit together

A typed monorepo: one API that every app talks to through a generated client, with each outside service behind an adapter so a provider can be swapped without touching the product.

Apps

  • Student appFlutter · iOS / Android
  • Trainer appFlutter flavour
  • Web portalNext.js
  • Admin panelNext.js
  • Public websiteNext.js + headless CMS

Platform

  • Academy APINestJS
  • Scheduling & attendance
  • Commerce & ledger
  • Content protection
  • Chat (server-sent events)

Data

  • PostgreSQL~95 models
  • Redischat fan-out, caching
  • Object storageS3-compatible

Connected services

  • Video meetingsserver OAuth + SDK
  • DRM video
  • Paymentspluggable gateway
  • Push, SMS / OTP, email
Every client app uses the same typed API. Video, DRM, payment, push, SMS and email providers each sit behind an adapter, so changing vendor is a configuration change, not a rewrite.
  1. EnrolA student or parent buys a package; class credits land in the ledger and an invoice is numbered.
  2. AttendThe class session opens a server-created meeting; join and leave events become attendance.
  3. LearnRecordings and lessons play through DRM with a personal watermark; quizzes record progress.
  4. Pay outAttended seats turn into trainer earnings on the agreed split, ready for payout.
Built with
  • TypeScript
  • NestJS
  • Next.js
  • Flutter
  • PostgreSQL
  • Prisma
  • Redis
  • Turborepo
  • Playwright

Built before, fitted to you

Start from an architecture that has already shipped

We have delivered this kind of system, so yours starts from a design that is known to work, not a blank page. Your workflow, your terminology and your approval chain shape what we build on top of it.

Enquire Now