All work
Solo product~50 days to launch

EduQaf — Multi-tenant ERP for schools and madrasas

Admissions, attendance, exams, fees, payroll, SMS and a public website builder for every institution — each on its own subdomain or custom domain, in Bangla and English.

eduqaf.com
EduQaf website
EduQaf on mobile
316API routes
74data models
99app pages
264automated tests

My role

Founder-engineer — architecture, backend, frontend, deployment

The problem

Madrasas and schools run on paper registers and spreadsheets; existing tools ignore their curriculum, fee structures and language.

Stack

NestJS 11Prisma 7PostgreSQL 16RedisBullMQNext.js 16React 19Tailwind 4Cloudflare R2Sentry

What I built

  • Two-layer tenant isolation: a Prisma extension scopes every query by institution, backed by Postgres RLS set per transaction.
  • Automatic wildcard subdomain per signup plus self-service custom domains through Cloudflare for SaaS with DNS-TXT verification.
  • Super-admin control plane and tenant ERP in one NestJS modular monolith, with tenant impersonation.
  • Module marketplace with entitlement guards, per-student capacity limits and metered SMS.
  • Money-safe finance and payroll: ledger posting, reversals and race-free guarded increments.
  • Secure R2 storage: presigned uploads plus server-side WebP re-encoding and EXIF stripping.
Next case studyRankManager