Writing
Notes on Software architecture, performance, and building for real users.
Jun 12, 2026
2 min read
Idempotent Webhooks: How I Stopped Double-Charging Customers Before It Ever Happened
Payment providers will retry webhooks. Networks will duplicate them. Here's the pattern I use to make billing webhooks safe to receive twice — or twenty times.
- Payments
- Node.js
- Webhooks
- PostgreSQL
Apr 3, 2026
2 min read
Moving Slow Work Off the Request Path with BullMQ and Redis
How deferring generation-heavy workloads to background jobs cut API response times dramatically — and the queue design decisions that made it reliable.
- BullMQ
- Redis
- Node.js
- Performance
Feb 18, 2026
2 min read
Designing an Offline-First Desktop App That Syncs Without Losing Data
Lessons from building an incident management app that must work with zero connectivity — local SQLite, a background sync service, and honest conflict resolution.
- Offline-first
- TypeScript
- SQLite
- Sync