writing
Bundle size, web performance, and how to ship less JavaScript.
Compression shrinks what crosses the wire, not what the browser has to parse. How gzip and brotli work, which one to serve, and why you should track the compressed number — not the raw one.
read →What webpack actually puts in webpack-stats.json: assets vs chunks vs modules, how the reasons array traces why a module ended up in your bundle, and how to generate and read it.
read →A walkthrough of finding and fixing three common culprits — a heavy date library, a whole icon pack import, a duplicated dep — then locking the saving in with a budget.
read →A performance budget is only real if the build fails when you cross it. How to set a bundle budget and wire it into CI in a few lines.
read →A practical map from JavaScript bytes to LCP, INP, and CLS — why a heavier bundle quietly degrades the metrics Google ranks on, and how to watch it.
read →Slow pages lose users and revenue. A tour of the public numbers — bounce, conversion, and engagement — and where JavaScript bundle size fits in.
read →