Enterprise learning management
One platform for the whole institute.
Akechi Lms runs courses, live classes, assessments, fees, admissions and reporting for schools, universities, coaching institutes and corporate academies — from a single login, on one system, with every role seeing the part that belongs to them.
One backend, one database, one interface. It runs in your cloud or ours — the entire stack boots with Docker Compose and needs no managed service to start.
Who it is for
Built for institutions that outgrew a course player
The same deployment serves a school, a university department, a coaching chain and a corporate academy. What changes is which modules are switched on and what the roles are called — not which system you run.
Schools
Timetables, attendance, gradebooks, fee collection, and a parent who sees their own child and nobody else’s.
Universities
Programmes, batches, question banks, grade scales and the evidence an accreditation review asks for.
Coaching institutes
Enquiry to admission to batch, with practice tests and results a parent can follow without a phone call.
Corporate L&D
Learning paths, compliance training with an audit trail, and certificates an employer can verify.
Capabilities
The whole institute, not one corner of it
Each of these is a module in the product today, reachable from the same login. Anything not built yet says so on the screen rather than filling it with an example.
Courses and curriculum
Authoring with chapters, lessons and versions, and a catalog learners browse. Publish a new version while the old one keeps running.
The learner surface
A player that tracks progress, keeps notes, answers questions and works on a phone with no network.
Assessments and assignments
Question banks, timed attempts, integrity signals, marking queues, and item analysis on the results afterwards.
Live classes
Scheduled sessions with attendance taken from who actually joined, not from who said they would.
People and enrolment
Students, teachers, staff, guardians, batches and bulk enrolment — by invitation, not by passwords handed around.
Fees and finance
Pricing, invoices, collection and reporting, held in integer minor units against a stated currency. No floating-point money.
Admissions and CRM
Enquiries, pipelines and applications, fed by the same public web form your own website can post to.
Placements
Employers, drives, interviews and outcomes, tracked beside the learning record they came from.
Reports and analytics
A dashboard per role, saved searches, scheduled reports, and exports that run in the background and email themselves.
Certificates
Issued on completion, with a public verification page an employer checks without needing an account.
AI that drafts
Course outlines, lesson drafts and question sets generated from your own material — and reviewed by a person before anyone sees them.
White-label
Each institute gets its own colours, logo, public website and certificate design, out of one deployment.
One system
One login. One database. One thing to operate.
Most institutes end up with a course player, a student information system, a fee tool, and a spreadsheet nobody admits to. This is one application: a single backend, a single PostgreSQL database, and a single interface that changes with the role signed into it.
The role decides the page, not the address
An administrator, a teacher, a student and a parent all sign in at the same URL and land in the place that belongs to them.
One backend, one database
A modular monolith rather than a fleet of services: every module shares one transaction, one audit trail, and one thing to back up.
One deployment, every institute
Tenants are rows, not installations. Adding an institute does not add a server, a build, or a release to keep in step.
Trust
Built to be handed to an auditor
These are properties of the system rather than items on a roadmap. Each one is enforced in code and checked on every build.
Isolation by default
Every tenant-owned query is bound to the signed-in institute, with PostgreSQL row-level security forced underneath as the backstop.
Deny by default
Every route carries a permission or is explicitly public, and the build fails when one does not. Permissions live in a catalog, not in components.
Every change recorded
Mutations emit an event that lands in an audit log — who, what, when, and in which institute — with evidence exports for a review.
Accessible and multilingual
WCAG 2.2 AA with automated checks in the build, a keyboard path for everything, and interface languages including Arabic rendered right-to-left.
See it against your own institute
Tell us how you run today and we will show you the parts that map onto it — and say plainly which parts do not.