Field notes
The Moffhub blog
What we're building, what we're breaking, and what we've learned shipping software in East Africa.
Talking to AI well, prompt engineering for everyone
Prompt engineering is just the discipline of being clear, specific, and structured when you ask a model for something. This post collects the patterns we reach for daily, with copy-paste examples you can try right now. Post 2 of the AI Foundations series.
The AI vocabulary you'll keep hearing
A working glossary of the words you'll hit reading anything about AI in 2026. Grouped by category. One-line definitions and one-line "why it matters" notes. Bookmark it. Post 3 of the AI Foundations series.
Your AI roadmap, the index for everything that follows
A self-paced training course in AI, offered as a series of blog posts. This page is the syllabus. Each section links to dedicated lessons. Skip nothing in Track 1. Stop where it stops being useful for your job.
What AI actually is (a no-jargon primer)
Before you can use AI well you need a working mental model of what it is. This post unpacks the words "AI", "LLM", "model", "training", "inference", "agent", "RAG" and a few others, in plain language. Post 1 of the AI Foundations series.
An SMS layer that survives provider outages moffhub/sms-handler
Multi-provider SMS for Laravel Africa's Talking, Advanta, Onfon, Twilio and Nexmo behind one API, with automatic fallback, per-provider rate limiting that auto-queues, segment-aware cost estimation, and webhook-driven delivery tracking.
Resuming dropped USSD sessions cleanly
USSD sessions die. Network blips, the user accidentally hits cancel, the gateway times out. moffhub/ussd ships a session-resume primitive so the next dial doesn't make the user start from scratch.
Build a school-fees USSD app with moffhub/ussd
A complete walkthrough from the menu tree to the M-Pesa STK push for a USSD app that lets parents check balances and pay school fees. The shape we deploy to several Kenyan schools.
Page 2 of 2 · 17 The Moffhub blog