The Page That Ran Out of Memory Being Smooth
Decide what you would build from the brief alone. Everything below it is available, but the exercise stops working if you open it first.
After a "performance sprint" that added will-change: transform across the component library, a content-heavy page scrolls smoothly on a laptop and crashes the tab on mid-range phones. Diagnose it.
Replacing will-change: transform with transform: translateZ(0) throughout, because it is the older idiom, it is not a "hint" the browser may ignore, and the smoothness is preserved. It promotes exactly the same way and allocates exactly the same memory — the crash is unchanged, and it is now harder to find, because the promotion is disguised as a transform rather than declared as an optimisation hint. Swapping one blanket promotion for another treats the syntax as the problem when the problem is that promotion was applied without regard to whether anything animates.