Skip to main content
Clever Ops

Learning Path Map

Courses drawn as one connected path, milestone nodes running from basics to specialization along a drawn spine, with a warm 'you are here' marker set by a prop.

Preview & code

Loading Learning Path Map preview

Installation

pnpm dlx shadcn@latest add @cleverui/learning-path-map

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

Usage

tsx
import { LearningPathMap } from '@/components/blocks/learning-path-map'
Exampletsx
import { LearningPathMap } from '@/components/blocks/learning-path-map'

export default function LearningPathMapDemo() {
  return (
    <div className="mx-auto w-full">
      <LearningPathMap
        heading="Your learning path"
        intro="Start at hello-world, leave with a specialization, every step builds on the last."
        currentIndex={2}
        currentLabel="You are here"
        steps={[
          {
            title: 'Programming foundations',
            tag: 'Foundations',
            blurb:
              'Variables, control flow, and the habits that keep small programs readable. Your first repo ships by Friday of week two.',
            duration: '4 weeks',
          },
          {
            title: 'Web craft studio',
            tag: 'Core',
            blurb:
              'HTML, CSS, and accessible components. You build a multi-page site a real small business could hand to a client.',
            duration: '6 weeks',
          },
          {
            title: 'Full-stack product lab',
            tag: 'Core',
            blurb:
              'APIs, databases, and auth on a shared product. Pair on a feature, open a pull request, and defend your design choices.',
            duration: '8 weeks',
          },
          {
            title: 'Data for builders',
            tag: 'Bridge',
            blurb:
              'SQL, event schemas, and honest dashboards. Learn enough analytics to ship decisions, not just charts.',
            duration: '4 weeks',
          },
          {
            title: 'Specialization track',
            tag: 'Specialization',
            blurb:
              'Pick platform engineering, product design systems, or applied ML. Capstone demo in front of hiring partners.',
            duration: '10 weeks',
          },
        ]}
      />
    </div>
  )
}

API reference

LearningPathMap accepts the following props.

PropTypeDefaultDescription
headingstring'Your learning path'
introstringone encouraging plain sentence under the heading
steps*LearningPathStep[]
currentIndexnumber-1index of the 'you are here' milestone; -1 hides the marker
currentLabelstring'You are here'

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

Referenced types

Typestsx
export interface LearningPathStep {
  title: string
  blurb?: string
  /** preformatted, e.g. '4 weeks', never derived from Date */
  duration?: string
  /** short quiet word like 'Foundations' or 'Specialization' */
  tag?: string
}

Frequently asked questions

How do I install the Learning Path Map component?

Register the @cleverui registry in your components.json ("@cleverui": "https://cleverops.com.au/r/{name}.json"), then run `npx shadcn@latest add @cleverui/learning-path-map`. 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 Learning Path Map require?

Learning Path Map uses motion on top of React and Tailwind CSS. You don't need to install it manually, the shadcn CLI resolves and installs npm dependencies automatically when you add the component.

Can I theme Learning Path Map 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