My toy project https://k8.fingswotidun.com/static/ide/?gist=ad96329670965dc...
Gives you an emulator, an 8-bit AVR Assembler, and an IDE for just over 500k transferred. Almost all of it JavaScript.
Using math.js is by far the heaviest part but at least your Asm already knows things like solarMass and planckConstant :-). CodeMirror comes in second heaviest but for user-experience-per-byte you're always going to be streets ahead of a gif.
Yet this is most times used to load React to make a button clickable.
If you have a few megs of images that never show up because they take too long to load, there is no point.
SVG only works in a few places.
It's not a bad thing, it's just a thing.
It's over one hundred thousand lines of JavaScript code minified and Gziped into a 300KB bundle which should fully load in about 300ms on a decent computer.