Skip to content
Benjamin Efenudu

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.

The SchoolWithEase homepage: 'One app for the whole school', beside a register of every role in a school
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.

The SchoolWithEase sign-in page: 'One login. Every workspace.' beside a sign-in form
app.schoolwithease.com — one login finds every school, campus and role attached to you.