SmartEdu
A multi-tenant school-management platform for schools across Africa, from fee collection to parent communication, on one subdomain-per-school architecture.
The problem
Schools run admissions, fees, attendance, and grading on paper and spreadsheets, with no shared system and no way for a parent to see anything in real time. SmartEdu had to serve many independent schools on one platform without them ever touching each other's data.
Approach
I designed a subdomain-per-tenant architecture, each school gets its own app.smartedu.ng address, on a Node.js and TypeORM backend with Postgres, Redis, and BullMQ handling the background work: report card generation, fee reminders, and payment reconciliation. The frontend is a Turborepo of three Next.js apps (marketing site, tenant app, internal backoffice) sharing a component and design-token library.
What it does
- Admissions, attendance (including QR self check-in), grading, and report cards as one connected academic record
- Fee structures, invoices, installment plans, and Paystack collection, with a platform-level revenue share on every transaction
- Staff HR: roles, permissions, payroll, and leave, alongside hostel, transport, clinic, and library modules
- Role-scoped portals for staff, teachers, parents, and students, built mobile-first for low-bandwidth connections
Where it stands
Live in staging and production with CI/CD on every push, backed by sales and onboarding material built to bring schools onto the platform.