Dafaa — Arabic-first multi-tenant tutoring SaaS

A platform that lets Egyptian private tutors run their own online course business: their own subdomain, their own students, their own pricing — Arabic-first, RTL throughout.

Dafaa tenant landing page in Arabic RTL

The problem

Egyptian private tutors run real businesses — hundreds of students, year-long curriculum trees, real money moving every month. The tools they had were the wrong shape: English-first LMSes built for one organization per workspace, or generic course platforms that don't understand the Egyptian education system.

Dafaa solves this with a multi-tenant SaaS where each teacher gets an isolated workspace on their own subdomain. They run their own pricing, manage their own student wallets, and sell whatever slice of content makes sense — from a whole course down to a single lesson.

What I optimized for

The shape of the work

The interesting parts were the unsexy parts. Designing a content tree where teachers can sell at different granularities without the data model exploding. Modeling the Egyptian education system honestly — two parallel school systems, multiple stages, tracks at certain stages, the whole grades/subjects matrix. Writing the kind of tests that fail fast when humans break invariants, because humans always break invariants.

The platform handles four distinct user roles, per-teacher wallets that scale, real-time content publishing, timed online assessments with grading queues, prerequisite locks across content, and a teacher subscription tier that gates premium features.

By the numbers

4
User roles
AR-RTL
Locale
Active
Status
Yes
Solo built

What surprised me

How much weight a database can carry when you let it. Pushing constraints down the stack made the application code dramatically simpler — handlers couldn't accidentally do the wrong thing, because the system below them refused to let them.

What I'd do differently

Smaller things. A few conventions I wish I'd locked in earlier. A couple of naming decisions that came back to bite me. The fundamentals I'd keep — they've held up under real use.

Want something built like this?

Book a 15-min call →