
Own the RAF loop and honour reduced motion
A smooth-scroll library ran its own animation loop. Sloppy teardown left a second one running, and scrolling went doubled and janky. Discipline fixed it.
// writing
Page 2 of 8

A smooth-scroll library ran its own animation loop. Sloppy teardown left a second one running, and scrolling went doubled and janky. Discipline fixed it.

Targeting cheap phones forced a low-poly, dithered look on my game. I stopped treating that as a compromise once I noticed the style and the budget were the same thing.

A deep link into another app assumes that app is installed. It might not be. Pair every custom-scheme link with an https fallback and use the check as a probe.

An API route needed a module that only exists at runtime on the deploy target. Two separate bundlers tried to resolve it at build and failed. I had to beat both.

A dither shader ran fine on my desktop and broke on export to phones. The fix was ugly on purpose. The real lesson was which language I was actually writing.

Drop the 16-byte authentication tag and you have not built weaker encryption. You have built unauthenticated encryption, and tampering sails straight through.

The tidy helper for a 3D backdrop was quietly building an expensive lighting pass I did not need, and it was killing my canvas. The primitive API fixed it.

My retro racer clipped through walls and misjudged landings. The fix was not smarter collision code. It was running physics twice as often, on purpose.

IntoAction runs SQLite in dev and Postgres in prod, with Drizzle promising the two are identical. They are not. The leak showed up in a JSON column that came back parsed on one and raw on the other.

A server database you migrate once at deploy. On-device SQLite you migrate on a million phones you will never see. That changes what a migration runner should be.
No matches, try another word.