Skip to main content
Clever Ops

How a Job Runs

The job pipeline set plain, quote, schedule, work, walkthrough, with big numerals, a one-line promise per step, and response-time chips. No jargon, no mystery, no surprises on the invoice.

Preview & code

Loading How a Job Runs preview

Installation

pnpm dlx shadcn@latest add @cleverui/trade-process-steps

Requires the @cleverui registry in your components.json, a one-off, two-line setup.

Usage

tsx
import { TradeProcessSteps } from '@/components/blocks/trade-process-steps'
Exampletsx
import { ClipboardList, CalendarCheck, Wrench, Handshake } from 'lucide-react'
import { TradeProcessSteps } from '@/components/blocks/trade-process-steps'

export default function TradeProcessStepsDemo() {
  return (
    <div className="mx-auto max-w-6xl px-4 py-6 sm:px-6">
      <TradeProcessSteps
        heading="How a job runs"
        intro="Same four steps on every job, from a leaking tap to a full reno."
        steps={[
          {
            title: 'Quote',
            promise: 'We look at the job on site, then give you a fixed price before any tools come out.',
            chip: 'Quote within 24h',
            icon: ClipboardList,
          },
          {
            title: 'Schedule',
            promise: 'Pick a morning or afternoon window that suits you, we text when we are on the way.',
            chip: 'Book in 48h',
            icon: CalendarCheck,
          },
          {
            title: 'Work',
            promise: 'One named tech, floor sheets down, and a clean tidy-up before we leave the site.',
            chip: 'Same tech start to finish',
            icon: Wrench,
          },
          {
            title: 'Walkthrough',
            promise: 'We walk you through what was done, what was left, and how to keep it working.',
            chip: 'Invoice same day',
            icon: Handshake,
          },
        ]}
        note="No subcontractors. No surprise line items. If the job grows, we stop and re-quote before we keep going."
      />
    </div>
  )
}

API reference

TradeProcessSteps accepts the following props.

PropTypeDefaultDescription
headingstring'How a job runs'
introstringone plain sentence under the heading
steps*TradeProcessStep[]3–5 ordered steps, order is the whole point
notestring

…plus everything from React.HTMLAttributes<HTMLElement>: className, event handlers, aria attributes and the rest pass straight through.

Referenced types

Typestsx
export interface TradeProcessStep {
  title: string
  /** one plain-spoken sentence */
  promise: string
  /** response-time stat like "Quote within 24h" */
  chip?: string
  icon?: LucideIcon
}

Frequently asked questions

How do I install the How a Job Runs component?

Register the @cleverui registry in your components.json ("@cleverui": "https://cleverops.com.au/r/{name}.json"), then run `npx shadcn@latest add @cleverui/trade-process-steps`. The shadcn CLI copies the source into your project, you own the code from that point. You can also copy the source directly from this page.

What dependencies does How a Job Runs require?

How a Job Runs uses motion and lucide-react on top of React and Tailwind CSS. You don't need to install them manually, the shadcn CLI resolves and installs npm dependencies automatically when you add the component.

Can I theme How a Job Runs to match my brand?

Yes. The component is styled entirely with Tailwind utilities over standard design tokens (primary, background, muted, border), so it inherits your existing shadcn/ui theme automatically. Change your CSS variables and the component follows, no source edits needed for palette, radius, or fonts.

Want this built for you?

CleverUI is built by the Clever Ops web team. If you'd rather ship a hand-coded, fast, custom website than assemble one, we build them for Australian businesses every week.

Explore web development services