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:
- First-run wizard — detect zero mailboxes + zero settings and offer guided setup: domain entered, R2 bucket confirmed, CF Access configured, first mailbox created.
- 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.
- 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").
- 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.
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:
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.