Journal
Short write-ups on correctness, infrastructure and the specific bugs that changed how I build. RSS.
A physics toy on a phone stopped the page scrolling. Not when you touched an object — when you touched anywhere near it.
2 min · JavaScript · Mobile · Canvas
Closing the modal left the app permanently frozen. The event was firing. React just was not listening for it.
2 min · React · Accessibility · Debugging
One endpoint missing a WHERE clause shows one customer another customer's drafts. You find out from the customer.
2 min · SaaS · PostgreSQL · Architecture
A platform that is quiet for days and then serves an entire region inside two minutes. The load shape decided the architecture before any feature did.
2 min · Architecture · AWS · Scaling
Workers Assets ships a default cache header that is correct for hand-written files and wrong for every file a bundler emits.
2 min · Cloudflare · Performance · Deployment
A draggable marquee where none of the cards were clickable. The drag code was correct. It was one line, in the wrong handler.
2 min · JavaScript · UI · Debugging
An unclamped frame delta made a WebGL hero teleport instead of resume, and pushed an interpolation past its target into negative values.
2 min · Animation · Performance · WebGL
Three full-bleed carousels on a phone ate every upward swipe. The cause was one line of CSS that does something the property name does not say.
2 min · CSS · Mobile · Debugging