Technical Blog
Longer, narrative posts about specific engineering decisions behind the platform — the kind of thing that doesn't fit in a reference page.
-
Circuit breakers for external services
May 22, 2026
Stopping cascading failures when payment, shipping, or tax services go dark.
-
Tracing a memory leak in Solid Queue workers
May 21, 2026
Where the leak came from and how we measured the fix.
-
Why we paginate with cursors, not page numbers
May 20, 2026
Offset pagination gets slower the deeper you scroll and shows shoppers duplicates. Keyset pagination fixes both.
-
Shipping web push with VAPID
May 19, 2026
Browser push notifications for the blog without a third-party SDK.
-
Designing OTPs that survive a stampede
May 18, 2026
Resend throttling, idempotent generation, and queue back-pressure for SMS/email OTPs.
-
Observing the Rails cache in production
May 17, 2026
Hit-rate, eviction signals, and what to alert on.
-
Infinite scroll without breaking the back button
May 16, 2026
Stimulus + IntersectionObserver, with cursor pagination underneath.
-
How wishlist sharing actually works
May 15, 2026
Turning a private list into a shareable, collaborative object — and keeping the public surface to exactly one endpoint.
-
A taxonomy of error handling in a Rails monolith
May 14, 2026
What to rescue, where, and when to fail loudly.
-
Designing a fail-open Redis layer
May 10, 2026
Redis makes the store fast. The work was making sure it could never make the store down.