Team Cards with Bios

Leadership

Meet the minds shaping our vision

A small but mighty leadership team with decades of combined experience in design, engineering, and product strategy.

SC

Sarah Chen

CEO & Co-Founder

Former design lead at Stripe. Passionate about making complex tools feel simple and accessible to everyone.

MJ

Marcus Johnson

CTO & Co-Founder

Previously an infrastructure engineer at Vercel. Obsessed with performance, developer experience, and open source.

ER

Elena Rodriguez

Head of Design

Award-winning designer who led design systems at Figma. Believes great design is invisible and inclusive by default.

DK

David Kim

Head of Engineering

Full-stack veteran with a background in distributed systems. Runs our platform team and mentors junior engineers.

AP

Aisha Patel

Head of Product

Product strategist who spent five years at Notion shaping their collaboration features. Data-driven and user-obsessed.

JW

James Wright

Head of Growth

Growth leader who scaled multiple B2B SaaS products from zero to millions in ARR. Community builder at heart.

About this block

Team Cards with BiosPRO

Three-column grid of team member cards with avatars, roles, and short bios. Great for leadership and team pages.

About7: Team Cards with Bios

Three-column grid of team member cards, each a muted panel pairing an avatar, name, and role with a short bio paragraph. Built for leadership pages that need more detail per person than a bare avatar row.

Upgrade to Pro

Pro blocks install through the shadcn CLI with your license key and ship their full source. Docs and live previews stay open to everyone, so you can read every block's details first.

Upgrade Now

Installation

Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/about7?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/about7?email=YOUR_EMAIL&license_key=YOUR_KEY"

This installs the block to components/beste/block/about7.tsx, along with the shadcn/ui badge, button, and avatar components it depends on.

Quick start

The installed file exports about7Demo alongside the block: the exact props behind the preview above. Spread it to get a working section in one line.

tsx
import { About7, about7Demo } from "@/components/beste/block/about7";

export default function AboutPage() {
  return <About7 {...about7Demo} />;
}

Then replace the demo with your own props. Written out, a trimmed setup looks like this:

tsx
import { About7 } from "@/components/beste/block/about7";

export default function AboutPage() {
  return (
    <About7
      badge={{ label: "Leadership", variant: "secondary" }}
      heading="Meet the minds shaping our vision"
      description="A small but mighty leadership team with decades of combined experience."
      team={[
        {
          name: "Sarah Chen",
          role: "CEO & Co-Founder",
          bio: "Former design lead at Stripe, focused on making complex tools feel simple.",
          avatar: { src: "https://images.unsplash.com/photo-1494790108377-be9c29b29330?w=200&h=200&fit=crop", alt: "Sarah Chen" },
        },
        {
          name: "Marcus Johnson",
          role: "CTO & Co-Founder",
          bio: "Previously an infrastructure engineer at Vercel.",
        },
        {
          name: "Elena Rodriguez",
          role: "Head of Design",
          bio: "Award-winning designer who led design systems at Figma.",
        },
      ]}
      buttons={[{ label: "See Open Positions", href: "https://beste.co" }]}
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string; variant?: "default" | "secondary" | "outline" }Small label above the heading
headingstringSection heading
descriptionstringIntro paragraph under the heading
teamTeamMember[][]Cards rendered in the three-column grid
buttonsButtonItem[][]CTA row at the bottom
classNamestringExtra classes for the outer <section>
ts
type TeamMember = {
  name: string;
  role: string;
  bio?: string;
  avatar?: { src: string; alt: string };
};

type ButtonItem = {
  label: string;
  href?: string;
  variant?: "default" | "secondary" | "outline" | "ghost" | "link" | "destructive";
};

Behavior notes

  • The grid is fixed at sm:grid-cols-2 lg:grid-cols-3. With the demo's 6 members that fills two even rows, but a count that isn't a multiple of 3 leaves a short last row instead of rebalancing to a different column count.
  • bio is optional per member; a member without one renders just the header row (avatar, name, role) with no paragraph beneath it.
  • Role text renders at text-xs md:text-sm, one size below the name, inside the same header row as the avatar rather than on its own line.
  • Avatar fallback initials use the same name-splitting logic as the other About blocks: the first letter of each space-separated part of name, joined together.

More About blocks

View all About
PRO

about60

Team Member Grid

Team section with an eyebrow, big heading, description and CTA above a responsive grid of people cards (portrait image, name, role).

PRO

about16

Vision Mission Values

Three-column cards for vision, mission, and values with labeled headers. Clean editorial layout for company positioning.

PRO

about68

Team Portrait Grid

A team section with an eyebrow over a hairline rule, a two-column heading, and a grid of portrait cards each with a name and role.

PRO

about20

Team Photo & List

Wide team photo, member list with avatars, team stats grid, and a culture quote. A rich team showcase layout.

PRO

about64

Principles Card Grid

Principles section with a header and a three-column grid of six bordered cards, each pairing a circular icon with a title and description.

PRO

about1

Team & Mission

Two-column about section with mission statement, company stats, and team member grid. Perfect for company pages and landing sections.