Why We Build With Svelte (and When We Don't)

We've built production apps in React, Vue, and Svelte. For the past year, Svelte has been our default. Here's why — and where we draw the line.

What Svelte Gets Right

Less code. Svelte 5's runes ($state, $derived, $effect) are the most concise reactive primitives we've used. Compare a counter component in React vs Svelte — Svelte wins on lines of code every time.

No virtual DOM. The compiler approach means smaller bundles and faster updates. For content-heavy sites and dashboards, this matters.

Built-in transitions. fly, fade, crossfade — animation that would take a library in React comes built-in. We ship motion design faster.

SvelteKit is excellent. File-based routing, form actions, load functions — it's the framework we wish Next.js was.

Where We Don't Use It

Large team ecosystems. React's ecosystem is unmatched for enterprise component libraries (Radix, shadcn, Ant Design). If you need 50 pre-built components, React is still king.

React Native cross-platform. If mobile is primary, React Native gives you one codebase. Svelte has no equivalent (yet).

When the client demands React. Some clients have React mandates. We build great React apps too — we just prefer Svelte when we have the choice.

The Bottom Line

Svelte is the best tool for building fast, maintainable web apps with small teams. It's not the right tool for every job, but it's our starting point.