<Post>

Migration from Django to SvelteKit

Markus Järavere 04.05.2026

Why we migrated

Our company website is a marketing site to tell people who we are, what we do, and how to reach us. For a while, it ran on Django. Django is a great framework that shines in the right context. But for our homepage, it was overkill, and over time that friction started to show.

The problem with Django

Django is built around server-side rendering, a database, and an application layer. Our website doesn't need any of that. There's no user authentication, no dynamic data, no admin panel we actually used.

It wasn't exactly painful, but it felt wrong.

Why SvelteKit

SvelteKit felt like the natural fit for what our site actually is: a few pages of content, a contact form, and fast load times. But beyond the basics, it turned out to handle several real requirements with very little effort:

  • File-based routing - the project structure maps directly to the site structure. No URL configuration files.
  • Server-side rendering with Node - using adapter-node, the app runs as a lightweight Node server. We get the benefits of SSR without carrying a heavy backend stack.
  • Internationalisation - SvelteKit's routing made multi-language support clean and straightforward.
  • Sitemaps - SvelteKit endpoints let us generate dynamic XML sitemaps for both pages and blog posts, keeping things SEO-friendly without any plugins and framework-specific sitemap abstractions.
  • Performance - Svelte ships almost no runtime JavaScript. Pages load fast without any extra effort.
  • Developer experience - the feedback loop is much tighter. Changes are instant, and there's very little boilerplate to maintain.

The migration

The migration was straightforward. We didn't have complex logic to port, mostly templates and styles. We rewrote the pages in Svelte components and handled the contact form with a simple SvelteKit endpoint.

The result is a site that's faster, cheaper to run, and easier to update. More importantly, the tooling now matches the task.

Takeaway

Choosing a framework isn't just about capability, it's about fit. Django is excellent, but it wasn't the right tool for our homepage. It was SvelteKit.

If you're maintaining a marketing site on a heavier backend framework, it might be worth asking the same question we did: is the framework serving the site, or is the site serving the framework?

</Post>
© 2026 Pikker Technology OÜ