Skip to content
Blog
Engineering

From MUI to shadcn/ui: rebuilding our design system

Lessons from migrating off a heavy runtime CSS-in-JS library to a code-you-own component library.

By Kamga Simo Junior
From MUI to shadcn/ui: rebuilding our design system

An earlier attempt at this site shipped on MUI 5. We've since moved to shadcn/ui. The motivation was three-fold: bundle size, visual flexibility, and ownership.

Bundle size

MUI ships ~80 KB of runtime CSS-in-JS infrastructure before you render a single component. Tailwind v4 + shadcn/ui ships a static stylesheet, computed at build time, with zero runtime cost.

Visual flexibility

MUI has strong opinions about typography, spacing, and component shape. Those opinions are reasonable but they read as 'MUI' — not as 'J7Soft'. shadcn/ui ships unopinionated Radix primitives styled with Tailwind classes you can edit.

Ownership

With shadcn/ui, every component lives in our repo. We can edit any of them at any depth without forking. Upgrades are a copy-paste, not a major version bump.

Tagsshadcnmuidesign-systemtailwind
Related posts

Related posts

Read everything we publish

Browse our latest engineering, product, and company notes.