Write the decision down
The option chosen, the option rejected, and the condition that would change my mind. A decision I can't explain in a paragraph usually isn't finished.
Nairobi, Kenya
Senior Full-Stack Engineer
Backend systems · Verifiable AI · IoT · Product interfaces
I'm a senior full-stack engineer based in Nairobi. My depth is in backend systems — Python and C#/.NET services, PostgreSQL, identity, payments, and the recovery path when a dependency fails — and I build the TypeScript and React interfaces that sit on top of them.
I like owning a problem end to end: working out what decision the system has to support, choosing a design and writing down what I gave up, building the full path from data model to screen, proving the failure cases, and leaving it in a state someone else can run. My current focus is AI that has to be verified — systems where a model reads regulatory or policy text and every claim it makes is checked in code against the source before a person signs off.
The public repositories are reference systems I built to work through specific problems: durable workflows, payment settlement, token validation, consent, late telemetry, and model output that has to be checked. They use synthetic or public data, and each README states what it does not prove.
The option chosen, the option rejected, and the condition that would change my mind. A decision I can't explain in a paragraph usually isn't finished.
Missing policy, stale consent, unverified payment evidence, an unsupported citation or an exhausted retry should stop the system and tell someone, rather than invent a success.
If a number appears in a README, a committed script produced it and the method sits next to it.
High-risk automation produces plans, citations and review records. It doesn't quietly change identity, money or policy.
If you're working on something like this, LinkedIn is the best way to reach me.
Elsewhere