Shipping a 100-Lighthouse theme, every release

“Fast by default” is a promise, so we treat it as a release gate: every Quaeris theme must score 100 on all four Lighthouse categories before it ships. Here is the budget that makes that repeatable.

Fonts: subset and self-hosted

Every theme self-hosts its fonts through Fontsource, latin subset only, with real fallback stacks. No CDN round-trip, no layout shift from late-loading faces.

Images: sized, lazy and optimized at build

Astro’s image pipeline resizes and converts at build time. Everything below the fold is lazy-loaded, and every image declares its dimensions so the layout never shifts.

CSS: inlined and budgeted

With inlineStylesheets: 'always', each page carries only the CSS it uses — no render-blocking stylesheet request. The whole design system stays under a strict size budget, which a token-driven system makes easy to hold.

JavaScript: zero by default

Motion is progressive enhancement: the site is fully usable with scripts disabled, and prefers-reduced-motion turns animation off entirely. Interaction that must exist — a mobile menu, a filter — is a few lines of vanilla script.

The release checklist

Before a theme lands in the catalogue: Lighthouse 100 ×4 on a throttled run, zero console errors, valid structured data, and a build output audit. Boring, repeatable, and the reason the promise holds.