Docs
From zero to a running component in under a minute. No setup, no config — one command per component.
Install
This drops the component straight into your project as a single file with zero third-party dependencies. Replace <name> with any component, e.g. liquid-ascii.
Single component
npx shadcn@latest add https://tirup.in/components/r/<name>.json
Short names via namespace
npx shadcn@latest registry add @mehta=https://tirup.in/components/r/{name}.json
npx shadcn@latest add @mehta/<name>01
Browse components, open one, tune the playground until it feels right, then copy the usage snippet. It follows your settings live.
02
Components read the dark class on <html> and adapt automatically. Reduced-motion users get a still frame, and simulations sleep when settled.
03
Interactive demos are desktop-first. Gate heavy components behind a pointer or screen-size check, load them client-side only, and skip them entirely on small screens.
04
Cost scales with the size of the box. Demos sleep when settled, pause offscreen and in hidden tabs, and render one still frame for reduced-motion users.
05
MIT. Free forever. Every component is yours once installed: copy it, modify it, ship it. No keys, no lock-in, no paid core.
06
Liquid Ascii was inspired by React Bits' Liquid ASCII. The implementation here is my own, written from scratch.