Currently, scores are calculated on page load inside of a server-side function. We should defer the calling of this function (basically just call the API instead), until after page load, asynchronously. This will allow us to show a loading spinner to the user, which will increase the expectation and feedback loop that something is happening. This will dramatically improve the user's perceived performance of the app, and result in less duplicate entries in the database (which is caused by users refreshing the page whilst the score is still being calculated).
Currently, scores are calculated on page load inside of a server-side function. We should defer the calling of this function (basically just call the API instead), until after page load, asynchronously. This will allow us to show a loading spinner to the user, which will increase the expectation and feedback loop that something is happening. This will dramatically improve the user's perceived performance of the app, and result in less duplicate entries in the database (which is caused by users refreshing the page whilst the score is still being calculated).