GitHub Sponsors

Animated GitHub Sponsors lockup — a self-drawing heart that docks to a header, every sponsor avatar blur-staggering into a grid, then a thank-you headline and a CTA

Installation

$ pnpm dlx shadcn@latest add @remocn/github-sponsors

Usage

Standalone in a Remotion <Composition> — renders immediately from built-in sample sponsors so the video works right after install.

// src/Root.tsx
import { Composition } from "remotion";
import { GitHubSponsors } from "@/components/remocn/github-sponsors";

const GitHubSponsorsScene = () => (
  <GitHubSponsors
    account="remotion-dev"
    accentColor="#db61a2"
    speed={1}
    theme="light"
  />
);

export const RemotionRoot = () => (
  <Composition
    id="GitHubSponsors"
    component={GitHubSponsorsScene}
    durationInFrames={270}
    fps={30}
    width={1280}
    height={720}
  />
);

With live data

Pass a sponsors array of { login, avatarUrl } to replace the built-in sample. Every sponsor in the array is shown — the grid sizes itself to the count, and the "Powered by N sponsors" line uses the array length.

// src/Root.tsx
import { Composition } from "remotion";
import { GitHubSponsors } from "@/components/remocn/github-sponsors";

const sponsors = [
  {
    login: "octocat",
    avatarUrl: "https://avatars.githubusercontent.com/u/583231",
  },
  // …
];

const GitHubSponsorsScene = () => (
  <GitHubSponsors
    account="remotion-dev"
    sponsors={sponsors}
    accentColor="#db61a2"
    speed={1}
    theme="light"
  />
);

export const RemotionRoot = () => (
  <Composition
    id="GitHubSponsors"
    component={GitHubSponsorsScene}
    durationInFrames={270}
    fps={30}
    width={1280}
    height={720}
  />
);

Props

PropTypeDefaultDescription
account
string"remotion-dev"GitHub account shown in the lockup (github.com/sponsors/account)
sponsors
Sponsor[]SAMPLE_SPONSORSEvery entry is shown — avatars blur-stagger into a grid that sizes to the array. Falls back to built-in sample data when omitted.
accentColor
string"#db61a2"Accent for the heart and the CTA pill (GitHub Sponsors pink)
speed
number1Animation speed multiplier (minimum 1; the headline and CTA must land before the final frame)
theme
"light" | "dark""light"Color theme for background and text
PropTypeDefaultDescription
login
stringGitHub username (used for the avatar fallback initial)
avatarUrl
stringFull URL to the avatar image (must be CORS-accessible for MP4 export)