Skip to main content
Clever Ops

Capability Matrix

An agency capability matrix, a seamed hairline grid of disciplines with plain summaries, deliverable receipts and a preformatted proof stat each. A React block themed with Tailwind.

Preview & code

Loading Capability Matrix preview

Installation

pnpm dlx shadcn@latest add @cleverui/capability-matrix

Requires the @cleverui registry in your components.json, a one-off, two-line setup.

Usage

tsx
import { CapabilityMatrix } from '@/components/blocks/capability-matrix'
Exampletsx
'use client'

import { CapabilityMatrix } from '@/components/blocks/capability-matrix'

export default function CapabilityMatrixDemo() {
  return (
    <CapabilityMatrix
      eyebrow="Capabilities"
      heading="What we take on"
      intro="Six disciplines, one team, no handoffs."
      capabilities={[
        {
          name: 'Brand systems',
          summary:
            'Positioning, identity, and the rules that keep a brand sharp across every surface.',
          deliverables: [
            'Voice and visual system',
            'Launch toolkit',
            'Usage guidelines in Figma',
          ],
          stat: '31 launches',
          statLabel: 'since 2019',
          href: '#brand-systems',
        },
        {
          name: 'Product design',
          summary:
            'Interface design that ships, flows, components, and the decisions between them.',
          deliverables: [
            'Clickable prototype in code',
            'Design system tokens',
            'Handoff specs',
          ],
          stat: '48 products',
          statLabel: 'shipped',
          href: '#product-design',
        },
        {
          name: 'Engineering',
          summary:
            'Front-end architecture and implementation that holds up under real traffic.',
          deliverables: [
            'Production React app',
            'CI and preview deploys',
            'Performance budget report',
          ],
          stat: '12 apps',
          statLabel: 'in production',
          href: '#engineering',
        },
        {
          name: 'Content & editorial',
          summary:
            'Site copy, launch narratives, and the voice that makes a product sound like itself.',
          deliverables: [
            'Site information architecture',
            'Launch narrative',
            'CMS content model',
          ],
          stat: '90+ pages',
          statLabel: 'written',
        },
        {
          name: 'Motion & craft',
          summary:
            'Directed motion for product and marketing, brief, readable, never decorative noise.',
          deliverables: [
            'Motion language doc',
            'Component choreography',
            'Reduced-motion paths',
          ],
          stat: '200+',
          statLabel: 'micro-interactions',
        },
        {
          name: 'Growth experiments',
          summary:
            'Landing systems, funnel instrumentation, and the tests that prove what works.',
          deliverables: [
            'Experiment roadmap',
            'Instrumented funnels',
            'Monthly readout',
          ],
          stat: '$18M',
          statLabel: 'pipeline influenced',
          href: '#growth',
        },
      ]}
      note="Anything outside these walls, we will say so on the first call."
    />
  )
}

API reference

CapabilityMatrix accepts the following props.

PropTypeDefaultDescription
eyebrowstring'Capabilities'quiet spaced sans label above the heading
headingstring'What we take on'
introstringone self-assured sentence
capabilities*Capability[]4–8 cells
notestringclosing line

…plus everything from React.HTMLAttributes<HTMLElement>: className, event handlers, aria attributes and the rest pass straight through.

Referenced types

Typestsx
export interface Capability {
  name: string
  summary: string
  /** 2–4 short receipts */
  deliverables?: string[]
  /** PREFORMATTED, e.g. '31 launches' or '$18M raised' */
  stat?: string
  /** e.g. 'since 2019' */
  statLabel?: string
  href?: string
}

Frequently asked questions

How do I install the Capability Matrix component?

Register the @cleverui registry in your components.json ("@cleverui": "https://cleverops.com.au/r/{name}.json"), then run `npx shadcn@latest add @cleverui/capability-matrix`. The shadcn CLI copies the source into your project, you own the code from that point. You can also copy the source directly from this page.

What dependencies does Capability Matrix require?

Capability Matrix uses motion and lucide-react on top of React and Tailwind CSS. You don't need to install them manually, the shadcn CLI resolves and installs npm dependencies automatically when you add the component.

Can I theme Capability Matrix to match my brand?

Yes. The component is styled entirely with Tailwind utilities over standard design tokens (primary, background, muted, border), so it inherits your existing shadcn/ui theme automatically. Change your CSS variables and the component follows, no source edits needed for palette, radius, or fonts.

Want this built for you?

CleverUI is built by the Clever Ops web team. If you'd rather ship a hand-coded, fast, custom website than assemble one, we build them for Australian businesses every week.

Explore web development services