Animated React card components

Profile card

A creator profile whose pastel cover flows toward your pointer. Follow to watch the count tick up; open more skills, save with a pop.

Cards, in view, then hover, press and keys, Motion

Install

npm i clsx motion tailwind-merge && curl -o components/profile-card.tsx https://motion-brew.com/r/profile-card.tsx

One self contained file for React and Tailwind CSS: profile-card.tsx. Or ask your AI agent to add it through the MCP server.

Usage

import { ProfileCard } from "@/components/profile-card";

export default function Page() {
  return (
    <ProfileCard
      name="Lena Hartmann"
      role="Brand and motion designer"
      location="Lisbon"
      avatar="/people/lena.jpg"
      skills={["Motion", "Branding", "3D", "Prototyping"]}
      stats={[
        { label: "Followers", value: 12480 },
        { label: "Projects", value: 86 },
        { label: "Rating", value: 4.9, decimals: 1 },
      ]}
      onFollowChange={(on) => setFollowing(on)}
    />
  );
}

Props

PropTypeDefaultDescription
namestring"Lena Hartmann"Name, with an optional verified badge
rolestring"Brand and motion designer"Role under the name
locationstring \null"Lisbon"Place with a pin; null hides it
biostringa short bioOne or two lines about them
avatarstringa sample portraitPortrait URL
verifiedbooleantrueShows the verified badge
statusstring \null"Available"Pill on the cover; null hides it
skillsstring[]six skillsFirst three show; the rest open from a "+n" chip
stats{ label; value; decimals?; compact? }[]followers, projects, ratingThree numbers; the first ticks up on Follow
cover[string, string, string]peach, lilac, skyPastel colours for the cover's aurora
defaultFollowingbooleanfalseFollowing at first
onFollowChange(following) => voidCalled when Follow is pressed
onMessage() => voidCalled when Message is pressed
onSaveChange(saved) => voidCalled when the bookmark is pressed
classNamestringPlacement

More cards

  • Bill list: Upcoming bills that rise in while the total counts up.
  • Recap card: A summary that reads like a sentence: its numbers count up in little chips, and milestone badges pop in below.
  • Brand bridge: A feature card with big brand tiles wired to a hub by gradient lines in each brand's colours, glowing comets and a particle field that scatters from the pointer.
  • Flux card: A feature card on a pixelated, dithered gradient with a negative magnetic field: squares flee the pointer and leave a hole that follows it.

All animated react card components