Hiring Process

Hiring at Polaris

How we get to know your craft

About 2 weeks, 4 steps. No take-home marathons, no trick questions — just real conversations about the work and a paid session where we build something together.

1

Intro call

30 min

A relaxed talk with a studio lead about your story, what pulls you toward this work, and what you're hoping to find next.

2

Portfolio review

45 min

Walk us through two or three pieces you're proud of. We care less about the polish and more about the decisions behind them.

3

Craft session

3 hrs

A paid, collaborative working session with the team on a real (anonymized) brief — so you see how we think and we see how you make.

4

Offer

1–2 days

We move fast once we know. Expect a written offer, a transparent breakdown of comp, and time to ask us anything.

About this block

Hiring ProcessPRO

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

Careers43: Hiring Process

A four-column hiring-process section that renders an optional eyebrow badge, a heading, and an intro paragraph above a connected flow of numbered steps, each node showing an index badge, title, duration, and description, joined by a connector rail that runs vertically down the column on mobile and horizontally between nodes on desktop.

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

Base UI flavor

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

This installs the block to components/beste/block/careers43.tsx.

Quick start

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

tsx
import { Careers43, careers43Demo } from "@/components/beste/block/careers43";

export default function Page() {
  return <Careers43 {...careers43Demo} />;
}

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

tsx
import { Careers43 } from "@/components/beste/block/careers43";

export default function Page() {
  return (
    <Careers43
      label="Hiring at Polaris"
      heading="How we get to know your craft"
      intro="About 2 weeks, 4 steps of real conversations about the work."
      steps={[
        {
          title: "Intro call",
          description: "A relaxed talk with a studio lead about your story.",
          duration: "30 min",
        },
        {
          title: "Craft session",
          description: "A paid, collaborative working session on a real brief.",
          duration: "3 hrs",
        },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
labelstringEyebrow text rendered inside a Badge6; the badge is omitted when empty
headingstringSection heading; only rendered when provided
introstringIntro paragraph below the heading; only rendered when provided
stepsProcessStep[][]Numbered step nodes rendered in the flow grid
classNamestringExtra classes merged onto the outer <section>
ts
type ProcessStep = {
  title: string;
  description: string;
  duration: string;
};

Behavior notes

  • The component is purely presentational: it exposes no callbacks, no internal useState, and no interactive elements, so all content is driven entirely by props.
  • label is only shown when truthy, and it is passed to the Badge6 component rather than rendered as raw text; heading and intro are likewise conditionally rendered only when non-empty.
  • Steps are keyed by array index, and the visible node number is index + 1, so reordering the steps array renumbers the flow.
  • Text fields (title, description, duration, intro) render as plain React children with no dangerouslySetInnerHTML, so inline HTML like <strong> in these strings would be escaped, not parsed.
  • The connector rail is decorative (aria-hidden) and layout-aware: the last step hides both its mobile vertical rail (index === steps.length - 1) and its desktop horizontal rail, so no dangling line trails past the final node.
  • The desktop grid is fixed at md:grid-cols-4, so the layout is tuned for four steps; passing more or fewer changes the column packing and can leave uneven rows.
  • An empty or omitted steps array renders the header block alone with an empty flow grid below it.

More Careers blocks

View all Careers
PRO

careers10

Hiring Process Timeline

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

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

careers26

Hiring by the Numbers

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

PRO

careers42

Studio Culture

Culture statement and tenets beside a three-image studio-life collage.

PRO

careers49

Benefits Breakdown

Categorized studio benefits with checklists per category.

PRO

careers17

Job Application Form

Job application form with input fields, file upload area, and position summary sidebar. Complete apply page layout for career sites.