[
  {
    "flow_name": "The Recruit",
    "description": "A new visitor discovers the site and goes from 'what is this?' to joining the Discord community.",
    "trigger": "Visitor arrives via search, social media, or shared link on the landing page.",
    "persona": "The Deep Diver",
    "steps": [
      {
        "step": 1,
        "screen": "Landing Page — Top",
        "user_action": "Arrives on the site",
        "system_response": "Displays tagline, one-sentence pitch, and visible Join Discord CTA. Expedition status indicator if an expedition is active.",
        "next_screen": "Landing Page — Scroll or Join Discord",
        "notes": "Join CTA serves The Convert simultaneously. If they click Join here, flow ends at step 2 of The Convert flow."
      },
      {
        "step": 2,
        "screen": "Landing Page — How It Works",
        "user_action": "Scrolls to learn more",
        "system_response": "Visual explanation of the expedition lifecycle with brief phase descriptions.",
        "next_screen": "Landing Page — Continue scrolling",
        "notes": "Must be scannable — visual timeline or step-by-step graphic, not a wall of text."
      },
      {
        "step": 3,
        "screen": "Landing Page — Expedition Showcase Preview",
        "user_action": "Continues scrolling",
        "system_response": "Preview cards of published expedition output with thumbnail, title, and topic tag.",
        "next_screen": "Expedition Page or Landing Page — Continue scrolling",
        "notes": "This is the proof of value. Even one entry changes the conversion equation. User may click through to a full expedition page."
      },
      {
        "step": 4,
        "screen": "Landing Page — What's Next",
        "user_action": "Continues scrolling",
        "system_response": "Upcoming expedition countdown or current status. Topic backlog preview. Side program examples.",
        "next_screen": "Join Discord or Expedition Page or Topic Backlog",
        "notes": "Creates urgency and shows the depth of the pipeline."
      },
      {
        "step": 5,
        "screen": "Any",
        "user_action": "Clicks Join Discord",
        "system_response": "Redirects to Discord invite link.",
        "next_screen": "Discord (external)",
        "notes": "Can happen at any scroll depth. CTA is persistent in navigation."
      }
    ],
    "success_state": "Visitor clicks Join Discord and lands in the Discord server.",
    "error_states": [
      "Visitor bounces from top of page — pitch didn't resonate or wrong audience. Acceptable loss.",
      "Visitor reads everything but doesn't join — may return later. No aggressive capture mechanism.",
      "Discord invite link is expired or broken — must be monitored and kept current. Use a permanent invite link."
    ]
  },
  {
    "flow_name": "The Convert",
    "description": "A visitor who already knows about Unreal Expeditions arrives to join. Minimal friction path to Discord.",
    "trigger": "Visitor arrives via referral, word of mouth, or direct link, already knowing what the community is.",
    "persona": "The Deep Diver",
    "steps": [
      {
        "step": 1,
        "screen": "Any Page",
        "user_action": "Arrives on the site",
        "system_response": "Join Discord CTA visible immediately in navigation and page content.",
        "next_screen": "Discord (external)",
        "notes": "The Convert's path is one click. The CTA must be in global nav so it works regardless of which page they land on."
      },
      {
        "step": 2,
        "screen": "Discord (external)",
        "user_action": "Clicks Join Discord",
        "system_response": "Redirects to Discord invite link.",
        "next_screen": "Discord server",
        "notes": "Two actions maximum: arrive, click. Done."
      }
    ],
    "success_state": "Visitor joins the Discord server within seconds of arriving on the site.",
    "error_states": [
      "Join CTA not visible on the page they landed on — global nav placement prevents this.",
      "Discord invite link expired — use permanent invite link, monitor regularly."
    ]
  },
  {
    "flow_name": "The Explorer",
    "description": "A visitor arrives on an expedition write-up via search or social share, consumes content, and optionally discovers more content or joins the community.",
    "trigger": "Visitor arrives directly on an expedition page via external link.",
    "persona": "The Curious Observer",
    "steps": [
      {
        "step": 1,
        "screen": "Expedition Page — Top",
        "user_action": "Arrives on expedition write-up",
        "system_response": "Displays title, topic overview, key findings, embedded code, and demo video. Global nav with Join Discord CTA visible.",
        "next_screen": "Expedition Page — Scroll",
        "notes": "This may be their first and only impression of the community. The quality of this page IS the pitch."
      },
      {
        "step": 2,
        "screen": "Expedition Page — Scroll",
        "user_action": "Reads findings, watches demo, explores code",
        "system_response": "Below-the-fold phase journey breakdown available via expand/tab. Audio player if narration available.",
        "next_screen": "Expedition Page — Bottom",
        "notes": "Let them go as deep as they want. Don't interrupt with pop-ups or CTAs mid-content."
      },
      {
        "step": 3,
        "screen": "Expedition Page — Bottom",
        "user_action": "Finishes reading",
        "system_response": "Related expedition cards, link to full archive, and Join Discord CTA.",
        "next_screen": "Another Expedition Page or Archive or Discord",
        "notes": "Give them a next action. Read more, browse all, or join."
      }
    ],
    "success_state": "Visitor reads the full write-up and either explores more content or joins Discord.",
    "error_states": [
      "Visitor bounces quickly — content didn't match what they searched for. Acceptable, and good SEO/titles help reduce this.",
      "Code blocks are unreadable on mobile — must be handled with horizontal scroll or collapsible code sections.",
      "No related content to show (early days with 1-2 expeditions) — fall back to landing page link and Join CTA."
    ]
  },
  {
    "flow_name": "The Member",
    "description": "An existing community member visits the site to check expedition status, browse the archive, or grab a link to share.",
    "trigger": "Member navigates to the site directly or via bookmarked link.",
    "persona": "The Community Member",
    "steps": [
      {
        "step": 1,
        "screen": "Landing Page or Archive",
        "user_action": "Arrives on the site",
        "system_response": "Expedition status indicator visible on landing page. Archive accessible from global nav.",
        "next_screen": "Depends on intent",
        "notes": "Members know the site. They need fast access, not persuasion."
      },
      {
        "step": 2,
        "screen": "Expedition Page",
        "user_action": "Navigates to a specific expedition write-up",
        "system_response": "Full expedition page loads with shareable URL.",
        "next_screen": "External (sharing the link)",
        "notes": "Good OG meta tags for social preview cards are critical — this is how Explorers get created."
      }
    ],
    "success_state": "Member finds what they need quickly — status check, content reference, or shareable link.",
    "error_states": [
      "Expedition status is stale or not updated — must have a simple update mechanism and clear 'last updated' indicator.",
      "Member can't find a specific write-up — archive organization and eventual search solve this as content scales."
    ]
  }
]
