It seems this is doing round trips to the server to do the calculations?

I often think that with the current state of Javascript in the browser, we could build an awesome, super fast, Jupyter style notebook software that runs completely in the browser. With the modules implemented as native Javascript modules which are dynamically loaded.

Is anybody working on this?

I have built a rough version of this idea for myself and been using it for my own statistic needs for a few months now. It is far from being polished/flexible enough to be useful as a general purpose notebook though.

Checkout https://github.com/jupyterlite/jupyterlite, WASM'd Jupyter in the browser with Pyodide