Staaarter

Hiring by the Numbers

A recruitment stats dashboard for a careers page. A top row of metric cards shows headline numbers (applications per month, average time-to-hire, offer acceptance rate). Below, a bordered panel breaks the pipeline down stage by stage (applied, recruiter screen, team interview, final round, offer, hired) with a count and a proportional progress bar per stage.

By Staaarter Team
Careers
Docs
Live preview

Docs

Installation

A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its dependencies and any missing npm packages, and installs them straight into your project.

npx shadcn add https://staaarter.com/r/hiring-by-the-numbers.json

Prefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/careers/careers26.tsx instead.

Usage

The file also exports careers26Demo, the exact props behind the preview above. Spread it to get a working section in one line, then replace it with your own data.

import { Careers26, careers26Demo } from "@/components/blocks/careers/careers26";

export default function Page() {
  return <Careers26 {...careers26Demo} />;
}

Props

PropTypeDefaultDescription
headingstring"Hiring by the numbers"Section heading.
descriptionstring"A look at how our recruiting pipeline performs..."Section subheading.
metricsHiringMetric[]noneHeadline stat cards shown in the top row.
stagesHiringStage[]nonePipeline stages with counts, each rendered with a proportional bar.
classNamestringnoneExtra classes for the outer section element.

Types

interface HiringMetric {
  label: string;
  value: string;
  helpText: string;
}

interface HiringStage {
  stage: string;
  count: number;
  percent: number; // 0-100, controls the bar width
}

Behavior notes

  • Fully static: the stage bars are plain divs with an inline `width` style computed from the `percent` field in the demo data, no chart library and no client-side computation.