01 — The story
I started at the surface and kept following the problem down.
I started where most do — apps, sites, backends, shipped for clients and app stores. Then my flagship project, Harrir, pulled me all the way down the stack: a search engine that understands Iraqi dialect, two AI agents with different jobs, a pipeline that retrains them from their own mistakes, and a GPU box that never sleeps. I built all of it — because production AI only works when one person can trace a bad answer from the customer's screen down to the KV cache.
Agents & orchestration
LangGraph graphs with deterministic safety nets, human-in-the-loop interrupts, and cross-agent handoffs a fine-tuned model can't break.
RAG & retrieval
Hybrid dense and sparse pipelines, bilingual BM25 with real Arabic normalization, rank fusion, reranking, and chunking that survives re-ingestion.
Evaluation & serving
Champion-vs-challenger replay gates with confidence intervals, LoRA hot-swaps with no restart, and the whole stack on one GPU I have to fit it into.
Product engineering
Next.js sites, React Native and Flutter apps on real app stores, Supabase backends — the product muscle that keeps the AI honest about users.