Writing

Notes from the actual work.

Project write-ups, including the approaches that didn’t work, and pieces on the data problems that keep coming up in small organisations. I publish when I have something worth saying rather than on a schedule — so this page grows slowly and everything on it is something I’ve actually done.

SQLreconciliationdelivery performancedashboardsM-Pesa & booksjoin trapsdata cleaningTableau

Two pieces currently in edit.

In edit
Case study · SQL & Tableau

Ranking sellers by average delay almost made me miss the real problem

A delivery-performance audit of a 100,000-order marketplace. The first ranking I built pointed at the wrong sellers entirely — and the join that nearly hid it.

Long read
Drafting
Essay · Practice

Data problems costing Kenyan SMEs money in 2026

M-Pesa records that never match the books, stock counts nobody trusts, and the monthly report rebuilt from scratch every single time.

Essay

Everything that’s live.

Nothing published yet — the two pieces above land first.

What I tend to write about.

01

Post-mortems on my own analysis

The version I nearly shipped, why it was wrong, and what caught it. More useful than a clean walkthrough that pretends the first attempt worked.

02

Reconciliation & trust

What to do when two systems disagree about the same number, and how to work out which one is telling the truth.

03

SQL in practice

Joins that silently drop rows, fan-out that inflates totals, and the checks worth running before a number reaches anyone’s dashboard.

04

Small organisations, real constraints

Data work where there’s no warehouse, no data team, and the spreadsheet is load-bearing. Which is most of the work, most of the time.

05

Reporting people open

Why most dashboards get abandoned within a month, and what the surviving ones have in common.

06

Learning in the open

Notes from moving toward analytics engineering — transformation modelling, warehouse design, and what’s still unclear to me.

Got a problem that’d make a good write-up?

If something in your data isn’t adding up, I’d like to hear about it. The first conversation is free and takes about thirty minutes.

Get in touch