// CRA2 — The interview. The site asks; the visitor answers in chips. // State persists in localStorage so a refresh keeps your place. const CRA4_QUESTIONS = [ { id: 'role', q: <>First things first. Which seat do you sit in?, chips: ['CEO / business leader', 'Transformation lead', 'Consultant', 'Investor', 'Something else'] }, { id: 'stuck', q: <>Where does work get stuck in your organization?, chips: ['Handoffs between teams', 'Approvals and rework', 'Nobody knows who owns what', 'Honestly, we can\u2019t see it'] }, { id: 'ai', q: <>And what has AI actually delivered so far?, chips: ['Pockets of success', 'Pilots that never scaled', 'A lot of licenses', 'We\u2019re just getting started'] } ]; const CRA4_SYNTHESIS = { default: (a) => <>That matches what we hear in almost every working session. The capacity you want is already inside your organization. It is trapped in friction, misaligned work, and tasks that no longer need to exist. Let us show you what finding it looks like. }; function Interview() { const [answers, setAnswers] = React.useState({}); const step = CRA4_QUESTIONS.findIndex((q) => !(q.id in answers)); const finished = step === -1; function answer(qid, chip) { setAnswers((prev) => ({ ...prev, [qid]: chip })); } function restart() { setAnswers({}); } function goToSim() { const el = document.getElementById('meridian'); if (el) { const top = el.getBoundingClientRect().top + window.scrollY - 40; window.scrollTo({ top: top, behavior: 'smooth' }); } } const past = CRA4_QUESTIONS.filter((q) => q.id in answers); return (
Tokaro · Simulate · an illustrative example
{past.length > 0 && (
{past.map((q) => (
{q.id === 'role' ? 'Which seat do you sit in?' : q.id === 'stuck' ? 'Where does work get stuck?' : 'What has AI delivered so far?'} {' '} →  {answers[q.id]}
))}
)} {!finished ? (

{CRA4_QUESTIONS[step].q}

{CRA4_QUESTIONS[step].chips.map((c) => ( ))}
{step === 0 && (

)}
) : (

{CRA4_SYNTHESIS.default(answers)}

)}
); } ReactDOM.createRoot(document.getElementById('interview-root')).render();