I have made this notebook so it works completely in the browser. Setting up indexes at the beginning is a bit slow but after that it performs well.
I have been using the following stack. - https://gleam.run/ - https://github.com/hayleigh-dot-dev/gleam-lustre
Despite very early days for the lustre framework, the type safety it inherits from gleam makes development very fast.