NS Design System
v3.0.0 · 257 tokens

117Generated learning path

The assistant's most product-specific output: “here is a six-week route from where you actually are to a Platform Developer I attempt.” Numbered steps on a rail, each pointing at a real course or lesson, with what the student has already finished marked done — and a save action that turns the answer into an object on their dashboard.

Use it for

  • Any answer whose real conclusion is a sequence — certification routes, “where do I start”, catching up after a gap
  • Marking completed steps done rather than dropping them: seeing what you have finished is half the motivation

Not for

  • The marketing roadmap — that is Roadmap card, with illustrations and lede copy; this is a compact plan inside a message
  • A path made of steps that are not real courses. Every row must be a link to something that exists

In an answer

markup
<div class="ns-aipath" style="max-inline-size:38rem">
  <div class="ns-aipath__head">
    <span class="ns-aipath__title">Route to Platform Developer I</span>
    <span class="ns-aipath__meta">6 weeks · 5 steps</span>
  </div>
  <div class="ns-aipath__steps">
    <a class="ns-aipath__step" href="#0" data-state="done">
      <span class="ns-aipath__index">01</span>
      <span><span class="ns-aipath__name">Apex basics</span><span class="ns-aipath__sub">Lessons 01–03 · already done</span></span>
      <span class="ns-aipath__when">done</span>
    </a>
    <a class="ns-aipath__step" href="#0">
      <span class="ns-aipath__index">02</span>
      <span><span class="ns-aipath__name">Collections, maps and sets</span><span class="ns-aipath__sub">Apex basics · lesson 09</span></span>
      <span class="ns-aipath__when">this week</span>
    </a>
    <a class="ns-aipath__step" href="#0">
      <span class="ns-aipath__index">03</span>
      <span><span class="ns-aipath__name">Bulk-safe Apex patterns</span><span class="ns-aipath__sub">9 lessons · the fix, properly</span></span>
      <span class="ns-aipath__when">week 2</span>
    </a>
    <a class="ns-aipath__step" href="#0">
      <span class="ns-aipath__index">04</span>
      <span><span class="ns-aipath__name">SOQL, properly</span><span class="ns-aipath__sub">Relationships and selective queries</span></span>
      <span class="ns-aipath__when">week 3</span>
    </a>
    <a class="ns-aipath__step" href="#0">
      <span class="ns-aipath__index">05</span>
      <span><span class="ns-aipath__name">Testing and deployment</span><span class="ns-aipath__sub">75%+ coverage, and what it is for</span></span>
      <span class="ns-aipath__when">weeks 4–6</span>
    </a>
  </div>
  <div class="ns-aipath__foot">
    <button type="button" class="ns-btn ns-btn--outline ns-btn--sm"><i class="ph ph-bookmark-simple" aria-hidden="true"></i> Save as my path</button>
    <button type="button" class="ns-btn ns-btn--quiet ns-btn--sm">Adjust pace</button>
    <span class="ns-aipath__meta">~4h / week</span>
  </div>
</div>

Project plan

The same object doing career work: a portfolio project broken into build steps, which is what a student asking “what do I put on my resume” actually needs.

markup
<div class="ns-aipath" style="max-inline-size:38rem">
  <div class="ns-aipath__head">
    <span class="ns-aipath__title">Project: a volunteer-shift manager</span>
    <span class="ns-aipath__meta">portfolio · 4 steps</span>
  </div>
  <div class="ns-aipath__steps">
    <a class="ns-aipath__step" href="#0">
      <span class="ns-aipath__index">01</span>
      <span><span class="ns-aipath__name">Model it</span><span class="ns-aipath__sub">Volunteer, Shift, Signup — two lookups, one rollup</span></span>
      <span class="ns-aipath__when">2h</span>
    </a>
    <a class="ns-aipath__step" href="#0">
      <span class="ns-aipath__index">02</span>
      <span><span class="ns-aipath__name">Automate the double-booking check</span><span class="ns-aipath__sub">Record-triggered flow, then the same rule in Apex</span></span>
      <span class="ns-aipath__when">3h</span>
    </a>
    <a class="ns-aipath__step" href="#0">
      <span class="ns-aipath__index">03</span>
      <span><span class="ns-aipath__name">Build the signup screen</span><span class="ns-aipath__sub">One LWC, wire adapter, no imperative Apex</span></span>
      <span class="ns-aipath__when">4h</span>
    </a>
    <a class="ns-aipath__step" href="#0">
      <span class="ns-aipath__index">04</span>
      <span><span class="ns-aipath__name">Test it honestly</span><span class="ns-aipath__sub">Insert 200 signups, not one</span></span>
      <span class="ns-aipath__when">2h</span>
    </a>
  </div>
  <div class="ns-aipath__foot">
    <button type="button" class="ns-btn ns-btn--outline ns-btn--sm"><i class="ph ph-bookmark-simple" aria-hidden="true"></i> Save this project</button>
    <span class="ns-aipath__meta">talks well in an interview</span>
  </div>
</div>

Accessibility contract

  • Steps are real links with the state on data-state, so “done” is not carried by color alone — the index turns green AND the row reads done
  • The save action is a button, not a link: it changes data