Show HN: Basecoat – shadcn/UI components, no React required

25 hunvreus 11 5/13/2025, 11:22:40 AM
Basecoat ports the upcoming shadcn/ui v4 [1] to plain HTML + Tailwind (no React):

- Live demo & documentation: https://basecoatui.com

- MIT‑licensed and free: https://github.com/hunvreus/basecoat/

- Works with any backend (Flask, Django, Rails, PHP, etc.) or static site.

- Fully theme‑compatible with shadcn/ui [2].

- Uses a sliver of Alpine.js only for a few interactive bits (e.g. combobox). Swap in your own JS if you prefer.

- Dead simple to use, just drop in a class here and there:

  <button class="btn" data-tooltip="This is a tooltip text">Click me</button>
Why I built it: after moving from a Next.js stack back to Flask + Tailwind + HTMX, I missed shadcn/ui and didn’t want walls of Tailwind classes (like Flowbite or Preline).

Feedback is most welcome: bugs, requests for components, criticism.

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

[2]: https://basecoatui.com/installation/#install-theming

[3]: https://pagescms.org

Comments (11)

gsanderson · 17m ago
Looks great!

One suggestion would be adding a focus trap, such as when a Dialog opens. It's nice to use the tab key to move around the Dialog (inputs and buttons). Currently focus leaves to the page behind. It might be as simple as adding https://alpinejs.dev/plugins/focus#x-trap

replwoacause · 3h ago
Looks nice! Can you add a CDN option? Would be nice for a quick start to play around.

Also, reminds me of https://franken-ui.dev

hunvreus · 2h ago
Yep, I've been considering adding a CDN option.

I think it may be on the heavier side though (~100k).

o_m · 37m ago
Why did you decide going old school using Alpine.js instead of using plain vanilla web components?
campak · 18m ago
I dig it. Love this
BenderV · 3h ago
Awesome. Using Vue/Tailwind, I'm definitely interested in this. Maybe you could try to add examples of integrations with others frameworks? I'll play with it and give you my 2 cents.
hunvreus · 3h ago
Hello there Ben. Sure thing, I'll try and expand the docs.
pacmanche · 1h ago
Now you just need to remove Tailwind
hunvreus · 1h ago
If I offer a CDN version, it will be Tailwind-free.
revskill · 1h ago
And then ?
campak · 15m ago
and then... that solves the issue of a Tailwind dep