In the future the project could have features similar to Plex, where a hosted client is served by some CDN, and every user could have some machine somewhere with the server (its port forwarded).
I believe React + TypeScript would be the industry standard for that.