Platform Feature Cards with Metrics

Platform

Everything you need to scale

A complete toolkit designed to grow with your business, from startup to enterprise.

AI-Powered Insights

Get actionable recommendations based on your data patterns and industry benchmarks.

faster decisions3x

Global CDN

Content delivered from 200+ edge locations for blazing-fast load times worldwide.

avg. latency<50ms

Enterprise Security

SOC 2 Type II certified with end-to-end encryption and granular access controls.

uptime SLA99.99%

Real-time Collaboration

Work together seamlessly with live cursors, comments, and instant sync.

active teams10K+

Advanced Analytics

Deep insights into user behavior, conversions, and content performance.

metrics tracked50+

Version History

Never lose work with automatic versioning and one-click rollback.

retention90 days
About this block

Platform Feature Cards with MetricsFREE

Six-card grid featuring icons, descriptions, and highlighted stats (latency, uptime, user counts) with animated hover effects. Perfect for showcasing SaaS capabilities or enterprise platform features.

Feature29: Platform Feature Cards with Metrics

Feature grid where each card pairs an icon, title, and description with an optional stat row (a bold value like "3x" or "99.99%" next to its label) pinned to the bottom of the card with a top border, so metrics read as a footer rather than body copy.

Free block

This block is free. No license or account is required: install it with the CLI and use it in unlimited projects.

Installation

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/feature29"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/feature29"

This installs the block to components/beste/block/feature29.tsx and the shadcn/ui badge and button components it depends on.

Quick start

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

tsx
import { Feature29, feature29Demo } from "@/components/beste/block/feature29";

export default function Page() {
  return <Feature29 {...feature29Demo} />;
}

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

tsx
import { Sparkles, Globe, Lock } from "lucide-react";
import { Feature29 } from "@/components/beste/block/feature29";

export default function Page() {
  return (
    <Feature29
      badge={{ label: "Platform", variant: "secondary" }}
      heading="Everything you need to scale"
      description="A complete toolkit designed to grow with your business."
      features={[
        {
          id: "feature-1",
          icon: <Sparkles className="size-6" />,
          title: "AI-Powered Insights",
          description: "Get actionable recommendations based on your data.",
          stat: { value: "3x", label: "faster decisions" },
        },
        {
          id: "feature-2",
          icon: <Globe className="size-6" />,
          title: "Global CDN",
          description: "Content delivered from edge locations worldwide.",
          stat: { value: "<50ms", label: "avg. latency" },
        },
        {
          id: "feature-3",
          icon: <Lock className="size-6" />,
          title: "Enterprise Security",
          description: "SOC 2 Type II certified with end-to-end encryption.",
        },
      ]}
      buttons={[{ id: "btn-1", label: "Explore all features", href: "/features" }]}
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string; variant?: "default" | "secondary" | "outline" }Badge above the heading
headingstringSection heading
descriptionstringSection intro text
featuresFeatureCard[][]Cards rendered in the grid; the section renders nothing when this is empty
buttonsButtonItem[][]CTA buttons below the grid
classNamestringExtra classes for the outer <section>
ts
type FeatureCard = {
  id: string;
  icon?: React.ReactNode;
  title: string;
  description: string;
  stat?: { value: string; label: string };
};

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

Behavior notes

  • The component returns null when features is empty, so it never renders a bare header with an empty grid.
  • The stat row is conditional per card: cards without a stat simply have no footer and no top border, so mixing stat and non-stat cards in the same features array produces cards of visibly different heights within a row.
  • Each card uses a named hover group (group/feature29); hovering inverts the icon square from bg-primary/10 text-primary to a solid bg-primary text-primary-foreground fill, independent of any other card.
  • Cards also gain a hover:border-primary/50 border tint and hover:shadow-lg on hover, layered on top of the icon color transition, all over a 300ms transition.
  • The icon wrapper renders even when feature.icon is omitted (unlike feature26/feature107, there is no fallback icon), leaving an empty tinted square in that case.

More Feature blocks

View all Feature
FREE

feature26

Feature Card Grid with Hover Effects

Six-card grid with icons in rounded containers that animate on hover, plus titles and descriptions. Perfect for wellness platforms, health apps, or service benefit showcases.

FREE

feature107

Icon-Centered Grid Cards

3-column grid of centered feature cards with large icons and brief descriptions. Perfect for capability highlights, service features, or platform offerings.

PRO

feature160

Centered Icon Cards Grid

4-column grid of feature icons with titles and descriptions below. Perfect for capability highlights, feature icons, or simple feature grid.

FREE

feature23

Quality Scorecard Grid

Six-card grid displaying quality metrics with icons, progress bars, and numeric scores for performance, security, and reliability. Perfect for system health dashboards or compliance overviews.

PRO

feature115

Dashboard Stats Cards

2-4 column grid of stat cards with large numbers, labels, and percentage change indicators. Perfect for KPI dashboards, performance metrics, or key results display.

PRO

feature121

Rating Cards with Stars

Responsive grid of feature review cards with star ratings and review counts. Ideal for feature ratings, user reviews, or quality metrics.