11 months ago
Thurs May 8, 2025 12:45pm PST
Show HN: Basecoat – All of the shadcn/ui magic, none of the React
In a nutshell: Basecoat is a port of shadcn/ui to HTML and Tailwind CSS. It's a modern, themeable component library; everything from buttons to comboboxes and dialogs.

Why? Well, I got sick of React and moved over to a more "old school" stack (Python, HTMX, Alpine.js and Tailwind).

The one thing I missed was shadcn/ui [1]. Nice defaults, well thought out design system, easy to theme and great to build your own component library with.

I didn't find the alternatives compelling: Flowbite, Preline and the likes encourage you to copy/paste dozens of classes for each element.

That's not how I use Tailwind. I love the utility-first approach, but I don't want walls of classes for each button, form element or tooltip I have in my app.

I had been building my own component library for a project I’m working on (a Vercel for Python apps) and realized it may be worth my time to firm things up.

Why I think it's cool? Well:

- No React. Just Tailwind CSS (with a tiny bit of Alpine.js if you choose to). You can use that with whatever stack you want.

- Jinja and Nunjucks macros. I hope to support more template engines.

- 100% compatible with shadcn/ui themes (you can play with the theme select box on the site).

- Super easy to install and use (there's even a CLI).

- Accessible, with ARIA support.

- Did I mention no React?

Hope some of you find it useful.

[1]: https://ui.shadcn.com/

[2]: https://v4.shadcn.com/ (this is actually the new/upcoming version of shadcn/ui).

read article
comments:
add comment
loading comments...