Our Notebooks integration started as an experimental project but quickly became a central piece of our Portal experience, with complaints about slow load times coming from users outside the US. To improve this, we added a loading bar, served the extension UI separately from the Jupyter server, decoupled the two and had them load in parallel, mocked static requests to reduce round trips to the backend, pre-rendered the iframe when logging into Helios to serve the necessary files before opening a notebook, and achieved significant improvements in load times. With these optimizations, our P90 for "time to interactive" decreased from around 30 seconds to less than four seconds, an 87% improvement, and we're considering further optimizations such as reducing JupyterLab's file size and building a proxy to deploy in multiple regions.