Blog
All articles. All pillars. All authors.
14 Days, 105 Sessions, 1 AI CTO: The Complete Story of Building sh0.dev
The complete story of building sh0.dev -- a production-grade PaaS with 488 tests, 119 templates, 25 MCP tools, and an AI assistant -- in 14 days from Abidjan with zero human engineers.
System Prompts That Teach: Anti-Cheating, Socratic Method, and Grade-Level Adaptation
Six-layer prompt assembly: root identity, school hours detection, grade overlays from CP to Terminale, subject expertise, and exam mode. How we taught the AI to teach.
Giving sh0 a Brain: AI Gateway with Claude Tool Calling
How we built an AI gateway that lets Claude manage sh0 servers -- with SSE streaming, 10 tool definitions, client-side execution, and a chat UI that feels like talking to a DevOps engineer.
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.
Monitoring and Alerts: Email, Slack, Discord, Telegram, Webhooks
Building a monitoring system with periodic Docker stats collection, threshold-based alert evaluation, and multi-channel dispatch to Email, Slack, Discord, Telegram, and webhooks.
Interactive Quizzes With LaTeX: Testing Students Inside a Chat
Two-phase anti-cheat quizzes: the AI sends questions without answers, Redis stores the correct option, and the server validates. With full LaTeX math rendering.
Tasks, Goals, and Recurring Reminders
The AI creates tasks from conversation context. Recurrence engine, due-date notifications, org-scoped visibility, and threaded comments on homework assignments.
Observability: Tracking Every LLM Call in Production
AILog tracks every LLM call. SystemSetting enables config without redeploy. ExerciseResult measures learning. The admin dashboard behind the obscured route.
#018 -- 10 Sessions: From Zero to a Working Compiler
Building a programming language compiler in 10 sessions: lexer, parser, type checker, codegen, and VM in two days.
#019 -- Error Diagnostics That Actually Help
How FLIN's error diagnostics help developers: source locations, colored output, and human-readable messages.
Background Jobs: When AI Takes 30 Minutes to Think
Queue-bridged architecture with detached asyncio tasks, Redis progress tracking, cooperative cancellation, and stale job cleanup for long-running AI generation.
#004 -- Five Design Principles That Shape Every Line of FLIN
The five design principles behind FLIN: simple, zero-config, reactive, intent-native, and memory-native.