Orbiting Avatars

A ring of avatars that continuously orbit a central call-to-action button. Each avatar reveals a name and role tooltip on hover, with a smooth counter-rotate so faces always stay upright.

Default

Hover over any avatar to see its tooltip. Click the center button to trigger the callback.

MrBeast
MrBeastContent Creator
Christian Bale
Christian BaleVisual Wizard
Tyler Durden
Tyler DurdenProduct Manager
Steve Jobs
Steve JobsCreative Director
Cleo Abram
Cleo AbramScience Communicator
Rustin cohle
Rustin cohleCode Alchemist
Alex Hormozi
Alex HormoziEntrepreneur
Bryan Johnson
Bryan JohnsonBlueprint
Tom Hardy
Tom HardyExperience Craftsman

Installation

$ npx shadcn add https://knot-ui.trupal.me/r/orbiting-avatars.json

Custom Avatars

Pass your own avatars array and tune radius, duration, and centerLabel to fit your design.

MrBeast
MrBeastContent Creator
Steve Jobs
Steve JobsCreative Director
Alex Hormozi
Alex HormoziEntrepreneur
Cleo Abram
Cleo AbramScience Communicator
Bryan Johnson
Bryan JohnsonBlueprint

OrbitingAvatarsProps

Props accepted by the <OrbitingAvatars /> component.

PropTypeDefaultDescription
avatars{ src: string; name: string; role?: string }[]defaultAvatarsArray of avatar objects to render on the orbit ring. Each entry requires a src and name; role is optional and shown in the tooltip.
radiusnumber130Distance in pixels from the center to each avatar along the orbit.
durationnumber30Duration in seconds for one full orbit rotation.
centerLabelReactNode"Contact Me"Content rendered inside the center button.
onCenterClick() => voidundefinedCallback fired when the center button is clicked.