EdTech / AI · Tunisia · Web + Mobile
Sabboura: an AI tutor that teaches the bac curriculum by voice
Context
Tunisian bac students pay for private lessons because the classroom moves too fast and the textbook doesn't answer back. Sabboura is a tutor that does: it explains a chapter out loud, illustrates as it goes, and answers follow-up questions in the language the student asks in — Arabic, French or English.
The challenge
Ship a real-time voice tutor that stays faithful to the official curriculum, keeps AI costs predictable at student prices, and works for a 17-year-old on a phone — not just in a demo.
Approach
- Modelled the product around the official programme: lessons are generated once from verified sources, reviewed by teachers, then replayed to every student — live AI is only spent when a student asks a question.
- Built the voice loop end to end: speech-to-text, LLM reasoning, neural TTS with lip-sync visemes driving an animated tutor, with pre-recorded fillers so the first word lands in under half a second.
- Designed a fractional usage unit ("chalk") so pricing stays profitable without the student ever seeing a hard cap.
- Went from first commit to production in under two months by running milestones in parallel with agentic coding, with CI/CD on push to production.
What we built
- Next.js web platform (MERN) with Arabic-first, RTL-aware UI and per-session language switching
- Flutter mobile app in production, sharing the same API
- Voice pipeline: Deepgram STT, Claude, Azure neural TTS with visemes
- Teacher review workflow and automatic quality gates on every recorded lesson
- Prepaid packs and daily free allowance synced between anonymous and logged-in sessions
- GitHub Actions deploys to a VPS behind nginx and PM2
Outcome
- Live in production at sabboura.tn with teacher-verified lessons open to any visitor.
- A cost model where recorded lessons cost cents and live AI is spent only on demand.
- A product a non-technical founder could sell as prepaid cards from day one.
Stack
MERN · Next.jsNode.jsMongoDBFlutterClaude APIAzure Speech / DeepgramGitHub Actions · PM2
Building something similar?
Start a project conversation — a 30-minute intro call, a written scope, and a concrete number. I reply within 48 hours.
Raising soon? Get the free 25-point technical due-diligence checklist →