Six Components That Make Interfaces Feel Alive
Some apps just feel good to use. From my experience, that feeling rarely comes from one big feature. It comes from an accumulation of small details that show the people who built the app care about the user experience. I’ve been exploring popular UX libraries to find the components behind that feeling and capturing the ones I found most fun. Here are six of them, each one live in your browser, so feel free to click them, drag them, right-click them, and try to break them. Each follows the site’s theme (flip the toggle up top) and is best on desktop.
The command palette
Hit Cmd/Ctrl + K, type a couple of letters, and jump anywhere or run any command without touching a menu. Apps like Raycast, Linear, Notion, and GitHub all have one. Once an app has more than a few dozen actions, it becomes much faster to type into a filtered list than to hunt through menus. The library most people reach for is cmdk.
The sliding tab indicator
The highlight pill slides under the active tab instead of blinking into place. iOS, macOS, and Vercel all do it. It’s subtle enough that most people don’t consciously notice it. However, I think small details like this are a big part of why these interfaces feel polished. In React, Motion’s layout animations give you the same effect for free.
The optimistic like button
Tap the heart and it fills instantly, before the server has even responded. The request goes out in parallel, and if it succeeds there’s nothing left to do because the UI is already showing the correct state. React even ships this as useOptimistic.
Stacked toasts
Toasts are the little confirmations that slide into the corner of the screen, like “Saved” or “Copied.” Sonner is the best implementation I’ve seen, where toasts stack on top of each other and fan out when you hover.
Drag to reorder
Grab a row and the list rearranges under you: the others slide aside to open a slot, and the one you’re holding drops into it. You see this pattern in Trello cards, playlist queues, and any settings page that lets you arrange your favorites in the order you want. dnd-kit is the React reference, handling sortable lists, keyboard dragging, and collision detection for you.
The context menu
Right-click a file and a menu appears under your cursor with the actions that fit it: rename, duplicate, move, delete. It brings the commands to whatever you’re pointing at instead of sending you to a toolbar and back. Support for right-click menus is one of the details that makes a website feel more like a desktop app. Radix handles the positioning, focus, and submenus for you.
While this isn’t an exhaustive list, these are the components that have stood out to me the most so far. I’ll add more as I come across them.
// END