Self-taught engineer in Lagos. Co-founded PingPong (YC W21), Staff Engineer at Findem, now building Pradini. Agents write the code; I write the rules and checks that hold it in place, and I sign for what ships.
NowBuilding Pradini. Chauffeur-driven car rental for Lagos & Abuja.
Open to remote Staff and Principal roles, and to consulting. Bring me the part that keeps breaking.
Self-taught, in Lagos. Freelance web work from 2013, then Andela’s bootcamp in 2016: a new language most weeks, learned by building with it.
When I don’t understand something, I build it. My first repo was a command-line banking system. After that: a JWT library, logic gates built up from NAND, a 2D physics engine.
If you want to understand it, build it.
Sheet 03 · First crews · 2016–22
First crews
At Andela I joined client teams in stacks I hadn’t used before, and had to be useful fast. As a bootcamp facilitator I took more than 30 candidates through the last stage of Andela’s application process; over 90% were accepted. Then I led 6 developers on 4 client apps, with reviews and mentoring for each of them.
On a remote contract I helped split a large app into smaller services and looked after 9 of them in production. As a first engineer, I moved a team off deploying by hand. Then I co-founded PingPong as CTO: I built the first version alone, then led a team of 5.
30+ candidates, 90%+ accepted
6 developers, 4 client apps
InVision
Unbird
YC W21
Code takes the shape of the team that writes it.
Sheet 04 · The Recorder · 2020–26
The Recorder
Teams across time zones needed to talk without being online at the same time. I kept following that problem through five versions: PingPong’s async video, then my own recorder, native capture in Swift, Captur in Rust across 9 meeting platforms, and now Nzuko, which is self-hosted and transcribes on device.
Each step went a layer lower, but only when the need was worth it: better audio, less memory, and finally privacy, so nothing leaves your computer. What changed at the end was the cost. Agents made low-level code cheap to build, so the need and the timing finally lined up.
5 versions
9 meeting platforms
transcribed on device
Go lower when the need is worth the cost.
Sheet 05 · Repairs & reach · 2022–26
Repairs & reach
A rewrite had been stuck for months because it was planned as one big switch. I turned it into a gradual move, one part at a time, and it reached production in about a month. Repair beats replace.
Then 3 years on job boards for investor networks: boards they could edit themselves, the admin portal and design system behind them, and AI matching with search in plain words.
After the acquisition I built two things. Warm-introduction paths: the best way to reach someone is through a person you already know, so the search finds those friend-of-a-friend routes, ranks the strongest and answers almost instantly. I kept it in Postgres, with the reason written down. And hiring with AI agents: contact lists enriched instead of duplicated, and agents that work out the ideal candidate, find and contact people, set up applications and grow lists.
Grain · 2022
Getro → Findem · 2022–26
Staff Engineer
Design for the load you have, and write down why.
Sheet 06 · The Crew · 2026
The Crew
A small team can’t win by typing faster. Now I lead one engineer and a crew of agents, and my job is making that team work like a much bigger one: a clear brief for every change, 3 lanes in isolated worktrees, one fresh agent per ticket, merged by script.
About 20 skills and 27 CI workflows check the work before it merges.
17,314 contributions, Jan–Sep 2026
~15× any earlier year
If execution is instant, strategy is everything.
Sheet 07 · The Guard · 2026
The Guard
Dozens of money bugs passed review while looking correct. Review alone couldn’t catch them, so I built the Guard: a check with no model in it.
Every guard has to be seen failing once before it’s trusted.
A guard that cannot fail is worse than no guard.
Sheet 08 · Where I’m heading
Generation is free. Proof isn’t.
Let the model write, make the guard check, keep the person deciding. That’s what I’m building next, as Datum.