Building the Dartwork Website
How we built the Dartwork website using SvelteKit, Tailwind CSS v4, and Paraglide v2.
We Decided to Build It Ourselves
Many early-stage startups outsource their website, but as a tech company, Dartwork chose to build it in-house. After all, it’s our first portfolio piece showcasing our engineering capabilities.
Choosing the Tech Stack
After evaluating several frameworks, we settled on the following stack:
- SvelteKit — A full-stack framework built on Svelte 5. Compile-time optimizations keep the bundle small and the developer experience excellent.
- Tailwind CSS v4 — Utility-first CSS. The CSS-first configuration in v4 makes the setup more intuitive than ever.
- Paraglide v2 — A compile-time i18n library. Automatic tree-shaking ensures unused translations never make it into the bundle.
- mdsvex — A preprocessor that lets you use Svelte components inside Markdown. We use it to manage blog posts, news, and IR content.
Internationalization
We support two languages: Korean and English. URL-based routing (/ko/..., /en/...) handles locale detection, and Paraglide’s <ParaglideJS> component makes language switching seamless.
Content files are organized into src/content/ko/ and src/content/en/ directories for clean separation.
Content System
Using mdsvex, we manage blog posts, news, and IR materials as Markdown files. Each piece of content lives in its own folder (index.svx + related assets), allowing us to co-locate images and other assets alongside the content.
Wrapping Up
There’s still plenty of room for improvement, and we plan to iterate continuously. We’ll share our technical challenges and learnings through this blog.