// the find
serafimcloud/21st
npm for design engineers: largest marketplace of shadcn/ui-based React Tailwind components, blocks and hooks
21st.dev is a community registry and marketplace for shadcn/ui-compatible React + Tailwind components, positioned as a publishable/installable ecosystem on top of the shadcn CLI. It's for frontend developers and design engineers who want to share or consume pre-built components that drop into any shadcn/ui project without manual wiring.
- The shadcn CLI integration is genuinely smart—`npx shadcn@latest add https://21st.dev/r/...` handles dependency resolution and Tailwind config merging, which is a real improvement over copy-paste workflows
- The backend bundler uses Vite + Sandpack for live previews, which means components run in isolation with arbitrary npm deps rather than needing a custom renderer
- The multi-demo file structure (demos/default/, demos/advanced/) is a thoughtful publishing format that encourages showing realistic usage rather than toy examples
- Monorepo separation of web (Next.js) and backend (Bun/Vite bundler) is clean—the component preview server is a real service, not bolted onto the Next.js app
- Self-hosting is effectively impossible in practice: you need Supabase, Clerk, Cloudflare R2, Amplitude, Stripe, and the database schema is not included in the repo, so 'open source' here mostly means readable, not runnable
- Quality gating is a single-person bottleneck—Serafim personally reviews every component before it's featured, which will not scale and creates an undefined SLA for contributors
- The component isolation model is client-components only (server components explicitly not supported), which is an increasingly significant gap as RSC adoption grows
- No automated testing infrastructure visible anywhere in the tree—no unit tests, no visual regression tests, no accessibility auditing in CI, which is a problem for a project marketing accessibility compliance as a quality standard