@jescalan @dbox I ended up deciding for the purposes of this particular exercise that I would write up a little worker script instead – Basically as soon as a user lands on the site, the page script scans for links pointing to the same domain and sends them off to the worker. The worker will then fetch the html for each linked page and dispatch it back to the browser script for storage. So it progressively loads and "caches" more links as you navigate around the site. Its not overly complicated but I think I'm pretty close to having it working. The advantage is that it means 1) Don't have to rely on a json file being produced at build time and 2) I have complete freedom to add transitions etc should I want to.