Introduction
ui/topia is a space to explore UI components, motion, and interaction patterns. Shared openly as it evolves.
ui/topia is my personal sandbox — a place to play with Base UI, motion.dev, and the little details that make interfaces feel alive.
Nothing official here — just work in progress, shared as I go.
At its core, it’s a collection of React components built on Base UI and styled with Tailwind. You can copy them, tweak them, or tear them apart.
I love Base UI’s philosophy: solid, accessible primitives without any visual baggage. This project builds on that — giving those barebones components a bit of personality, polish, and motion.
How It Works
No packages. No installs. Just source code you can make your own.
The idea’s borrowed from shadcn/ui — own your code, understand it, bend it to your needs.
- No black boxes: you see every line.
- Edit freely: it’s yours once copied.
- Learn by building: I sure am.
Why Base UI
If you’ve used shadcn/ui (built on Radix), this will feel familiar.
I chose Base UI just fits how I think — it does the heavy lifting for a11y and interaction, but stays quiet on design.
that gives me room to shape things my way.
Primitives, Blocks, and Motion
At the bottom: Primitives — unstyled, accessible building blocks.
On top: Blocks — sign-in flows, sidebars, whatever I need next.
Then there’s Motion Playground — microinteractions and transitions built with motion.dev (formerly Framer Motion).
Different layers for different moods:
- Primitives → barebone foundation
- Blocks → structured UI patterns
- Motions → movement and feedback
Pick your layer, remix as needed.
Built for Humans (and maybe AI)
Every component’s written to be clear, readable, and predictable — good for you, and for any AI that might want to help you refactor someday.
Credits
Shoutout to shadcn/ui, motion primitives, coss.com, animations.dev, devouringdetails.com, and others who keep the craft alive.