Zero to 100
Lighthouse
100 / 100 / 100 / 100 / 100
Stack
TypeScript + Vite, no framework
Themes
5
How the scores were earned
Inline synchronous script prevents cumulative layout shift before first paint
DOM updates throttled to 30fps rather than running every frame
GPU-accelerated CSS only, so nothing triggers layout or paint on the main thread
FOUC-free theme switching across all five themes
Fonts preconnect and use display=optional so they never block render
Why no framework
A progress bar does not need a virtual DOM. Reaching for React here would have meant shipping a runtime, a reconciler, and a hydration step to animate a single number. Going framework-free meant the entire payload is the thing the user actually came for, which is most of how the performance score got to 100. Run Lighthouse against the live site and check it yourself.

