I'm a product engineer in Nairobi. I build software products from zero to one, and the infrastructure they run on. Right now I'm building Hercus, an agentic development environment where developers take Claude Code and Codex work from plan to review.

Before going independent in 2025, I was a full-stack engineer at IMS Ventures, whose lending platform offers small loans to mobile subscribers through telecom partners in around 15 African markets. I built the control plane for its core lending engine, designed its fine-grained role-based access control and audit trails, and worked through production issues with its operations team.

Projects

Hercus2026

Coding agents write code quickly, but the slow part is what comes after: checking the result, fixing a failed CI run, writing the pull request, and resolving the conflict. Hercus is an agentic development environment where developers take Claude Code and Codex work from plan to review. You can plan with one agent and hand the approved plan to the other, switch agents partway through a task, and queue follow-ups while it runs. Agents check their work in a built-in browser and the iOS Simulator. The editor, terminals, diffs, pull requests, failed CI runs with their logs, and merge conflicts are all in the same window, and independent changes run side by side in separate workspaces, each with its own Git worktree. A companion mobile app pairs with the desktop and follows the same work from a phone.

Helmstead2026

Every new product needs a cluster, databases, secrets, domains, deploys, backups and monitoring before it can go live, and setting them up again each time delays the product itself. Helmstead is a self-hosted platform that runs them once, on Kubernetes: a Git push becomes a cosign-signed image and a verified rollout, and a portal provisions Postgres, Redis, RabbitMQ, storage, secrets, routes, email, logs, metrics and error tracking per project, with a web terminal, a data explorer and role-based access. It is private by default, with Cilium default-deny networking, a Cloudflare Tunnel for public traffic and Tailscale for admin access, and it also carries a multi-tenant email service and a support platform. Defined as code with Terraform, Ansible and Argo CD, so the same definitions bring up the whole platform, cluster included, on a fresh set of servers.

unstructured.chat2025

Teams waste time hunting for answers buried in documents scattered across different drives and folders, then skimming long files to find the part that matters. With unstructured.chat, they ask questions in plain English and get answers grounded in their documents, with exact citations to the source. It imports files from Microsoft 365, Google Drive, Dropbox, and Box, handles more than 35 file formats, including audio and video, and uses role-based workspaces so people only see answers from documents they're allowed to access. It isn't publicly launched.

GetProductive2023

Personal plans fall apart when notes, to-dos and deadlines sit in different apps, so things get lost between them. GetProductive keeps tasks, projects with kanban boards and pages, notes, calendar and workspaces in one place, and lets AI act on them: an in-app assistant turns a chat request into real tasks, notes and events, and an MCP server with the app's own OAuth 2.0 server lets external agents do the same inside one workspace. It's live at getproductive.space, with paid plans since 2024.

Blockchain Voting System2022

In conventional elections, voters have to trust a central authority to record and count votes correctly, and the results are hard to verify independently. This system runs the election on an Ethereum smart contract: a Solidity contract enforces registration and voting phases and one vote per voter per position, Go services deploy it and register admin-verified voters on-chain, and a React front end lets voters sign their own votes with MetaMask, so every vote is a transaction and the tallies are readable by anyone.