SchoolWithEase
SchoolWithEase, an AI-native school management platform
Multi-tenant SaaS that runs a whole Nigerian school, built end to end: an LLM drafts lesson notes for teachers to approve, and RAG assistants answer only from the school's own records.

- Company
- SchoolWithEase
- Role
- AI Product Engineer, built end to end
- Period
- 2025 — Present
- Stack
- Claude (Anthropic API)
- Voyage embeddings
- Next.js
- NestJS
- TypeScript
- Prisma
- PostgreSQL RLS
- Turborepo
- Playwright
SchoolWithEase puts a whole school in one app: admissions, attendance, lessons, results, fees and parents, for every role from the proprietor to a pupil in Nursery 2. It's live at schoolwithease.com, with a demo school, Harmattan Heights.
The AI, and the checks around it
The interesting part isn't that it uses a model. It's what happens before anything the model writes reaches a child.
- Draft, then review. Draft with AI writes a full lesson note in the usual Nigerian format, with headings, bold terms and formulas, in about thirty seconds. The teacher checks it, the head of department approves it, and pupils see it only once it's approved.
- Answer only from the source. The AI Assistant answers from the school's own records through tool calls, and only within what the person's role may see. Learners get a Study Tutor that answers from the lesson their teacher approved, not from the open web.
- Keep personal data out. No pupil's details are ever sent to the model.
- Age-appropriate by design. Three learner experiences, from pictures and a read-aloud Buddy for the youngest to a focus-mode planner for SS 1–3. No child is ever shown a ranking.
Under it
A Turborepo monorepo: Next.js on the front, NestJS behind it, Prisma on PostgreSQL. Every school sees only its own data, and the database enforces that rather than the app: row-level security on 23 tables, a CI check that fails the build if a tenant table lacks a policy, and an API that tests RLS on boot and refuses to start in production if it's off.
