← Back to blog
· 1 min read

Why I switched to Svelte for personal projects (DEMO POST)

SvelteFrontend

The React fatigue

After years of writing React, I started to notice the same patterns creeping into every project: a bundled runtime, virtual DOM diffing, and the ever-growing mental overhead of hooks and context. For small personal projects these costs don't pay for themselves.

What Svelte does differently

Svelte shifts the work to compile time. There's no virtual DOM — the compiler generates surgical DOM update instructions. The result is smaller bundles and often faster updates.

The component syntax is also remarkably close to plain HTML, CSS, and JS. There's a low conceptual overhead that I find refreshing for side projects where I want to move fast.

SvelteKit sealed the deal

SvelteKit's file-based routing, server-side rendering, and excellent TypeScript support made it a natural fit for this site. The +page.ts / +layout.svelte conventions are intuitive once you internalize the mental model.

Would I use it for a large team project? Maybe — but React's ecosystem breadth still has advantages there. For personal projects, Svelte is my default now.