An enterprise SaaS platform targeting 40% reduction in healthcare appointment no-shows and 50% administrative efficiency gains for East African healthcare providers. Built on .NET 10, Azure, and microservices with CQRS/Event Sourcing. MVP in active development.
Full-Stack Software Engineer
I build backend APIs, full-stack SaaS products, and AI-integrated systems. Experienced in Azure infrastructure and African payment systems (M-Pesa, Pesapal). Based in Nairobi, Kenya.
Nairobi, Kenya · Open to remote and on-site engagements.
Areas of expertise
Backend & API Engineering
ASP.NET Core, Node.js Fastify, RESTful API design, PostgreSQL optimisation, authentication systems, SignalR
View servicesFull-Stack Product Builds
Next.js App Router, React, Blazor Server and WebAssembly, Turborepo monorepo architecture
View servicesAI Feature Integration
Anthropic Claude API, OpenAI embeddings, semantic search via pgvector, retrieval-augmented generation
See case studyCloud & DevOps
Azure App Services, Service Bus, Redis Cache, Key Vault, Docker, Kubernetes, Terraform, GitHub Actions
View servicesAfrican Payment Systems
M-Pesa Daraja API, Pesapal, STK Push integration, callback handling, idempotency patterns
See case studyEnterprise Architecture
Microservices, CQRS and Event Sourcing, clean architecture, SOLID principles, TDD
See case studyDelivered results
Case studies
View allA 6-month engineering engagement at a CGIAR research centre building internal automation tooling — Python/Flask RESTful APIs, PostgreSQL integration, and web applications adopted by a cross-functional team of 12. Delivered 20% processing time reduction and 40% elimination of manual tasks.
A solo monorepo e-commerce platform bringing Riggs London fragrances to the Kenyan market, built with Next.js 14, Fastify, PostgreSQL with pgvector, Redis, M-Pesa STK Push, Pesapal, and an Anthropic Claude AI chatbot.
Writing
All articlesWhat I Learned Shipping AI Features in Production
Honest lessons from building a Claude-powered chatbot, a pgvector semantic search pipeline, and an AI assistant into real products — covering prompt architecture, cost decisions, rate limiting, and where AI actually earns its place.
Semantic Product Search with pgvector and OpenAI Embeddings
How to implement semantic search in PostgreSQL using the pgvector extension and OpenAI embeddings — covering schema design, embedding generation, cosine similarity queries, IVFFlat vs HNSW indexing, and fallback strategies.
Integrating M-Pesa STK Push with a Next.js API Route
A complete guide to integrating Safaricom's M-Pesa STK Push using the Daraja API in a Next.js 14 App Router project — covering authentication, STK Push request, callback handling, idempotency, and error states.
Recent activity
Looking for a contract engineer?
I take on select engagements in backend API engineering, full-stack SaaS builds, AI feature integration, and cloud infrastructure. Typical engagements run 4–12 weeks. Based in Nairobi, Kenya — remote-first.