Kessel Floor Lamp
$240
Every component has a live preview, its source and an install command. Try them here, then open one for its examples and props.
Keyframe
The card leans toward the cursor and catches the light.
A card that leans toward the pointer and catches the light with a soft moving glare.
clsx, tailwind-mergenpx shadcn@latest add @keyframeui/tilt-cardScroll inside the box
Cards that travel along a semicircle as you scroll, entering at the bottom right and leaving at the bottom left.
motion, clsx, tailwind-mergenpx shadcn@latest add @keyframeui/arc-scrollField notes
Nobody remembers a divider. They remember the one that moved when they brushed past it.
Sweep across the line, or tap it.
A divider that catches on the pointer as it crosses, bends with it, then slips free and twangs back on a bouncy spring.
clsx, tailwind-mergenpx shadcn@latest add @keyframeui/pluck-stringRecents
9 photos
Tap a photo. Drag it down to put it back.
A thumbnail that grows into a full-screen photo, pages sideways, and shrinks back into its tile when you drag it down, like Apple Photos.
motion, clsx, tailwind-mergenpx shadcn@latest add @keyframeui/zoom-lightboxPages
Plans for every team.
A search button that stretches into a search field, with results unfolding underneath as one shape, and shrinks back into the button when it closes.
motion, clsx, tailwind-mergenpx shadcn@latest add @keyframeui/morph-searchAcme /Projects
New here? Take a 20-second tour.
A guided tour that dims the page and cuts a hole around one element at a time. The hole glides to each next element and takes its shape, with the explanation card riding along beside it.
motion, clsx, tailwind-mergenpx shadcn@latest add @keyframeui/spotlight-tourThursday, October 9
A card that opens into a full article, growing from its place in the page to fill the screen, and shrinks back into its slot when you pull it down, like the App Store's Today tab.
motion, clsx, tailwind-mergenpx shadcn@latest add @keyframeui/expand-cardA curtain that covers the page while it loads, counting from 0 to 100 with the fonts and hero images, then lifts as the headline rises out of its masks underneath, on one clock.
clsx, tailwind-mergenpx shadcn@latest add @keyframeui/counter-curtainA headline with a small video set between its words. As you scroll, the window opens until it fills the screen, pushing the words off its edges.
motion, clsx, tailwind-mergenpx shadcn@latest add @keyframeui/expanding-heroA page-load intro that counts to 100 with the real loading while a flipbook of your work plays in a small frame, then grows the last image into its place on the page. It doesn't fade out: its last frame is the page's first.
clsx, tailwind-mergenpx shadcn@latest add @keyframeui/intro-loaderInside Northwind
Scroll to take it apart.
Every screen loads in under 100ms, even with a million rows.
Anything you can click, you can do from the command menu.
Numbers, comments and cursors update the moment they change.
A product screenshot that comes apart into its layers as you scroll, explains each one, then clicks back together. The layers are real HTML, so text stays sharp and follows your theme.
motion, clsx, tailwind-mergenpx shadcn@latest add @keyframeui/exploded-ui1,284
A number that rolls each digit on its own wheel, up when the value grows and down when it shrinks, and slides new digits in as the number gets longer.
motion, clsx, tailwind-mergenpx shadcn@latest add @keyframeui/odometerSelected work
2022–2025
A list of names that opens a photo at the pointer. It trails the cursor with a little weight, leans as it moves, and wipes to the next photo from the direction you travel, like flipping through prints.
motion, clsx, tailwind-mergenpx shadcn@latest add @keyframeui/hover-previewSelected work · 01 / 06
Architecture · 2025
A whole archive in one thin strip, with a playhead that walks along it as you scroll. Whatever's under the playhead opens into a loose collage, and the ruler below is a scrubber you can drag.
motion, clsx, tailwind-mergenpx shadcn@latest add @keyframeui/playhead-reellinearcubic-bezier(0.22, 1, 0.36, 1)cubic-bezier(0.65, 0, 0.35, 1)spring · bounce 0.30.00s
Left and right arrows step through frames, Shift for ten. Up and down move between cards. Space plays.
A grid of videos on one clock. Scrub any card and the rest follow it to the same moment. Stack them to flip between versions of a single frame, or drop one onto another to compare them side by side.
motion, clsx, tailwind-mergenpx shadcn@latest add @keyframeui/sync-gridTask
Add a dark mode toggle to the settings page
An agent's steps as they happen. The step at work shimmers and streams its details; when the next one starts, it folds up into a one-line summary and the rail fills down to the new step. Click any summary to open it again.
motion, clsx, tailwind-mergenpx shadcn@latest add @keyframeui/thought-trailSelected work
2021–2025
Private house · Comporta
A low house of lime and pine that opens to the dunes on three sides.
View projectHoliday house · Gotland
Tarred timber outside, pale ash inside, and one long window to the sea.
View projectTall photo slices that share one width. The one you open widens into a full card while the others squeeze to make room; its title swings upright and the details slide up from under it.
motion, clsx, tailwind-mergenpx shadcn@latest add @keyframeui/slice-galleryCustomer stories
5 stories
Thirty engineers moved from quarterly release trains to weekly ones, without a rollback in the first year.
Hosts used to juggle three tools a night. Now every table, waitlist and deposit runs through one screen.
Two thirds of orders come from phones. A one-page checkout took paying from three minutes to forty seconds.
Six drifting UI kits became one shared library that engineers pull from directly, so mockups and code finally match.
A team across nine time zones switched to smaller pull requests and recorded walkthroughs, and stopped waiting a day for review.
A list of rows that open in place. The row you're on grows taller, its tab widens into a photo, the title slides over to make room and the details rise out from under it, while the rows below glide down.
motion, clsx, tailwind-mergenpx shadcn@latest add @keyframeui/stretch-indexCraft
Every space on this card was decided, not defaulted. Point at anything to see its numbers, click to pin it, then hold ⌥ and point at another to measure between them.
$240
Figma-style redlines for any layout. Point at an element to see its size, padding and gaps, with lines and labels that glide from one element to the next. Pin one and hold Alt to measure the distance to another.
motion, clsx, tailwind-mergenpx shadcn@latest add @keyframeui/redlineStandup
Roadmap sync
11 – 12:30pm
Customer calls
1 – 3pm
Standup
Lunch & learn
12 – 1pm
Sprint review
3 – 5pm
Hiring panel
10 – 11:30am
Design crit
1 – 2pm
A cursor that uses your product on its own. It glides to buttons and presses them, types and drags across real markup on a script you write, and steps aside the moment a visitor wants to try it.
motion, clsx, tailwind-mergenpx shadcn@latest add @keyframeui/autopilotCeramics studio · Lisbon
Hand-thrown in Alfama, fired twice, and made to be used every day, not saved for guests.
Wheel classes every Saturday
A finished layout that builds itself. It starts as a wireframe measured from your real markup, then fills in block by block: text streams in, photos come into focus, buttons pop up. Scrub back and it comes apart again.
motion, clsx, tailwind-mergenpx shadcn@latest add @keyframeui/blueprintA contact form written as a sentence. Blanks stretch as you type, picked options fly up into place while the words make room, and on send the form settles into the sentence you wrote.
motion, clsx, tailwind-mergenpx shadcn@latest add @keyframeui/sentence-formHand it the weekly report, the expense chasing and the calendar tetris. It plans the steps, does them, and checks its own work before it tells you.
The "New" badge above your headline, made useful. Hover it and the pill grows into a small changelog with your last few releases, then folds back into the pill when you leave.
motion, clsx, tailwind-mergenpx shadcn@latest add @keyframeui/release-pillHow it works
Scroll through the deck. Click an edge that peeks out above the front card to go back to it.
01Connect
Sign in with GitHub and pick the repos. Slack, Linear and your database connect in a click, read-only until you say otherwise.
Integrations
02Configure
Set how far the agent goes on its own, who reviews what, and where it reports. Plain toggles, no YAML.
Autonomy
03Ship
It writes the fix, runs your tests and deploys a preview. You get a PR with the reasoning attached.
agent · fix/proration-rounding
04Learn
Every review teaches it your conventions. Most teams see time to merge drop within the first month.
Median time to merge
2.7h−56%
Cards that pin one after another as you scroll. Each new card slides over the last while the deck behind it settles back a layer, scaling down and dimming, so the earlier cards' edges peek out above the front one. Click an edge to bring that card back.
motion, clsx, tailwind-mergenpx shadcn@latest add @keyframeui/sticky-deckBrand & motion studio · Lisbon
Identities, campaigns and the motion between them, for brands that want to be remembered.
Two pictures in one frame. The pointer paints the second one in with a soft brush, and the stroke closes back behind it.
clsx, tailwind-mergenpx shadcn@latest add @keyframeui/paint-revealAn API quickstart with language tabs. The values every language shares glide to their new places when you switch, you can edit them right in the code, and Run streams the response in underneath.
motion, clsx, tailwind-mergenpx shadcn@latest add @keyframeui/polyglotPricing
Every plan gets the same models and the same speed. Higher tiers raise your limits and add the controls a security review asks for.
Plan cards that fold into the comparison table's sticky header as you scroll. Each card folds straight down into its own column: the price shrinks in beside the name, the button narrows, the badge flattens into an accent line, and the cards close into one bar. Click a docked name to see its whole card again.
motion, clsx, tailwind-mergenpx shadcn@latest add @keyframeui/pricing-dockThese commands use the @keyframeui registry. Add it to components.json once per project, then every command here works as written.