The engineer behind the case studies
Insurance systems engineer, most of the last five years as the only engineer on a product or the sole owner of a domain, with requirements from the founder or the department head.
In numbers
- 65 Pull requests on an insurer's core platform, the most on the team
- 299 of 411 Test files on that platform that originate with me
- 78 Approval types driven by one engine I centralised
- 93% Of the commits on a founder's compliance platform, 1,248 of 1,345
Every number on this page is a count from a repository I can point to.
The longer version
Through 2025 and 2026 I worked on an East African insurer's core platform. I built its underwriting engine in one pull request of 81 files, then served as the sole engineer for Finance, HR and Payroll, taking requirements directly from the CEO, the CTO and finance and HR leadership. The quotations, policy and claims modules were the lead engineer's. I worked alongside them, and every one of those events posts into the ledger I built.
Before that, founders' products. Three consumer platforms for one performance-marketing operator as the sole full-stack developer for nearly two years, including a relaunch of one site on top of its live database. A trucking dispatch and shipment-tracking product taken from a blank project to MVP as the only developer. And a compliance-audit and inspection platform for food manufacturers, joined in its first week of engineering and owned as sole engineer once the founder stepped back from code.
Alongside the insurer, I built the books of a member-owned savings-and-loan co-operative I hold half of: exact money instead of floats, a ledger that voids instead of deleting, a year close that cannot run twice, and a test that replays the partners' old workbook through the live code.
Everything on this site traces to a repository. Where a client is not named, the work is described instead, and no internal figure, rate or threshold from a client system appears anywhere here.
Career
- Aug 2026 to now · Own and unpaid Own and unpaid builds: A strategist's site and section-based CMS, a training organisation's site and certificate system, and this site with the CMS behind it, each delivered schema to deploy.
- Jul 2025 to Jul 2026 · Remote contract An East African insurer: Built the underwriting engine, then sole engineer for Finance, HR and Payroll with requirements from the CEO, CTO and finance and HR leadership. 65 pull requests, the most on the team, and 299 of 411 test files.
- May 2026 to now · Partner, 50 percent A savings-and-loan co-operative: Replaced three partners' spreadsheet with books that cannot drift: declining-balance interest on exact arithmetic, a year close that cannot run twice, and a balance sheet that checks its own accounting identity.
- Sep 2023 to Jun 2025 · Independent Consumer platforms and a trucking MVP: Three consumer platforms for one operator, each owned from schema to production, and a dispatch and shipment-tracking product taken from a blank project to MVP as the only developer.
- Dec 2021 to May 2023 · Remote contract Compliance and inspection platform: Early hire in the platform's first week, sole engineer after the founder stepped back from code. The headline feature, recurring inspections that schedule themselves, is mine.
What you can count on
Four habits, the same whether or not I hold a stake in the outcome.
- Decisions get written down: When a spec argues with itself I write the gap down and ask while the answer is still cheap. Guessing quietly is how a system ships wrong and confident.
- History stays intact: Records an auditor relies on freeze once complete. Corrections void rather than delete. Account codes restructure on live data in reversible steps.
- Money ships with tests: Where correctness is auditable it is tested, including cases computed by hand first, so the test proves the code rather than agreeing with it.
- Bugs outside my scope get reported: An unguarded file path and a race that left records fully approved but never finalised. Neither had a ticket. Both were found and fixed.
Straight answers
The questions that come up first, answered here.
- What did you build at the insurer, and what did you not?: The underwriting engine and premium recalculation, the chart of accounts and general ledger, the financial statements, period close, the approval engine, statutory payroll, procurement, the employee portal and the policyholder API with its middleware. The lead engineer built quotations, policies, endorsements, claims and reinsurance. I worked alongside them, reviewed and tested quotations and claims, and every one of those events posts into the ledger I built.
- Why so much emphasis on money math?: Because floats lose money quietly and someone eventually notices. The co-operative's ledger runs on exact arithmetic with an architecture test that fails the build if a finance service skips the money helper, and its profit split is written so the percentages always sum to the total.
- What does owning a domain mean here?: Taking it from the department's requirements through schema, service layer and the screens on top, then answering for it. On the insurer's platform that was Finance, HR and Payroll. On the compliance platform it was the whole product once the founder stepped back from code.
- Why are the clients not named?: They are described instead: an East African insurer, a performance-marketing operator, a founder's compliance platform. No internal figure, rate or threshold from a client system appears on this site. The rule is the same on every channel I write on.
- How do you work with a team?: Pull-request-first, with business-readable titles. Tests ship with the feature. Risky changes get a written spec before the code. I test colleagues' work before release, and I assume the next person maintaining a module will not be me.
- What is the stack?: Laravel and PHP on MySQL, REST with OpenAPI, Pest for tests. Inertia with React or Vue, Livewire and Filament where they fit the product.
Contact
Questions about any of these systems are welcome.