I care about good design.

Even in infrastructure.

Most engineers don't think about design. Most designers don't understand systems. I've lived in both. That's why the things I build tend to be reliable and make sense to the people who depend on them.

Work

Product · Design · Platform

Partida

Immigration tech built for families, not lawyers. Product, design, and platform engineering from zero.

View project →

Writing

All posts →

We Stopped Trusting Deployments Until We Fixed This

Nothing destroys trust in deployments faster than realizing staging and production were never actually running the same thing.

Terraform is Like a Dishwasher: Great for Daily Loads, Overkill for a Single Cup

If you've heard the word "Terraform" thrown around and nodded along pretending to know what it means, you're not alone.

Open Source

gocardless-pro-python

Fixed rate_limit returning a dict instead of a RateLimit object

The public Client.rate_limit property broke documented attribute access (.limit, .remaining, .reset). Identified the gap between the internal API layer and the public interface, wrote a failing test, and submitted the fix.

Closed ↗
gocardless-pro-python

Added direct unit tests for the Paginator class

The Paginator class powers every .all() call in the library but had zero direct coverage. Added 7 isolated unit tests with unittest.mock covering multi-page traversal, cursor logic, parameter passing, empty responses, and mutation safety.

Closed ↗
confidence-sdk-python

Found shared mutable class-level context causing instance data leakage

All Confidence instances shared the same class-level context dict — setting context on one silently contaminated all others. Identified the root cause, proposed moving initialization to __init__, and flagged a secondary risk with a shared httpx.AsyncClient.

Closed ↗