UI Libraries
Component libraries and UI kits I pull blocks and primitives from.
These are the libraries I copy components and blocks out of. I almost never build a primitive from scratch anymore — I start from a known-good base and theme it.
Overview
My mental model is layered: shadcn/ui is the base layer everything sits on, Morpha UI is my themed take on top of it, and the rest are sources I raid for marketing blocks and flashy one-offs. I prefer copy-paste libraries (the code lands in my repo and I own it) over black-box component packages.
Tools
Morpha UI
My own library (this site) — the themed shadcn base I'm building. Install via the Morpha CLI; the default for anything I start now.
shadcn/ui
Copy-paste Radix + Tailwind primitives. The base layer everything else sits on; I reach for it first.
Aceternity UI
Flashy, animated marketing components. I use it when a landing page needs a wow moment.
React Bits
Animated React snippets to drop in for micro-interactions and small flourishes.
Tailark
shadcn + Tailwind marketing blocks (hero, pricing, features, testimonials). I use it to assemble a landing fast.
Efferd
Ready-to-use shadcn blocks — auth, dashboards, headers, footers. Good for scaffolding app shells quickly.
21st
Community marketplace of shadcn-style components. Where I look when I need a specific pattern someone already solved.
AI Elements
Chat/AI UI primitives built for the Vercel AI SDK — already in this repo's stack. My default for chat surfaces.
My pick
For real work I start with shadcn/ui and build up into Morpha UI — owning the code and theming it through my tokens beats pulling in a dependency I can't reshape. The animated libraries (Aceternity, React Bits) are situational: great for marketing pages, overkill for product UI. When I'm building anything chat- or agent-shaped, AI Elements wins because it's purpose-built for the AI SDK I'm already using.