Looks good. I normally package a webui up with vite and serve that but I'll keep this in mind

Yep, exactly, you can also do code splitting by adding multiple entry points. https://github.com/gsxhq/vite does that