I rebuilt shadcn/ui in HTML + Tailwind, no React needed

Introducing Basecoat: A Versatile, Framework-Independent UI Kit Built with HTML and Tailwind CSS

In the ever-evolving landscape of web development, having a UI toolkit that adapts seamlessly across different frameworks is invaluable. Inspired by shadcn/ui, I set out to create a flexible alternative that doesnโ€™t rely on React or Vue, allowing developers to implement beautiful interfaces anywhereโ€”be it Laravel, Rails, Flask, Astro, Hugo, or beyond.

Meet Basecoat, an open-source UI library designed for maximum compatibility and ease of use. Built solely with HTML, Tailwind CSS, and optional Alpine.js, Basecoat offers a streamlined experience without the clutter of extensive utility classes.

Key Features of Basecoat:

  • Framework Agnostic: No dependency on React or other JavaScript frameworks. Fully compatible with any backend or static site generator.
  • Lightweight & Flexible: Utilizes raw Tailwind CSS, minimizing restrictions and maximizing customization.
  • Theme Compatibility: Compatible with shadcn/ui themesโ€”try out the theme switcher on the official site to see it in action.
  • User-Friendly Installation: Comes with a command-line interface to simplify setup and integration.
  • Accessible by Default: Incorporates ARIA support to ensure your interfaces are usable by everyone.
  • Multi-Template Support: Includes macros for Jinja and Nunjucks, with plans to add more.

Although still in its early stages, I am actively expanding the component library and would love to hear your feedback. Whether you’re building a simple website or a complex web application, Basecoat aims to be your go-to UI kit for versatile, framework-agnostic development.

Explore more at basecoatui.com and check out the source code on GitHub: https://github.com/hunvreus/basecoat.

Join the journey to create beautiful, accessible, and adaptable interfacesโ€”without the constraints of traditional frameworks.


Leave a Reply

Your email address will not be published. Required fields are marked *