Hiring Process Timeline

Our Process

How we hire

Our hiring process is designed to be transparent, respectful, and efficient. Here's what you can expect when you apply.

1

Application Review

We review every application carefully and respond within 5 business days.

2

Intro Call

A 30-minute call with our recruiter to discuss your background and expectations.

3

Technical Interview

A focused technical session relevant to your role with the hiring team.

4

Culture Interview

Meet the team and learn about our values, work style, and collaboration.

5

Offer & Onboarding

Receive your offer and start a structured onboarding program.

About this block

Hiring Process TimelinePRO

Step-by-step hiring process timeline with numbered stages. Shows candidates the interview journey from application to onboarding.

Careers10: Hiring Process Timeline

A centered, single-column hiring timeline: an optional badge, <strong>-aware heading, and lead paragraph sit above a vertical list of numbered stages, each drawing a circular index marker, a title, an optional description, and a connector line to the next step.

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

Base UI flavor

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

This installs the block to components/beste/block/careers10.tsx, plus the badge shadcn/ui primitive it uses for the section eyebrow.

Quick start

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

tsx
import { Careers10, careers10Demo } from "@/components/beste/block/careers10";

export default function Page() {
  return <Careers10 {...careers10Demo} />;
}

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

tsx
import { Careers10 } from "@/components/beste/block/careers10";

export default function Page() {
  return (
    <Careers10
      badge={{ label: "Our Process", variant: "secondary" }}
      heading="How we <strong>hire</strong>"
      description="A transparent, respectful hiring process from application to onboarding."
      items={[
        { title: "Application Review", description: "We respond within 5 business days." },
        { title: "Intro Call", description: "A 30-minute call with our recruiter." },
        { title: "Offer & Onboarding", description: "Receive your offer and start onboarding." },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string; variant?: "default" | "secondary" | "outline" }Section eyebrow badge above the heading
headingstringSection heading, supports inline <strong>
descriptionstringLead paragraph below the heading
itemsStepItem[][]Numbered stages rendered as the timeline
classNamestringExtra classes for the outer <section>
ts
type StepItem = {
  title: string;
  description?: string;
};

Behavior notes

  • The whole header block (badge, heading, description) is conditionally rendered and only appears when at least one of badge, heading, or description is set; with all three omitted the timeline renders alone.
  • heading is injected via dangerouslySetInnerHTML, so inline <strong> markup is honored and styled text-primary; pass only trusted strings since raw HTML is not sanitized.
  • badge.variant falls back to "default" when omitted (badge.variant ?? "default"), while badge.label is required whenever a badge object is present.
  • Step numbers are derived from the array index (index + 1), not from any field on StepItem, so ordering is purely positional.
  • The vertical connector line is rendered for every step except the last (index < items.length - 1), so a single-item list shows no connector.
  • Each item's description is optional and skipped entirely when absent, leaving just the title next to its numbered marker.
  • The block is presentational only: there are no callbacks, no internal state, and no interactive elements, so it renders identically on every pass.

More Careers blocks

View all Careers
PRO

careers43

Hiring Process

The studio's interview process as a connected, numbered step flow.

PRO

careers24

Onboarding Journey Preview

First 90 days onboarding timeline with phase cards and activity checklists. Shows new hires what to expect from orientation to ownership.

PRO

careers26

Hiring by the Numbers

Recruitment statistics dashboard with key metrics, trends, and detailed hiring process stats. Transparent data-driven hiring showcase.

PRO

careers53

Hiring Process In Full

An interview process published as numbered hairline stages carrying length, who you meet, and an accent chip where the work is paid, closing on a soft promises panel beside a live card for the person who runs it.

PRO

careers36

Hiring Manager Profiles

Team lead profiles with photos, bios, and department badges. Introduces future managers to candidates with detailed backgrounds.

PRO

careers15

Day in the Life Timeline

A typical workday timeline with time stamps, activity icons, and descriptions. Shows candidates what daily life looks like at the company.