Bhekani
Khumalo
Software engineer in London. I lead the Workflows engineering at Contentful, after a year building the semantic layer behind its AI features. Part-time CPO at Notto. Civil engineer before any of it. I ship indie products in the gaps.
Currently building
- mxr
Agent-first, local-first email client in Rust. Open source. Syncs Gmail, Outlook and IMAP into SQLite; CLI, TUI, web app and MCP server share one API.
- blah.chat
50+ models behind one chat interface, switchable mid-conversation, with RAG over your documents and a cost-aware router.
- EasyDeck
Describe a deck, get finished slides with generated graphics as PowerPoint or PDF.
- FaithBench
Public benchmark for theological faithfulness in LLMs. Multi-stage LLM-as-judge pipeline, held-out test split.
- worthyourtime.xyz
Film recommendations from a learned taste model that explains its verdict.
- Interview Optimiser
Real-time voice AI mock interviews, built on Hume AI.
Recent writing
- We're building the culture of AI work right now
Right now, every way we talk about AI at work is helping define what ownership, competence, and judgment look like in the AI era. We should be more deliberate about that.
- The real bottleneck in your agentic workflow is you
When an AI agent stops to ask you something, it's usually not a reasoning failure. It's a context-access failure. The fix isn't a smarter model. It's better systems for capturing the judgment trapped in your head.
- What does it actually mean to run AI in production?
Your LLM can fail silently. No crash, no error - just worse answers reaching users while your logs show 200 OK. That's one of several ways LLMOps breaks from traditional MLOps. Here's what actually changes when your model is an API call.
- Your AI is confidently wrong
A benchmark tested 72 AI models on nonsense detection. ChatGPT's default pushes back 27% of the time. Gemini on Android? 10%. This matters when billions use AI for health advice.
- Building an LLM Model Router: Lessons From the Wild
What we learned building a model router for a multi-model AI chat app - the scoring approach that didn't scale, and the classifier rewrite that fixed it.