Story, Image & Team Row

About Us

Crafting products people love since 2018

We combine deep technical expertise with thoughtful design to build tools that make developers more productive and users more delighted.

What started as an internal tool at a small agency has grown into a global platform powering thousands of products. We remain committed to open source, accessibility, and pushing the boundaries of what component libraries can do.

45+

Team Members

12

Countries

200+

Projects Shipped

Our goal is not just to build components — it is to build the foundation that lets every team ship their best work, faster.
SC

Sarah Chen

CEO & Co-Founder

Team at work
SC

Sarah Chen

CEO

MJ

Marcus Johnson

CTO

ER

Elena Rodriguez

Design

DK

David Kim

Engineering

About this block

Story, Image & Team RowPRO

Two-column layout with company story, stats, and leadership quote on the left, team photo and avatar row on the right.

About23: Story, Image & Team Row

Two-column about section: company story, an inline stats row, and a leadership pull-quote sit on the left, while the right column stacks a hero photo above a compact avatar grid of team members. Below the lg breakpoint both columns collapse into a single stacked layout.

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/about23?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

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

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

Quick start

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

tsx
import { About23, about23Demo } from "@/components/beste/block/about23";

export default function AboutPage() {
  return <About23 {...about23Demo} />;
}

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

tsx
import { About23 } from "@/components/beste/block/about23";

export default function AboutPage() {
  return (
    <About23
      badge={{ label: "About Us", variant: "secondary" }}
      heading="Crafting products people love"
      description="We combine engineering rigor with thoughtful design."
      image={{
        src: "https://images.unsplash.com/photo-1522071820081-009f0129c71c?w=800&h=600&fit=crop",
        alt: "Team at work",
      }}
      stats={[
        { title: "Team Members", value: "45+" },
        { title: "Countries", value: "12" },
      ]}
      quote={{
        text: "Our goal is to build the foundation every team ships on.",
        author: "Sarah Chen",
        role: "CEO & Co-Founder",
      }}
      team={[
        { name: "Sarah Chen", role: "CEO" },
        { name: "Marcus Johnson", role: "CTO" },
      ]}
      buttons={[{ label: "Our Story", href: "https://beste.co" }]}
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string; variant?: "default" | "secondary" | "outline" }Eyebrow badge above the heading
headingstringSection heading
descriptionstringLead paragraph directly under the heading
bodystringSecondary paragraph, rendered smaller and muted below description
image{ src: string; alt: string }Hero photo at the top of the right column
teamTeamMember[][]Avatar grid rendered below the image
statsStatItem[][]Inline numeric stat row under the body text
quoteQuoteItemOptional leadership pull-quote with avatar
buttonsButtonItem[][]CTA row under the quote
classNamestringExtra classes for the outer <section>
ts
type TeamMember = {
  name: string;
  role: string;
  avatar?: { src: string; alt: string };
};

type StatItem = { title: string; value: string };

type QuoteItem = {
  text: string;
  author: string;
  role: string;
  avatar?: { src: string; alt: string };
};

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

Behavior notes

  • The team avatar grid is a fixed grid-cols-2 sm:grid-cols-4 layout regardless of how many entries team has; it is not the dynamic column-count pattern, so a fifth member simply wraps to a second row instead of the grid recalculating.
  • Avatar initials in both the quote and the team grid are derived by splitting the name on spaces and joining the first letter of each part, so a single-word name falls back to one initial.
  • The quote block only renders when quote is passed, and wraps the text in curly quote HTML entities (&ldquo;/&rdquo;) unconditionally, so plain straight quotes in quote.text would double up visually.
  • The demo's quote.text string contains a literal em dash ("Our goal is not just to build components — it is to build the foundation...") reproduced here exactly as it appears in the source.
  • Below the lg breakpoint the two-column grid becomes a single column, so the image and team grid stack directly beneath the story content rather than staying side by side.

More About blocks

View all About
PRO

about21

Checklist & Image Split

Two-column layout with checklist highlights on the left, featured image and testimonial quote on the right, plus a full-width stats row.

PRO

about5

Image & Text Split

Side-by-side layout with a tall image on the left and company story, inline stats, and CTAs on the right.

PRO

about3

Timeline & Milestones

Two-column layout with company stats on the left and a vertical timeline of milestones on the right. Ideal for company history and growth stories.

PRO

about1

Team & Mission

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

PRO

about66

About with Stats Grid

Two-column about with a tall image on one side and an eyebrow, heading, description, and 2x2 stats grid on the other.

PRO

about20

Team Photo & List

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