Blog
Notes on systems, payments & the work
Practical writing about engineering at scale and the personal side of a career in software — architecture decisions, trade-offs, failures, and lessons learned.
Context Cancellation in Go
How cancellation moves through a Go service and why ignoring it creates invisible production work.
Designing a Payment Transfer System for High Throughput
What it actually takes to move money across 130+ banks reliably: idempotency, reconciliation, per-integration failure domains, and keeping tail latency predictable when downstream banks misbehave.
What Makes a Good Go Package
Small APIs, clear ownership, and boring names make Go packages easier to maintain.
Taming Tail Latency in Go Services
p99 is where your users actually live. A practical tour of the Go-specific causes of latency spikes — GC pauses, goroutine scheduling, connection pool starvation — and how to measure and fix them.
From Declarative Intent to Go Code
Why Declarative Backend starts with intent and ends with code developers can inspect and own.