Feb 18, 2025 1m

shadcn/ui might not be for you

Why I use shadcn/ui and why you maybe shouldn't.

I am an avid user and contributor to shadcn-svelte and a firm believer in it's methodology. Over my time as a user and contributor I have learned a lot about shadcn/ui and its community.

I use shadcn/ui because I want control of the code. I want to be able to change the styles and behavior as I see fit, and I don't want to wait on anyone else to make my app work.

Unfortunately many of the developers using shadcn/ui don't share this mindset, most of them won't touch the code once it's in their project. Many an issue have been opened to change this or that missing the point that this change should simply be made to the code in their own project.

I think most developers expect a batteries included experience which isn't really what's being offered. What's being offered is a set of primitives that solve most of the hard parts with the expectation that you are capable of solving the rest.

This is why shadcn/ui might not be for you. It may be too much to ask to write the rest of the components you may need for an application, or to look at the code from time to time and if that's the case it's probably time to find something else.

Aidan Bleser
Aidan Bleser

Frontend Engineer

Other Blog Posts
Copilot, Plagiarism, and OSS

Copilot plagiarism is no longer a theory.

Feb 25, 2025
Migrating from Arc to Zen in 5 minutes

Arc is dead, it's time to make the switch to a browser that gives a sh*t about it's users.

Feb 21, 2025
My 2024 Web Development Wrapped

How I grew and updated my tech stack in 2024.

Dec 19, 2024
View all blog posts
Stuff I work on
finalchat finalchat

The last chat you'll ever need

jsrepo jsrepo

The modern registry toolchain

shadcn-svelte-extras shadcn-svelte-extras

Extra components for shadcn-svelte

shadcn-svelte shadcn-svelte

A Svelte port of shadcn/ui

Let's connect

Want to work with me? Great! Reach out below!

Contact Me