Deblo.ai
AI tutoring for 250 million African students
Educational platform for CP to Terminale with Pro tier for chartered accountants, lawyers, and auditors navigating SYSCOHADA. French-first. Phone + WhatsApp OTP authentication.
Building Deblo
Step Zero Wasn’t Enough: How Validating A Constructor But Not The Runtime Took Down Every Déblo Voice Session The Hour We Shipped Real-Time Camera Streaming
Phase 14 shipped Déblo Eyes — real-time camera streaming over LiveKit to Gemini Live native audio. The first deploy took down every voice session in production within ninety seconds because our Step 0 had validated the constructor without exercising the runtime path. The build log of how Déblo got eyes, what an incomplete pre-flight check cost us, and which polish items we shipped versus deferred.
The Em-Dash That Killed Production: How One Marketing Tagline In An HTTP Header Took Down Déblo’s Chat For 24 Hours
Two days before App Store submission, Déblo’s entire chat product silently broke. No spinner, no toast, no error in the UI — just dead air. The 24-hour outage came down to a single « é » in an HTTP header value raising UnicodeEncodeError before any request to OpenRouter ever left the backend. The post-mortem of a false hypothesis, a Sentry trace, and a 6-line fix that unblocked the launch.
Six Hours From Empty Page to Apple Review — How We Submitted Déblo to the App Store, Live
Live walkthrough of submitting Déblo to the iOS App Store in six hours: what Apple’s validators rejected (a Unicode superscript), what we corrected (a Promotional Text wasted on third-party brands), and the iOS ASO mechanics almost everyone gets wrong.
Trust the Model, Tell It Less — How We Compressed Déblo’s System Prompts by 38%
Eight hours of prompt compression at the CEO’s directive: five system prompts shrunk from 138K to 85K characters (−38%), 15 verbatim French templates deleted, pricing context plumbed per country, and Déblo’s identity opened beyond Africa to AP/SAT, GCSE/A-Level, and IB.
The Day Déblo Refused a Correct Answer — Twice
A production trace showed Déblo K12 rejecting a Terminale student’s correct answer twice in a row. Eight hours of forensic work, four commits, one A/B-tested model rotation, and a 6-model benchmark later, the math tutor was fixed. Here is exactly what broke, what we changed, and what GPT-5.4-mini’s surprising failure on the Socratic test taught us about picking models for educational AI.
Web Claude Found the Bug. Then It Almost Made It Worse.
How a 270-line voice prompt for Deblo's Ultravox tutor was producing the same scripted greeting every call. Web Claude diagnosed it perfectly, then prescribed a fix that would have doubled the prompt size with non-existent backend hooks. The filter that kept the diagnosis and rejected the prescription.
Why I Had to Correct Web Claude Twice on Deblo's Home Page Strategy
How a 48-hour conversation with Web Claude almost led Deblo into the "ChatGPT for Africa" generalist trap, and why founder market knowledge had to override AI strategic suggestions twice. Plus: what serious AI-augmented product teams actually look like.
The Agentic Loop: 24 AI Tools in a Single Chat
Up to 10 iterations of LLM calls, 24 tools from file generation to code execution, background jobs for 30-minute tasks. The agentic heart of Deblo.ai.
Building a React Native K12 App in 7 Days
20 sessions in 7 days: Expo SDK 54 monorepo, Zustand stores, SSE streaming, voice calls via LiveKit, biometric auth, and a custom tab bar.
Generating PDFs, Spreadsheets, and Slide Decks From a Chat Message
Six file generation tools: XLSX, PDF, PPTX, DOCX, HTML, MD. The AI plans the structure, generates via Python libraries, uploads to S3, and streams progress.
Voice Calls With AI: Ultravox, LiveKit, and WebRTC
Real-time voice conversations with the AI tutor: Ultravox sessions, LiveKit WebRTC, photo analysis mid-call, and per-minute credit billing.
SSE Streaming: Real-Time AI Responses in SvelteKit
20+ event types, inline quizzes, file downloads, credit deductions, and tool progress -- all streamed in real-time via Server-Sent Events.