Funnel Futurist · Architecture

Growth Diagnostic — journey flow

Every question, branch, founder beat, mirror, and the full 72-hour reminder ladder — generated straight from the quiz config, so this diagram can never drift from what actually ships. To a prospect it's a simple quiz; underneath it's this. Regenerate per client and it becomes the QC + gap-finder — and the moat.

Question — a step in the diagnostic Founder beat — sticker / interstitial / self-labeling Gate — mirror, contact gate, decision Action — delivery email · CTA · win / ascension Reminder — the progressive founder-figure ladder
%%{init: {"theme":"dark","themeVariables":{"fontFamily":"ui-monospace, SFMono-Regular, monospace","lineColor":"#7A9199","fontSize":"14px"}}}%%
flowchart TD
  classDef q fill:#103040,stroke:#209080,color:#FAF6EA;
  classDef beat fill:#0A2230,stroke:#2BB3A0,color:#2BB3A0;
  classDef gate fill:#0A2230,stroke:#D9B96A,color:#D9B96A;
  classDef cta fill:#C4552F,stroke:#C4552F,color:#fff;
  classDef warn fill:#2a1410,stroke:#C4552F,color:#F2C0AC;
  WELCOME["🛰️ Welcome
What's the One Hidden Constraint Holdin…"]:::q q0_avatar["🟢 Which one are you?
image-grid"]:::q WELCOME --> q0_avatar q0b_audience["🟢 Who does your offer mostly sell to?
button"]:::q q0_avatar --> q0b_audience q1_vision["🟢 First, the big one — what do you actual…
button"]:::q q0b_audience --> q1_vision q1_vision_S(["💬 Founder sticker beat"]):::beat q1_vision --> q1_vision_S q1_vision_M{{"🪞 Mirror
confirm the diagnosis"}}:::beat q1_vision_S --> q1_vision_M q2_revenue["🟢 Where's your monthly revenue sitting ri…
button"]:::q q1_vision_M --> q2_revenue q3_target["🟢 And where do you want it — realisticall…
button"]:::q q2_revenue --> q3_target q3_target_S(["💬 Founder sticker beat"]):::beat q3_target --> q3_target_S INT_green[/"⏸️ Interstitial
Okay — I can see the shape of you n…"/]:::beat q3_target_S --> INT_green q4_acquisition["🟡 How are you getting most of your client…
button"]:::q INT_green --> q4_acquisition q4_acquisition_M{{"🪞 Mirror
confirm the diagnosis"}}:::beat q4_acquisition --> q4_acquisition_M q5_funnel["🟡 What does your client-getting engine ac…
button"]:::q q4_acquisition_M --> q5_funnel q5_funnel_S(["💬 Founder sticker beat"]):::beat q5_funnel --> q5_funnel_S q6_time["🟡 How much time are you spending IN the b…
button"]:::q q5_funnel_S --> q6_time q6c_time_target["🟡 And how much do you WANT to be spending?
button"]:::q q6_time --> q6c_time_target q6c_time_target_S(["💬 Founder sticker beat"]):::beat q6c_time_target --> q6c_time_target_S q6_tried["🟡 What have you already tried to fix it?
multi-select"]:::q q6c_time_target_S --> q6_tried q6_tried_M{{"🪞 Mirror
confirm the diagnosis"}}:::beat q6_tried --> q6_tried_M INT_orange[/"⏸️ Interstitial
You just admitted things most opera…"/]:::beat q6_tried_M --> INT_orange q7_bottleneck["🔴 Finish the sentence honestly: 'If I'm b…
button"]:::q INT_orange --> q7_bottleneck q7_bottleneck_M{{"🪞 Mirror
confirm the diagnosis"}}:::beat q7_bottleneck --> q7_bottleneck_M q8_cost["🔴 Now the uncomfortable one: 'Every month…
button"]:::q q7_bottleneck_M --> q8_cost q8_cost_M{{"🪞 Mirror
confirm the diagnosis"}}:::beat q8_cost --> q8_cost_M q9_urgency["🔴 Level with us — how badly do you need t…
button"]:::q q8_cost_M --> q9_urgency q9_urgency_M{{"🪞 Mirror
confirm the diagnosis"}}:::beat q9_urgency --> q9_urgency_M q10_site["🔴 Drop your website or main funnel URL
text"]:::q q9_urgency_M --> q10_site q11_instead["🔴 Last one, and it's the good part: pictu…
button"]:::q q10_site --> q11_instead SL["🧾 Self-Labeling
read it back"]:::beat q11_instead --> SL GATE["✉️ Contact gate
email + bonus NAMED"]:::gate SL --> GATE LOAD["⏳ Loading theatre"]:::beat GATE --> LOAD PATH{"Result path?"}:::gate LOAD --> PATH RH["📄 Results HOLD page
bad→constraint locator→good→VSL→AUDIT MENU"]:::q DE["📧 Delivery email
access code · live countdown · 3-gate tracker"]:::cta PATH -->|roadmap by email| RH CB{"Which constraint region?
(from their answers)"}:::gate RH --> CB CR_no_leads["🎯 Attention · traffic + message
region roadmap + VSL cut"]:::q CB -->|"no_leads"| CR_no_leads CR_no_leads --> DE CR_leads_dont_convert["🎯 Conversion · page + offer
region roadmap + VSL cut"]:::q CB -->|"leads_dont_conv…"| CR_leads_dont_convert CR_leads_dont_convert --> DE CR_calls_dont_close["🎯 The close · frame + pitch
region roadmap + VSL cut"]:::q CB -->|"calls_dont_close"| CR_calls_dont_close CR_calls_dont_close --> DE CR_cant_scale["🎯 Customer success · delivery
region roadmap + VSL cut"]:::q CB -->|"cant_scale"| CR_cant_scale CR_cant_scale --> DE CR_hunch_no_proof["🎯 Unknown · zoom in on the call
region roadmap + VSL cut"]:::q CB -->|"hunch_no_proof"| CR_hunch_no_proof CR_hunch_no_proof --> DE CR_generic["🎯 General constraint
region roadmap + VSL cut"]:::q CB -->|"generic"| CR_generic CR_generic --> DE subgraph WIN["⏱️ 72h window — clock STARTS ON FIRST OPEN"] OPEN{"Opened the roadmap?"}:::gate NO1["T+3h · calm · still holding it for you"]:::warn NO2["T+24h · worried · getting heavy"]:::warn NO3["T+48h · sweating · name what expires"]:::warn NO4["T+70h · pleading · please just open it"]:::warn NO5["close · ON KNEES · no more time"]:::warn G0["Opened · 0 gates
start checkpoint 1"]:::warn G1["Gate 1 ✓"]:::gate --> G2["Gate 2 ✓"]:::gate --> G3["Gate 3 ✓ → WIN"]:::cta OPEN -->|never| NO1 --> NO2 --> NO3 --> NO4 --> NO5 OPEN -->|opened, idle| G0 --> G1 OPEN -->|progressing| G1 G3 --> AARC["AARC ascension
affirm→agitate→reveal→close"]:::cta NO5 --> CLOSED["window closed · graceful DESCENT
never-openers get NO forfeit msg"]:::beat end DE --> OPEN

Source of truth: the config JSONqc/quiz_flowchart.py → this page (qc/flowchart_to_html.py). Change a question, mirror, or reminder in the config and the map redraws. Dark-committed to match the ff_brand grammar: teal = the path, gold = gates, ember = the one action.