{
 "id": "2.10",
 "title": "Journeys",
 "department": "Product",
 "department_slug": "product",
 "direction": null,
 "branded": false,
 "status": "draft",
 "owner": "Param",
 "last_verified": "Mon Oct 26",
 "holds": "First week, Monday, a specialist, the person who ships, the approver, connecting a tool, when it breaks",
 "urls": {
  "html": "https://handbook.joinsquareup.com/product/journeys",
  "markdown": "https://handbook.joinsquareup.com/product/journeys.md",
  "json": "https://handbook.joinsquareup.com/product/journeys.json"
 },
 "other_directions": [],
 "tldr": {
  "headline": "Seven journeys, from a pasted link to what happens when it breaks",
  "points": [
   {
    "icon": "map",
    "text": "First week: paste, sign in, read, setup, first feed open, jam, hand off."
   },
   {
    "icon": "clock",
    "text": "Monday digest lands from 09:00 brand time, with up to three ads."
   },
   {
    "icon": "people",
    "text": "The person who ships opens the brief with no login."
   },
   {
    "icon": "warn",
    "text": "A connection failing 3 times, or 72 hours stale, stops counting as evidence."
   },
   {
    "icon": "rocket",
    "text": "Tomorrow: Schedule it in v2, How it went in v3, Let it run in v4."
   }
  ],
  "stat": {
   "value": "7",
   "label": "journeys covered"
  },
  "decide": null,
  "mood": "solid"
 },
 "sources": [
  "brew origin/main b91e364: docs/handover/product/02-user-journeys.md:5-84, SCOPE.md:11-25",
  "brew origin/main: public/app.js:276, 764, 1308, 1674; public/questions.js:36-40; build.js:239; confirm-remind.js:114; digest.js:54; brief-status.js:8; handoff.js:7; feed-service.js:261-264; connectors/index.js:51-53, 348; public/live.js:344-349",
  "brand-directions/_shared/ia.md:133-145, product-model.md:37-49",
  "brand-directions/book/content/d1.js d-4 j-first-week to j-leave",
  "memory: brew-access-rules, brew-feed-open-moves, brew-real-connectors, brew-shopify-app-review, brew-team-jams"
 ],
 "open_questions": [
  "**Reveal before or after sign in?** Today sign in comes first. Proposal: keep sign in first while reads are capped.",
  "**Can an approver answer from email?** Proposal: yes, with Yes and Not now links that open a confirm page.",
  "**Can the person who ships mark a brief delivered?** Proposal: no; only the brand's team and our team move status."
 ],
 "parts": {
  "Answer": "Seven journeys cover how people move through Brew: the first week, Monday, a specialist, the person who ships, the approver, connecting a tool, and when it breaks; each is written as today's steps, then tomorrow's.",
  "Today": "### 1. First week, the founder\n\n| Step | What happens today | Source |\n|---|---|---|\n| Paste | Type the store link, Build my feed | [src: docs/handover/product/02-user-journeys.md:7] |\n| Sign in | Google sign in with a work email at the brand's domain; others see a wall to the demo | [src: public/app.js:276] [src: memory brew-access-rules] |\n| Reading | Seven steps tick with findings; five questions on the reading screen | [src: SPEC.md:92] [src: public/questions.js:36-40] |\n| Setup | Check what we read, seat, what first, connect, team | [src: public/app.js:764] |\n| First feed open | Starts the Plays; reminders at 3 hours and a day if nobody opens it | [src: build.js:239] [src: confirm-remind.js:114] |\n| Feed | Ten cards, Need your yes, rings | [src: public/app.js:1674] |\n| Jam and hand-off | Open a card, make, Send to | [src: team-brief.js:20] |\n\n### 2. Monday\n\nThe digest arrives on Monday from 09:00 brand time with new Plays, what people say, the next date, jams waiting and up to three ads; its button opens the feed [src: digest.js:54] [src: SCOPE.md:25].\n\n### 3. A specialist\n\nPicks a seat that re-ranks the feed, opens their cards, jams, sends to the founder for an OK [src: public/app.js:779] [src: memory brew-team-jams].\n\n### 4. The person who ships\n\nGets the brief by email from the brand, opens `/h/<token>?full=1` with no login; signing in makes them a guest of that one jam who can chat, edit the brief and make drafts, and cannot share, approve, assign, discard or start paid makes [src: handoff.js:7] [src: feed-service.js:261-264].\n\n### 5. The approver\n\nSees Need your yes in the feed, or an Ask for OK email from a jam [src: public/app.js:1308] [src: memory brew-team-jams].\n\n### 6. Connecting a tool\n\nAdmins open Connectors, follow a guided sheet or sign in with the platform, and come back to the step they left; Shopify by the brand's own app or the Shopify app in review; reads every 3 to 12 hours [src: connectors/index.js:348] [src: memory brew-real-connectors] [src: memory brew-shopify-app-review].\n\n### 7. When it breaks\n\n| Case | What happens | Source |\n|---|---|---|\n| A read step fails | Says it could not check, never none | [src: CLAUDE.md:12] |\n| A deploy cuts a read | The reading page fills missing cards on ready | [src: memory brew-read-stream-backfill] |\n| A connection fails | Backs off; after 3 failures or 72 hours its numbers are stale | [src: connectors/index.js:51-53] |\n| Reads cap | Three new brands a day per person | [src: build.js:222-225] |\n| Leaving | Ask us to delete your data, deleted within 7 days | [src: public/live.js:344-349] |",
  "Tomorrow": "| Journey | Version | Tag | Tomorrow's screens |\n|---|---|---|---|\n| First week | v1 | Changes | Paste, sign in, reading with three questions, the reveal, Today with the first win bar, a pick, Make it, Hand it off, Handed off, Caught up [src: brand-directions/_shared/ia.md:137] |\n| Monday | v1 | Changes | Monday email with five picks, Today, Need your yes, a pick, Make it, Hand it off, Caught up |\n| A specialist | v1 | Changes | See everything filtered to their areas, a pick, Make it, Hand it off |\n| The person who ships | v1 | Changes | One brief page, then Open it in Make it as a guest |\n| The approver | v1 | Changes | Need your yes, Yes, done |\n| Connecting a tool | v1 | Changes | Settings, Connections, one connect sheet, status chips Connected, Needs you, Expiring, Stale, Read only |\n| When it breaks | v1 | Changes | One error page, one error state, Start again |\n| Post and schedule | v2 | New | Schedule it after a yes |\n| See what worked | v3 | New | How it went in Work |\n| Let it run | v4 | New | Inside rules, with undo |\n| Agency with many brands | v2 to v4 | New | Brand switcher |",
  "How we do it": "1. Walk each journey on production on one partner after any release that touches it, signed in, on a phone and a laptop.\n2. Run the layout audit on jam links:\n   ```\n   node tools/audit-layout.mjs <jam share links>\n   ```\n3. A journey change updates this page and the [onboarding](onboarding.md) page the same day.",
  "Numbers": "| Metric | Definition | Where measured | Status |\n|---|---|---|---|\n| Time to first hand-off | Minutes from paste to the first hand-off | Decision log | Proposed |\n| Monday return | Share of brands that open the feed in the week of a digest | Sign ins and feed opens | Proposed |",
  "Open": "1. **Reveal before or after sign in?** Today sign in comes first. Proposal: keep sign in first while reads are capped.\n2. **Can an approver answer from email?** Proposal: yes, with Yes and Not now links that open a confirm page.\n3. **Can the person who ships mark a brief delivered?** Proposal: no; only the brand's team and our team move status."
 }
}