Ruixen Pro is now live.50+ premium components, templates, blocks, and lifetime updates.

Command Palette

Search for a command to run...

Docs
Introduction

Introduction

170+ open-source React components built with spring physics, audio feedback, and zero styling dependencies.

Ruixen UI is an open-source component library where every interaction is driven by spring physics, not CSS timers. Components have mass, momentum, and friction. They overshoot when they arrive. They settle. They respond differently depending on distance and velocity.

This is design engineering — the discipline of making interfaces that behave like physical objects instead of state machines.

Why this exists

Most component libraries ship markup with a transition attached. A 300ms ease-in-out that plays the same way every time regardless of context. That works. But it doesn't feel like anything.

Ruixen UI replaces that layer entirely:

  • Spring dynamics over CSS transitions — Every animation uses motion/react springs with stiffness, damping, and mass. A short move snaps. A long move carries momentum and settles. The same config produces different motion depending on distance — because that's how real objects behave.
  • Audio on every state change — A 3ms noise burst via Web Audio API plays on interactive events. Shaped with a quartic decay envelope at 6% gain. It sounds mechanical, not digital. Disable it with sound={false}.
  • Single-file, zero dependencies — Each component is one file with inline styles and CSS variables. No theme provider. No global CSS. Drop it into any React project and it works.
  • Four registry variants — Every component ships in Tailwind v4, Tailwind v3, Radix primitives, and Base UI primitives. One codebase, four outputs.

What design engineering means here

Design engineering is the work that happens between a design mockup and production code — where you decide how something moves, how it sounds, how it responds to input. It's the difference between a button that changes color and a button that clicks.

We don't generate components with AI and ship them. Every component is hand-engineered — the spring configs are tuned by hand, the audio envelopes are shaped intentionally, the interaction patterns are tested across input methods. The output should feel authored, not generated.

If that distinction matters to you, follow the process on Twitter and read the thinking behind it on our blog.

Request a component

Tell us what you need. We'll build it with spring physics and ship it within 48 hours. Free. Open source. Yours to keep.

DM us on Twitter or open a GitHub issue and we'll get it into the registry.