Experiments.
Things that only had to be interesting enough to try. An experiment counts as a success if it settles a question — including when the answer is “no, stop”.
-
EXP. 023 · 2026-08running
Can rent history alone predict whether next month's rent arrives on time?
Twelve months of anonymised LEA payment events, a logistic baseline, no other features. It beats a coin flip and nothing else. Useful mostly as proof that I need more than one signal — which is the actual finding.
Primary image Additional image Additional image -
EXP. 022 · 2026-07inconclusive
What happens if an n8n workflow becomes an agent instead of a flowchart?
Rebuilt a fixed six-step ops workflow as a tool-calling loop. It handled the edge cases the flowchart couldn't and invented two failure modes the flowchart never had. Kept the tools, threw away the autonomy.
Primary image Additional image Additional image -
EXP. 021 · 2026-06shipped
Can a till receipt tell you more about a small business than its bank statement?
Parsed a month of M-Pesa till confirmations into a daily revenue series. The shape of a week is extremely legible — Fridays, month-end, school terms. Formal statements flatten all of that out.
Primary image Additional image Additional image -
EXP. 020 · 2026-04abandoned
How cheap can a meeting-to-actions pipeline actually get?
Upload, transcribe, diarise, summarise, extract commitments. Works. The transcription cost per hour is the whole business model, and at Kenyan price points it doesn't close yet.
Primary image Additional image Additional image -
EXP. 019 · 2026-03abandoned
Is vector search worth it for a corpus of 400 documents?
Stood up Milvus, embedded everything, built the retrieval layer. Then tested it against Postgres full-text search. At this size, full-text won on latency and lost almost nothing on relevance. Deleted the cluster.
Primary image Additional image Additional image -
EXP. 018 · 2026-02shipped
Can a QR code replace the registration desk at a campus event?
Built for a Chiromo Tech Club event. It worked at the desk and failed in the queue — nobody has signal in the corridor. Now caches locally and syncs after.
Primary image Additional image Additional image -
EXP. 017 · 2026-01shipped
Can I automate the thing I do every Sunday night?
A scheduled job that pulls the week's payment events, diffs them against expected rent and posts a single summary. Ninety minutes of work replaced by a message. The prototype for how I now think about all internal tooling.
Primary image Additional image Additional image -
EXP. 016 · 2025-11inconclusive
Does an SMS fallback actually change collection rates?
Africa's Talking behind the reminder system, for tenants who never open the app. Too small a sample to claim a number, but the qualitative answer is yes — the channel matters more than the message.
Primary image Additional image Additional image -
EXP. 015 · 2025-09shipped
What does a payment look like if you draw every state it can be in?
Not code. A wall of paper. Pending, pushed, timed-out, partial, duplicated, reversed, orphaned, reconciled. Nineteen states. This drawing is why the LEA ledger got rewritten.
Primary image Additional image Additional image
