A compiler, not a runtime framework

Technology

Svelte compiles your components into vanilla JavaScript at build time instead of shipping a runtime that interprets them in the browser. There is no virtual DOM to reconcile, which means less client-side work and a smaller bundle for the same interactivity, not a different flavor of the same tradeoff.

We rebuilt our own site in SvelteKit in 2022 and talked about it publicly twice that year, at Svelte Summit Spring and Fall. We reach for it now on products with real interactivity, a commerce site, a configurator, where the client bundle actually matters and the ecosystem gap does not.

View Technology
Monogram logo

Why

What the compiler buys you

  1. It compiles away at build time

    There is no virtual DOM shipped to the browser and no runtime interpreting your components client side. Svelte does that work at build time and ships close to plain JavaScript. For the same interactive feature, the client gets less code to parse and run.

  2. It is built for real interactivity

    This is not a content framework like Astro. It is the right tool when a page needs genuine client state: a product configurator, a commerce cart, a form with real validation, and you want that without the bundle weight of a full React app.

  3. The ecosystem is the real tradeoff

    The community, the component libraries, and the hiring pool are all smaller than React's. That is a real cost, not a footnote, and it shows up fastest when you need an off-the-shelf integration that exists for React and does not exist yet for Svelte.

  4. We picked it early and stayed

    We rebuilt our own site in SvelteKit in 2022 and have shipped client work with it since, including a commerce site with a juicer-motor loading animation and a product configurator for custom labels. It has held up as a production choice, not just an experiment.

Svelte projects

Where we've shipped it

Where it's the wrong call

When we reach for something else

Writing

Notes from the field