When you have a giant image and you want to make it easy to pan and zoom without downloading the whole 50MB image into someone's browser, a nice workaround is to cut that image into tiles at different zoom levels and view it as it were a map. An example where I've used this technique is The "Snowpiercer" Scenario.
One way to cut your big image into the requisite tiles is with gdal2tiles.py.
Alternatively, this Node script will do the cutting after you install node-canvas and mkdirp:
const fs = require("fs"),