Eldora UI

An open-source React component library of animated components, installed straight from the shadcn CLI. Built because, at the time, almost nothing like it existed.

eldoraui.siteCreator and maintainer2024 to present

Why it exists

In mid-2024 there were plenty of React component libraries and very few animated ones. If you wanted a globe that spun, a terminal that typed itself out, or a headline that rose into place, you wrote it yourself: every time, on every project.

So I built the thing I kept rewriting. Eldora UI started as a handful of animated components on 1 June 2024, built on React, TypeScript, Tailwind CSS and Framer Motion.

Installing it

Every component ships through its own shadcn registry, so one command pulls it in:

npx shadcn@latest add @eldoraui/cobe-globe

The CLI writes the source into your project rather than adding a dependency, so the component becomes your code: editable, forkable, yours to break. Manual copy and paste stays available for anyone not using the CLI, and there is an MCP server so AI tools can pull components the same way.

It now covers 34 documented components and 17 prebuilt blocks: heroes, pricing tables, testimonials, footers: assembled from the same parts.

The response

It went further than I expected. 1,964 stars and 95 forks, and a steady stream of people telling me they had shipped something with it.

The part that still surprises me is how little of it was promotion. People found it because they had the same problem I did.

Vercel Open Source Program

In March 2026 Eldora UI was selected for Vercel's Winter 2026 Open Source Program, alongside projects like Answer Overflow, KDE Connect and APIs.guru.

It came with credits and support, which mattered more than it sounds: a docs site with live component previews is not cheap to host, and the programme is what let it keep running properly.

Selected components

Two of the pieces, running here rather than described.

Multifactor Authentication

Each user’s self-serve multifactor settings are enforced automatically during sign-in.

Clerk OTP

A one-time code filling itself in, one digit every 400ms.

Copy Page

The docs affordance: copy the page, or open it in an assistant.

What it taught me

Distribution is a design decision. Shipping through the shadcn CLI rather than as a dependency meant the code lands in someone’s repo as their own: editable, forkable, theirs to break. That one choice did more for adoption than any feature I added.

You only find out a prop is wrong after a few thousand people depend on it. Component APIs look fine until they are used in ways you did not picture, and by then the cost of changing them is real. It is why I care so much about getting the interface right the first time.

And a library is mostly maintenance. 34 components and 17 blocks is not 51 things built once; it is 51 things kept working across React, Tailwind and Motion versions, for everybody who already shipped with them.