AI Engineer building reliable agentic systems, backend services, and products for real users.
I build software from problem definition through architecture, implementation, testing, deployment, and iteration.
AI agents, backend engineering, cloud infrastructure, and real-world operating constraints. I have built grounded AI systems, agent governance infrastructure, USSD and M-Pesa workflows, and full-stack products for real clients and users.
I use AI coding agents such as Claude Code, Gemini, and Codex to move faster, while retaining responsibility for architecture, verification, testing, debugging, and deployment.
Based in Nairobi, Kenya. Open to remote opportunities.
Grounded civic-information AI agent
A civic-information AI agent built with Google ADK, Gemini, FastAPI, and Vertex AI. It uses the Constitution of Kenya 2010 and IEBC voter guidance as source material.
A deterministic validation layer checks responses for required citations and can reject unsupported answers before they reach the user.
Stack: Python · FastAPI · Google ADK · Gemini · Vertex AI · Docker · Cloud Run
Governance infrastructure for AI agents
An infrastructure layer between AI agents and the systems they act on.
Agents submit proposed actions to a deterministic policy engine which can approve, block, or route actions to a human for review. Decisions are recorded for auditability and surfaced through a real-time dashboard.
Stack: Node.js · Express · Knex · SQLite · Socket.io · React · Vite
LLM agent with tools, browsing, and verification
An LLM-powered agent built with Python and LangGraph/LangChain. The system evolved through iterative development to include web browsing, tool-oriented workflows, platform-specific prompt constitutions, security filtering, and automated testing.
Stack: Python · LangGraph · LangChain · Gemini · OpenAI · Anthropic · Web tools
USSD insurance fraud screening and payments
A deterministic fraud-screening workflow connecting USSD intake, rule-based decisions, SMS, and M-Pesa B2C payouts.
The system handles asynchronous processing, callback timing, duplicate-payment risk, and auditability, with unit and integration tests.
Stack: Node.js · Express · USSD · Africa's Talking · M-Pesa Daraja · SQLite
Full-stack e-commerce platform
A full-stack commerce platform built and shipped for an international client. The system covers product management, payments, storage, transactional workflows, and deployment.
Stack: Next.js · TypeScript · Payload CMS · PostgreSQL · Stripe · Vercel
USSD/SMS parking operations
A mobile-first parking management system designed to replace handwritten parking records with digital workflows.
It supports vehicle logging, operational dashboards, reporting, and SMS/USSD workflows.
Stack: Next.js · TypeScript · Drizzle · SQLite · Africa's Talking
Offline-first repair logging for OTC Mall
An offline-first progressive web app for logging roller-shutter repairs in the field at OTC Mall, Nairobi. Built to be used one-handed, standing at a stall.
Records live entirely on the device through IndexedDB, work fully offline, and sync additive repair data to a spreadsheet when a connection is available.
Stack: React · Vite · IndexedDB · localforage · PWA · Vitest · oxlint
I am particularly interested in:
- Reliable agentic systems
- Agent evaluation and regression testing
- Context and tool design
- Grounded generation
- AI governance and human-in-the-loop systems
- Agent memory and retrieval
- Backend and API engineering
- Cloud AI infrastructure
- AI-assisted software engineering
Languages Python · TypeScript · JavaScript · SQL
Backend FastAPI · Flask · Django · Express · Next.js
Frontend React · Next.js · Tailwind CSS
Data PostgreSQL · SQLite · Supabase · Drizzle · Knex
AI / Agents Google ADK · Gemini · LangGraph · LangChain · Anthropic
Cloud AWS · Google Cloud · Cloud Run · Vertex AI · Vercel
Infrastructure Docker · GitHub Actions
Integrations Africa's Talking · M-Pesa Daraja · Stripe
Testing Pytest · Vitest · Playwright · Testing Library · Node test runner


