$lighthouse ./ --preset=perf↳ scored in 1.2 s
Fast on
purpose.
The component library you reach for shouldn't cost you Core Web Vitals. Six rules below — every component obeys them.
● LCP
0.8s
target < 2.5s
● INP
84ms
target < 200ms
● CLS
0.01
target < 0.1
● Bundle
14 kB
target gzipped
— bundleTree-shaken to 14 kB
Every component a single file with named exports. No barrel re-exports of unused siblings. Webpack/turbopack drops what you don't import.
— CSSTokens via CSS variables
Zero runtime CSS-in-JS. Themes swap by flipping data-theme on <html>. 4 ms recolor, no rerender.
— motionSprings over keyframes
Framer Motion springs — interruptible, cheap. Reduced-motion users get static layouts.
— imagesnext/image everywhere
Static export uses unoptimized=true; defer to Cloudflare/Vercel image CDN where available.
— code-splitLazy gallery routes
The 1179-component gallery is React.lazy + Suspense. Home page LCP unaffected.
— a11yFree of overlays
No giant noise SVG decoder per frame. Grain + grid pinned to z-index 0 with pointer-events: none.