User types "android" into your search box. That's 7 API calls if you wired it the way I did the first time. A few months later I shipped a pagination bug where every infinite-scroll fetch flashed a full-screen loader for half a second. And then there was the Settings screen that needed to refresh the Dashboard when the user changed theme — but Settings couldn't import Dashboard without a circular
Memory leaks in JavaScript don't announce themselves with an error. They show up as a heap that grows by 20MB per minute — invisible in a five-minute Lighthouse run, fatal in a six-hour production session. Why React apps leak: A useEffect that opens a WebSocket and never closes it on unmount. A setInterval without clearInterval in the cleanup return. A global Map that grows without bound. In each
Random 30–50ms freezes with no obvious long tasks in the Performance panel often have one root cause: the garbage collector. V8 pauses JavaScript execution to reclaim memory, and if your allocation rate is high enough, those pauses happen frequently — creating jank that shows up as a sawtooth pattern in the memory timeline rather than a spike in the flame chart. What this covers: How V8's generati