The difference between a good and a bad interface can be small. We use Vue.js where appropriate on our projects to make sure the page can be rendered for the user as much as possible with long reloads. It can make the website behave a lot more like an app, which in turn, improves the user experience.