Files
Inboxintel/docs/discovery/03-user-research.md
cesnimda 4ce2df0a2b
CI / backend (push) Successful in 52s
CI / frontend (push) Successful in 14s
Deploy Staging / deploy (push) Successful in 18s
CI / backend (pull_request) Successful in 52s
CI / frontend (pull_request) Successful in 15s
Security / secrets (push) Successful in 4s
Security / dependencies (push) Successful in 55s
Security / secrets (pull_request) Successful in 4s
Security / dependencies (pull_request) Successful in 54s
docs: discovery blueprint + multi-provider design (#8)
2026-07-01 19:59:53 +02:00

108 lines
7.8 KiB
Markdown

# 03 — User Research: Personas & Journey Maps (Phase 3)
Personas are prioritised against the [Design Brief](00-design-brief.md) audience:
**mainstream, power-capable.** So the **primary** personas are everyday individuals and
small-business owners; **secondary** personas are high-volume role users whose needs we
support *progressively* (power features revealed as people grow into them).
Legend: 🟢 primary · 🔵 secondary
---
## 🟢 Priya — Personal user (mainstream)
Busy professional with a personal Gmail full of subscriptions, receipts, travel, and the
occasional important thread buried in noise.
- **Goals:** find things fast; not miss the important stuff; keep the inbox from feeling overwhelming.
- **Pain points:** can't remember where things are; newsletters bury real mail; unsubscribing is tedious; search needs the "right words."
- **Daily workflow:** skim inbox on phone/desktop → star/leave a few → hunt for a receipt or booking → ignore the rest.
- **Search needs:** *natural, forgiving* ("flight to Lisbon", "gym receipt March") — no operators. Attachment/receipt finding. Typo tolerance.
- **AI opportunities:** thread summaries, "what needs a reply," smart unsubscribe suggestions, receipt/booking extraction, gentle priority.
## 🟢 Marcus — Business owner / solopreneur (mainstream, high-value)
Runs a small business from one inbox: clients, vendors, invoices, admin — **no assistant**.
- **Goals:** never drop a client ball; find any past agreement/invoice instantly; spend less time in email.
- **Pain points:** follow-ups slip; important buried under admin; digging for "what did we agree?"; context-switching.
- **Daily workflow:** triage first thing → reply to clients → chase unpaid invoices → search for prior context mid-reply.
- **Search needs:** people-centric ("everything with this client"), attachment/invoice search, timeline ("our thread about the contract"), "did they reply?"
- **AI opportunities:** follow-up detection, "you haven't heard back" nudges, thread/relationship summaries, task/commitment extraction, draft replies with context.
## 🔵 Dev — Developer / power user
Technical inbox: GitHub, CI alerts, monitoring, mailing lists, plus real mail.
- **Goals:** cut notification noise; automate; keep signal. **Strongly values local/private AI** and self-hostable.
- **Pain points:** alert floods; wants rules/automation and keyboard speed; distrusts cloud AI on their mail.
- **Daily workflow:** bulk-archive alerts → scan PR/issue threads → deep-search history → automate the repetitive.
- **Search needs:** operators + regex-ish precision, entity/sender/domain, saved searches, fast keyboard-driven search.
- **AI opportunities:** local summarisation of long threads, auto-labelling/rules suggestions, semantic search across archives, duplicate/near-duplicate detection.
## 🔵 Rina — Recruiter (role power user, high volume)
Hundreds of candidate threads, CV attachments, scheduling, multi-stage follow-ups.
- **Goals:** find any candidate/CV instantly; track stage; never lose a promising lead.
- **Pain points:** attachments scattered; who's at what stage; follow-up timing; duplicate applicants.
- **Search needs:** **attachment/document search** (search *inside* CVs), people search, stage/timeline, entity extraction (skills, roles).
- **AI opportunities:** CV/document understanding, candidate summaries, follow-up detection, duplicate detection, relationship mapping.
## 🔵 Sam — Sales · 🔵 Tom — Support (role power users)
- **Sam:** pipeline follow-ups, response tracking, templates. Needs "who hasn't replied," saved searches, sentiment, reply suggestions.
- **Tom:** triage by category/SLA, canned responses, categorisation accuracy. Needs reliable auto-categorisation, priority prediction, phishing/spam confidence, thread summaries.
- (Both hint at **collaboration/shared-inbox** — deliberately a *later* opportunity; individual mainstream user is primary.)
---
## Cross-persona signal
| Need | Who feels it most | Priority |
|------|-------------------|----------|
| **Forgiving, natural search** | Priya, Marcus (everyone) | 🔴 Highest |
| **Find people / attachments / past context** | Marcus, Rina, Dev | 🔴 High |
| **Follow-up / "did they reply?" detection** | Marcus, Sam, Rina | 🔴 High |
| **Thread & relationship summaries** | Marcus, Dev, Rina | 🟠 Medium-high |
| **Noise reduction (unsubscribe, bulk, categorise)** | Priya, Dev, Tom | 🟠 Medium-high |
| **Local/private AI** | Dev (loud), all (latent) | 🔴 Strategic |
| **Explainability of results/priority** | everyone (trust) | 🟠 Medium-high |
| Collaboration / shared inbox | Sam, Tom | 🟢 Later |
---
## Journey maps
Format: **stage → what they do → current pain → InboxIntel opportunity.**
### J1 — Morning triage ("what needs *me* today?") — Priya, Marcus
| Stage | Action | Current pain | Opportunity |
|-------|--------|--------------|-------------|
| Arrive | Open inbox | Wall of mixed noise + important | AI **priority lane** + summary of "needs you" (local, explainable) |
| Scan | Skim subjects | No signal of what's urgent/awaiting reply | **Follow-up/awaiting-reply** badges; thread one-liners |
| Act | Reply/defer/clean | Repetitive, context-switch heavy | One-click defer/snooze; context-aware **draft reply**; bulk clean noise |
| Exit | Close, hope nothing missed | Anxiety of missed items | "You're caught up on what matters" confidence state |
### J2 — Find one specific thing (the flagship moment) — everyone
| Stage | Action | Current pain | Opportunity |
|-------|--------|--------------|-------------|
| Recall | Remember fragments ("invoice, that vendor, spring") | Must guess exact keywords/operators | **Natural-language + semantic** search; typo-tolerant |
| Query | Type in search | Syntax anxiety; blank box | **Suggestions, recent, filter chips**; search-as-home |
| Scan results | Look through hits | Date-sorted, not relevant; no context | **Relevance ranking** + **"why this matched"** + instant preview |
| Confirm | Open the right one | Re-open several to be sure | Grouped results, inline preview, people/attachment facets |
### J3 — Reduce the noise — Priya, Dev, Tom
| Stage | Action | Current pain | Opportunity |
|-------|--------|--------------|-------------|
| Notice | "Too many newsletters" | Unsub links hidden/dark-patterned | **One-click unsubscribe** (already seeded) + AI suggestions of what to cut |
| Decide | Which to keep? | Manual, per-email | AI **bulk suggestions** by sender/category with confidence + preview |
| Act | Unsubscribe / bulk clean | Risky, irreversible-feeling | **Confirmed + previewed** bulk actions (already a strength) |
| Trust | Did it do the right thing? | Opaque | Explainable "why suggested," undo, audit |
### J4 — Track a commitment / follow-up — Marcus, Sam, Rina
| Stage | Action | Current pain | Opportunity |
|-------|--------|--------------|-------------|
| Send | Email a client/candidate | Then forget | AI **follow-up detection**: "expecting a reply?" |
| Wait | Time passes | No system nudges you | "**No reply in N days**" surfaced automatically |
| Recall | "What did we agree?" | Dig through thread | Thread **summary + extracted commitments/tasks** |
| Resolve | Chase / close | Re-draft from scratch | Context-aware **draft nudge** referencing the thread |
---
## Research-driven product principles
1. **Search is the front door**, and it must work for someone who types *"that gym receipt"* — not just `from:gym has:attachment`.
2. **Explain everything** the system decides (match, category, priority) — it builds trust and teaches the app.
3. **AI removes toil, never control** — advisory, previewed, undoable, and fully optional/local.
4. **Progressive power** — mainstream-simple by default; operators, saved searches, automation revealed as users grow.
5. **Reduce anxiety** — "you're caught up," undo, and confidence states matter as much as features.