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 →