# Q-Blog 1.0 — Personas & Key Journeys _Generated 2025-08-16 23:27Z_ ## Personas - **Solo Writer** — Publishes articles and drafts privately before release. - **Team Owner** — Creates a shared blog and invites collaborators. - **Invited Author** — Writes posts on a shared blog; cannot manage members. - **Reader** — Browses and discovers posts; expects fast loads and clear navigation. ## Protected Journeys (1.0) 1. **Read posts** — Navigate lists → open an article; keyboard and screen reader friendly. 2. **Create post** — Draft, autosave, preview, publish; clear feedback on errors. 3. **Edit post** — Update content; attribution and revision increase predictability. 4. **Manage blogs** — Create/switch blogs; lists scope to the selected blog. 5. **Collaborate** — Invite member; invited author creates/edits within role. ## Acceptance Hints per Journey - **Read:** Landmarks in place, heading hierarchy valid, link text descriptive, images have alt. - **Create/Edit:** Toolbar states deterministic; autosave status surfaced via live region; error can be retried. - **Manage:** Blog switch affects all scoped views; URLs stable and shareable. - **Collaborate:** Role gating enforced in UI and API; forbidden paths never succeed. --- ## Audit Notes (v0.0.1) - ⚠️ Note: PostEditor autosave + live region announcements need verification in code; docs may overstate completeness. ## Journeys — Multi-Blog ### 0 blogs (self) - Header shows **Create Blog**. `/{{name}}` → `/{{name}}/blogs` with empty state + CTA. ### 1 blog - `/{{name}}` redirects to `/{{name}}/{{blog}}/posts`. Header shows **My Blogs** (1 item + Create). ### N blogs - Header dropdown lists all blogs (active ✓). `/{{name}}/blogs` lists them with Edit/Create when self. ### Public view - Viewing someone else’s `/{{name}}/blogs` shows a read-only list; no edit/create controls.