←back to thread

144 points hunvreus | 3 comments | | HN request time: 0.669s | source

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

Show context
juddlyon ◴[] No.43977319[source]
There’s a huge need for this, thank you! I build server-rendered marketing sites and there’s a huge gulf between the jQuery and React era.
replies(1): >>43978879 #
1. hunvreus ◴[] No.43978879[source]
Have you played with Alpine.js before? HTMX?

I think you can get quite far these days WITHOUT React or Vue.js (and I say that as the maintainer of a Next.js/React open source project [1]).

[1]: https://pagescms.org

replies(1): >>43979203 #
2. juddlyon ◴[] No.43979203[source]
Yep, I’ve used Alpine extensively and HTMX here and there. Lots of Vue.

There are not sets of polished, battle-tested UI libraries made for server side. Bootstrap ships with JS, but most of the CSS and template frameworks assume you’re using a headless setup.

I thought Web Components might spur things, but not really. React has continued to dominate.

replies(1): >>43980707 #
3. hunvreus ◴[] No.43980707[source]
What do you use on the server? Basecoat has Nunjucks and Jinja macros, but I’d like to add more (e.g. blade, liquid, etc). I also plan on building more layout demos (e.g. marketing pages).