---
id: "4.3"
title: "Naming"
dept: brand
status: needs-you
owner: Param
branded: false
last_verified: "2026-10-26"
sources:
  - "brand-directions/book/content/f2.js:526-629, f-9 Naming"
  - "brand-directions/book/content/c2.js:895-927, the old name in the front end"
  - "brand-directions/BRIEF.md section 1 and section 4"
  - "brand-directions/docs/choose.js:22-28, 120-125"
  - "brew origin/main d6154b3: public/index.html title, word counts in public/app.js, public/live.js, public/brand-book.js, product-name.js:1-9, docs/slack-app-manifest.json:4, 10, docs/shopify.app.toml:8, docs/shopify-app-review.md:107; commit ca2bc7b"
  - "memory brew-name-and-scope, 14 Oct"
  - "memory brand-directions-2026-10-25"
  - "handbook/content/company-and-strategy/decisions-log.md:23,29"
---

# Naming

## Answer

The product is being renamed and has no new name yet; this document holds the tests a name must pass, the steps to clear it and a proposal, and the call stays with Param.

## Today

| Fact | Detail |
|---|---|
| The product's internal name is Brew, and the browser tab still says Brew | `<title>Brew` in public/index.html [src: brew/public/index.html] |
| The name was set to Brew on 14 Oct, replacing ShopOS for the product, with infra names such as shopos-feed kept until a planned rename | Two names in two weeks [src: memory brew-name-and-scope] |
| On 25 Oct the owner's brief started a rename: never write Brew in brand work, leave a wordmark slot wherever the name would go | The newer note wins over 14 Oct [src: brand-directions/BRIEF.md section 1; memory brand-directions-2026-10-25] |
| Every brand book and screen in the audition shows a dashed wordmark slot, never a made up name | Unless it carries a Sample label [src: brand-directions/book/content/f2.js:529-544] |
| The word Brew appears 87 times in public/app.js, 7 in public/live.js and 5 in public/brand-book.js, comments included, down from 261, 44 and 30 on a559de6 | Counted as whole words on origin/main d6154b3, after the 26 Oct copy pass; to confirm how many are visible [src: brew/public/app.js; brew/public/live.js; brew/public/brand-book.js; brew commit ca2bc7b] |
| Since 26 Oct the name customers read comes from one constant, `PRODUCT_NAME` in `product-name.js`, still "Brew"; copy that can say we or our team does, so the rename is one line. Code names such as routes, keys, cookies and `shopos-feed` stay | [src: brew/product-name.js:1-9] |
| Left with the name on purpose: the Slack app name and bot, `docs/shopify.app.toml`, the Shopify listing draft `Brew: Daily Marketing Plays`, `manifest.webmanifest` | [src: brew/docs/slack-app-manifest.json:4, 10; brew/docs/shopify.app.toml:8; brew/docs/shopify-app-review.md:107; brew commit ca2bc7b] |
| The book counted about 300 visible strings: 176 in app.js, 37 in live.js, 25 in brand-book.js, 22 in jam2.js | Written for the audition, now out of date: jam2.js has none today [src: brand-directions/book/content/c2.js:927] |
| Each character has a pick and two alternates: Fetch, Scruff, Bounder; Buzz, Waggle, Bumble; Scoop, Tidbit, Rummage; Ocho, Inka, Yessa; Seeti, Whistle, Pressure | All five are placeholders until the pick [src: brand-directions/book/content/f2.js:590-599] |
| The character name is never the product name: the character read your store, you open the product | Rule in every brand book [src: brand-directions/book/content/f2.js:618-627] |
| No trademark or domain check has been started for any name | [src: brand-directions/book/content/f2.js:556] |
| The company sites live under joinsquareup.com: feed., brew., demo., docs. and handbook. | [src: handbook/AGENTS.md, Where things live] |
| Pages never name the company that runs the product; they say our team | Decided 26 Oct [src: handbook/content/company-and-strategy/decisions-log.md:29] |

## Tomorrow

| Item | Version and tag |
|---|---|
| A new product name fills every wordmark slot in the product, the shared docs, marketing and the brief page | v1, New |
| The old name leaves every visible string, the tab title and the brief page; infra names such as shopos-feed stay until their own planned rename | v1, Goes |
| The character keeps its own name and is never the product: Fetch read your store, never open Fetch | v1, Stays |
| The name stays a plain word that works when the product later posts, measures and runs ads within rules, so v2 to v4 never force a second rename | v2 to v4, Stays |
| A domain on the new name replaces the joinsquareup.com product addresses, with old links redirected | v1, Changes, once a name clears |

## How we do it

1. Pick the character first, so the name sits beside it without fighting it.
2. Write a long list from Param, Sai and Arvind, with no filtering.
3. Say each one out loud. Keep only names of one or two syllables, easy in every accent, that sound right in a sentence such as Open it on Monday.
4. Clear the shortlist: not a known app or rival name, a domain we can get, a trademark search in India first, then wherever design partners are. Get advice before filing.
5. Run the ten second test with five founders: does the name plus the character say what the product does.
6. Param decides and logs it in the decisions log.
7. Fill every wordmark slot, then change `PRODUCT_NAME` in `brew/product-name.js`, which renames every email, page, notification, Slack post and PDF that reads it. Then rename the strings left on purpose, the Slack app, the Shopify app and listing and `manifest.webmanifest`, and list any other visible string with:

```
git -C /Users/param/Documents/ChatGPT/brew grep -n -w "Brew" origin/main -- 'public/*.js' 'public/*.html'
```

## Numbers

| Number | Definition | Where measured |
|---|---|---|
| Old name strings left, Proposed | Visible strings still saying Brew in the front end | The grep above on brew origin/main, comments excluded by hand |
| Ten second test pass rate, Proposed | Founders out of five who say what the product does after ten seconds with the name and the character | The test sheet, logged in the decisions log |
| Clearance, Proposed | Shortlisted names with a free domain and no blocking trademark in India | The shortlist table in this document |

## Open

1. **When do we name it?** Proposal: right after the character pick, before any screen is reskinned, so the slot is filled once.
2. **Which tests must a name pass?** Proposal: accept the tests above as they are: one or two syllables, easy in every accent, says the job or sits well beside the character, not a known app, a free domain, a clean India trademark search.
3. **Does the character name ever become the product name?** Proposal: no. Every brand book already says the character is never the product, and a character can be swapped later without renaming the product.
4. **Who does the trademark check?** Proposal: a quick search by our team for the shortlist, then one paid opinion from a trademark lawyer in India on the final two, before any domain is bought.
5. **Does the product move off joinsquareup.com?** Proposal: yes, to a domain on the new name once it clears; keep feed.joinsquareup.com redirecting so design partners' links keep working.
6. **Which character alternates stay live?** Proposal: keep the two alternates only for the picked character, as a fallback if its name fails clearance, and archive the rest with their folders.
