A page feels janky while scrolling. How do you diagnose it?
Record a performance profile and look at which part of the frame is over budget: script, style and layout, paint, or composite. Long tasks that block the main thread are the usual cause, and forced synchronous layout — reading a geometry property right after writing a style — is the classic self-inflicted one. Animate transform and opacity because they can be composited without layout, break long work into chunks, and move genuinely heavy computation into a Web Worker.