Skip to content

Onboarding flow on the new Shell #68

Description

@schmug

After the rebrand work shipped (PRs #59, #60, #61), the only public surface that doesn't sit inside `app/components/phishsoc/Shell` is `app/routes/home.tsx` — the mailbox picker users hit before they have a mailbox selected. Today it shows:

Upstream PR #10 was an attempt at a richer onboarding flow but predates the Shell and was based on different design assumptions. We chose not to pull it in.

What "PhishSOC onboarding" needs

To be discussed in a brainstorming session, but candidates:

  1. First-run wizard — detect zero mailboxes + zero settings and offer guided setup: domain entered, R2 bucket confirmed, CF Access configured, first mailbox created.
  2. CF Access JWT error UX — upstream issue #4 flagged the unhelpful "Missing required CF Access JWT" surface. New onboarding flow should detect this state (Worker reachable but Access misconfigured) and link to the troubleshooting steps in README.
  3. Empty-state copy on home — once we have ≥1 mailbox, the empty-state messaging in `home.tsx` should reflect the SOC framing ("No mailboxes yet — set one up to start triaging mail").
  4. Telemetry / quickstart checklist — show the user what's working (Email Routing rule, R2, AI binding) and what isn't, so a misconfiguration is visible without hitting the logs.

Architecture note

Onboarding should consume the Shell where possible (e.g., a "setup" route at `/setup` that uses a stripped-down Shell variant without the mailbox-required nav). The mailbox picker stays as the index route; `/setup` is a separate flow.

Sequence

This is its own brainstorming → spec → plan cycle. Do not start implementing without a written spec.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions