blog
writing about code, design, and things i learn.
hello world — building this site
how i built brydon.io with next.js, mdx, three.js particles, and a monospaced design system.
adding dunning to billing without touching a single strategy
how the decorator pattern let us layer payment failure handling across four billing strategies with zero changes to existing code.
replacing stripe's proration with our own billing strategies
how we moved from stripe's built-in proration to a strategy pattern with four billing modes — and why the decorator pattern made dunning trivial to add.
building a permission system from scratch at cal.com
how we replaced simple role checks with a typed, registry-driven permission system — with dependency graphs, scope filtering, and a zero-downtime migration path.