- Every Abstraction I RegretApr 8, 2026 · 6 min readA short list of abstractions I added too early, why they got worse over time, and the heuristics I use now to avoid repeating it.
- Moving SMS Realtime Off Postgres Polling and Onto Redis StreamsOct 6, 2026 · 9 min readA Django app whose SSE endpoints polled Postgres from sleeping request threads, and the outbox, relay and Redis Streams setup that replaced them in March 2026.
- When to Extract a Component (and When to Just Copy-Paste)Feb 12, 2025 · 3 min readThe 3-usage-sites heuristic for component extraction, a premature ConfirmDialog that cost me time, and why copy-paste is sometimes the right call in Vue.