StealThis .dev

Onboarding — Role / intent picker

A polished onboarding step that asks new users what brings them to the product and tailors the workspace around the answer. A grid of selectable cards — Founder, Developer, Designer, Marketer, Operations, Just exploring — each pairs an inline SVG icon with a label and a one-line outcome, with a popular badge on the lead choice. The Continue button stays disabled until a pick is made, then fires a role-specific next-step toast. A segmented switcher flips between single and multi-select and between a card grid and a compact list, all keyboard-navigable.

Apri in Lab
html css vanilla-js
Target: JS HTML

Codice

Role / intent picker

The classic “What brings you here?” onboarding step, rendered as a self-contained card. A progress rail and Step 2 of 3 label frame a grid of intent cards for the fictional Driftwork app — Founder, Developer, Designer, Marketer, Operations and a low-commitment Just exploring option. Each card carries an inline SVG icon, a bold label (the lead option gets a Popular badge), a one-line description of the outcome, and a selection indicator that animates in on pick. The footer hint mirrors the choice back to the user with a tailored next step, and the Continue button stays disabled until something is selected.

Two segmented controls drive the live variants. The first toggles single-select (radiogroup semantics, one choice replaces the last, selection indicators render as circles) against multi-select (checkbox semantics, additive choices, square indicators, and a “3 selected” hint). The second swaps the card grid for a compact list layout. Switching from multi back to single gracefully collapses to the first pick.

Interactions are vanilla JS and keyboard-friendly: arrow keys rove across the options with proper roving-tabindex, Space and Enter toggle, and aria-checked plus an aria-live hint keep assistive tech in sync. Continue fires a role-specific confirmation toast (the Developer path mentions repos, the Designer path mentions Figma), Skip for now clears the selection, and the whole layout collapses to a single column down to 360px.

Illustrative UI only — Driftwork and all roles/data are fictional.