These changes propose not replacing React to improve performance. With a combination of Server-Side Rendering and client code modifications, we can get the site to feel as performant as the Leaderboard.
Disable cache and give it a few refreshes.
Uses Vike to render the application at build-time. This reduces the amount of Javascript that must be fetched and executed before the page is displayed.
I also made some modifications to the client code to eliminate the visible INITIALIZING to READY state transition, allowing users to interact with the page immediately after load.
The manifest is now fetched silently in the background, typically taking only 10-30ms. If a user interacts before the fetch completes, the system waits for readiness before proceeding.
These changes eliminate all flashing that occurs on page load.
Closes #42
These changes propose not replacing React to improve performance. With a combination of Server-Side Rendering and client code modifications, we can get the site to feel as performant as the Leaderboard.
Disable cache and give it a few refreshes.
Uses Vike to render the application at build-time. This reduces the amount of Javascript that must be fetched and executed before the page is displayed.
I also made some modifications to the client code to eliminate the visible INITIALIZING to READY state transition, allowing users to interact with the page immediately after load.
The manifest is now fetched silently in the background, typically taking only 10-30ms. If a user interacts before the fetch completes, the system waits for readiness before proceeding.
These changes eliminate all flashing that occurs on page load.
Metrics before change:
Metrics after change: