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.
2 min
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.
GolangDistributed Systems
6 min
Idempotency Keys Are Not Optional
If a client can retry a request — and it always can — your write endpoints need idempotency keys. Here is how to design them so retries are safe without turning your database into a bottleneck.
Distributed SystemsAPI Design