Job Openings Grid

Open Positions

Find your dream role

We believe great products are built by great teams. Browse our current openings and take the next step in your career.

Backend Engineer

Engineering
RemoteFull-time

Design and build scalable APIs and microservices. Collaborate with frontend engineers to deliver reliable, high-performance systems.

Apply Now

UX Researcher

Design
Austin, TXFull-time

Plan and conduct user research studies to inform product decisions. Synthesize findings into actionable insights for design and engineering teams.

Apply Now

Growth Marketing Lead

Marketing
New York, NYFull-time

Own acquisition and activation funnels across paid and organic channels. Experiment with new growth strategies to accelerate user adoption.

Apply Now

Mobile Developer

Engineering
RemoteFull-time

Build and maintain cross-platform mobile applications using React Native. Ensure smooth performance and delightful interactions on iOS and Android.

Apply Now

People Operations Manager

HR
London, UKFull-time

Shape our culture and employee experience from onboarding to offboarding. Drive initiatives around engagement, retention, and workplace well-being.

Apply Now

QA Automation Engineer

Quality
Berlin, DEContract

Build and maintain automated test suites across web and mobile platforms. Champion quality practices and help teams ship with confidence.

Apply Now
About this block

Job Openings GridPRO

Job openings grid with department badges, location tags, and apply buttons. Card-based layout for career pages.

Careers2: Job Openings Grid

A centered header (optional badge, <strong>-aware heading, and description) above a responsive one-to-three-column grid of job cards, each rendering a title, an optional department badge, location and type rows with icons, a description, and an "Apply Now" button that links out via next/link.

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

Base UI flavor

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

This installs the block to components/beste/block/careers2.tsx, plus the badge and button shadcn/ui primitives it uses for the eyebrow and department badges and the per-card apply button.

Quick start

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

tsx
import { Careers2, careers2Demo } from "@/components/beste/block/careers2";

export default function CareersPage() {
  return <Careers2 {...careers2Demo} />;
}

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

tsx
import { Briefcase } from "lucide-react";
import { Careers2 } from "@/components/beste/block/careers2";

export default function CareersPage() {
  return (
    <Careers2
      badge={{ label: "Open Positions", variant: "secondary" }}
      heading="Find your <strong>dream role</strong>"
      description="Browse our current openings and take the next step in your career."
      items={[
        {
          title: "Backend Engineer",
          department: "Engineering",
          location: "Remote",
          type: "Full-time",
          description: "Design and build scalable APIs and microservices.",
          href: "/jobs/backend-engineer",
          icon: Briefcase,
        },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string; variant?: "default" | "secondary" | "outline" }Optional eyebrow badge above the heading; variant falls back to "default"
headingstringSection heading, supports inline <strong>
descriptionstringSupporting paragraph under the heading
itemsJobItem[][]Job cards rendered in the grid
classNamestringExtra classes for the outer <section>
ts
type JobItem = {
  title: string;
  department?: string;
  location?: string;
  type?: string;
  description?: string;
  href?: string;
  icon?: LucideIcon;
};

Behavior notes

  • The entire header block is conditionally rendered: if none of badge, heading, or description is passed, the wrapping centered container is omitted and only the grid remains.
  • heading is injected via dangerouslySetInnerHTML, so inline <strong> markup is styled with the primary color; only pass trusted strings.
  • The grid is fixed at one column on mobile, md:grid-cols-2, and lg:grid-cols-3; the column count is not configurable through props.
  • Each card's "Apply Now" button only renders when that item has an href; a job with no href shows the card content but no call to action.
  • The button navigates through next/link (a real page transition), so there is no onClick callback or selection state to wire up; there is no console.log stub either.
  • The JobItem.icon field is accepted in the type and demo data but never rendered by the component; passing it has no visual effect.
  • Cards use flex-col with the description marked flex-1, so buttons align to the bottom edge across a row even when descriptions differ in length.

More Careers blocks

View all Careers
PRO

careers18

Department Overview Grid

Department cards with team lead, headcount, open roles badge, and links. Helps candidates explore teams before applying.

PRO

careers1

Job Listings List

Job listings section with role cards showing department, location, and employment type. Clean list layout with hover effects and apply buttons.

PRO

careers13

Office Locations Grid

Global office locations grid with city photos, team size, and role taglines. Showcases company presence worldwide.

PRO

careers3

Department-Grouped Positions

Department-grouped job listings with minimal row layout. Jobs organized by team with location and type indicators.

PRO

careers4

Perks & Open Positions

Combined perks and job listings section with benefits grid and open positions list. Ideal for complete career pages.

PRO

careers14

Meet the Team Gallery

Team member photo grid with names and roles. Square portrait layout for showcasing leadership and team composition.