Academics, attendance, exams, fees, communication, transport and payroll — one platform, five role-based portals, and a database that enforces tenant isolation itself rather than trusting every query to remember.
No card required. Register your school and you’re in the admin console in under a minute.



Modules in one sidebar
Role-based portals
Automated tests, all green
Tenant tables under row-level security
Straight from the app
Real screenshots, not mockups — captured from the running app's demo accounts.

A teacher’s dashboard — today’s timetable, one tap from taking the register

A student’s dashboard — attendance calendar, notices and live classes
Everything, actually built
Not a roadmap — this is what’s live today, organised the way a school actually thinks about its own work.
The structure everything else hangs off — built with a guided wizard, not a spreadsheet.
Setup wizard
Session year, mediums, shifts, streams, classes and subjects, in order.
Curriculum mapping
Classes, sections, semesters and elective groups, fully modelled.
Syllabus tracking
Per-subject units with planned dates and a live coverage percentage.
Custom roles
Reserved roles plus school-defined ones, each with its own permission set.
Teachers get their timetable, attendance registers and assignments in their pocket. Students and parents get theirs. Both talk to the exact same typed API client the web app uses, so a fix or a new field never drifts between platforms.

Teacher app

Student app
Why it is best?
CET eSchools brings every module a school office needs into one platform, with tenant isolation enforced by the database itself rather than by application code that could get it wrong. No locked features, no per-module upsell — every plan gets the full platform.
Every plan, every module
No feature is ever locked behind a higher tier — plans differ only by student and staff count.
Easy to manage admin panel
A guided setup wizard replaces the blank spreadsheet most schools start from.
Tenant isolation, by design
Row-level security in Postgres, not a WHERE clause a future change could miss.
162 automated tests, all green
The kind of coverage that catches a regression before a school does.
FAQs
The questions schools actually ask before signing up.
Every plan gets the full platform. Plans differ only by how many students and staff logins a school needs, never by which of the 24 modules it can open.
Every school-scoped request runs on a plain, non-superuser Postgres role, and row-level security policies compare each row’s school_id against the tenant the request authenticated as. The isolation lives inside the database itself, not in application code that a future change could get wrong.
Register the school, and a guided setup wizard walks through the academic year, classes, sections and subjects. Most schools are taking attendance the same day they sign up.
Register your school, run through the setup wizard, and you’re taking attendance by the end of the day.
Get in touch
Reach out directly — no ticket queue to sit in.

Every subject the school teaches, mapped once and reused everywhere
Every profile a school office manages, in one directory.
Students, staff & guardians
Full profiles with sibling linking and bulk CSV import.
Admission inquiries
A public form on the school’s own page feeds a review queue.
Bulk photo upload
Match hundreds of photos to students by filename, in one go.
Password resets
Issue a one-time password for any login; it’s shown exactly once.

Every student, searchable by class, section or status
The register, the grid, the calendar — the things that run every single day.
Attendance
A daily register, plus a month-at-a-glance grid for the whole section.
Timetable
A weekly grid built from periods, subjects and teacher assignments.
Homework & assignments
Set, submit and grade, with due dates and marks that roll up.
Academic calendar
Holidays and events on one shared month view for the whole school.

A month of attendance for a whole section, at a glance
Offline papers and online quizzes, feeding the same grade book.
Offline exams
Schedules, marksheets, grade scales and rank lists, per class.
Online exams
Timed MCQ and true/false papers with automatic grading.
Question bank
Reusable questions, built by hand or imported by the hundred.
Report cards
Generated as PDFs straight from the marks already entered.

Build a question bank by hand, or import a spreadsheet
Manual collection with a receipt, and the books behind it.
Fee structures & receipts
Manual collection with a printable PDF receipt every time.
Optional fees
A guardian opts in; nothing optional is ever charged by default.
Discounts & waivers
Recorded against the ledger, with a reason, not just subtracted.
Expense & income
A running view of the school’s own books, categorised.

Billed, collected and outstanding, at a glance
One inbox instead of five apps, for the people already inside the platform.
Direct messaging
One-to-one chat between staff, students and parents.
Announcements
Targeted by class, by role, or to the whole school at once.
Student diary
Categorised notes home — class-wide, or for one child.
Gallery & live classes
Photo albums, and links to whatever video tool the school already uses.

Holidays and events, on one calendar everyone can see
Every document a school hands out, generated instead of typed.
Report cards & transcripts
Pulled straight from entered marks, with the school’s own letterhead.
Transfer & bonafide certificates
Generated on demand, as PDFs, in seconds.
ID cards
Student and staff cards, from a layout the school designs itself.
Document designer
Build a template once — every certificate after that reuses it.

ID cards for a whole section, two-up on A4, cut straight off the sheet
The parts of running a school that have nothing to do with a classroom.
Transport routes
Vehicles, stops and student assignments, with boarding attendance.
Payroll
Salary structures, monthly runs, and payslips staff can see themselves.
Staff leave & tasks
Leave types with approvals, and a lightweight shared task list.
Staff attendance
A register of its own, separate from the student one.

Routes, stops and who rides which bus — with expiring paperwork flagged automatically
For whoever operates the platform across every school on it.
Multi-school management
Create, suspend or archive any school from one place.
Plans & billing
Subscriptions, invoices, and manual payment recording.
Support inbox
Tickets raised by any school, worked from one shared queue.
Audit log
Every consequential action, who did it, and exactly when.
There’s one teacher app and one student app, both built on Expo for Android and iOS, and both calling the exact same typed API the web console uses — so nothing drifts between platforms.
A school can be suspended or archived by the platform admin without deleting its records, so reactivating a subscription restores the school exactly as it left off.