Brand Reinforcement in Product UX¶
How SageOx should show up inside the product itself.
SageOx should show up in the UI the way macOS shows up in macOS -- not to impress, but to reassure.
The Goal¶
Users should gradually, subconsciously associate:
SageOx = the place where important conversations and decisions live.
This happens through calm repetition in functional contexts, not through marketing copy or promotional language.
When to Use the SageOx Name¶
| Context | Use SageOx Name? | Example |
|---|---|---|
| System feedback | Yes | "Captured by SageOx" |
| Status messages | Yes | "SageOx is processing this session" |
| CLI terminal comments | Yes | "Initialize SageOx in this repository" |
| Error messages | Sparingly | "SageOx couldn't reach the server" |
| Section headers | No | Use descriptive labels instead |
| Empty states | No | Focus on what the user should do next |
| Marketing-style CTAs | Never | No "Welcome to SageOx!" |
Rule of thumb: Use "SageOx" when the system is acting on behalf of the user. Don't use it when the user is acting within the system.
Preferred Nouns¶
These terms carry specific meaning in SageOx. Use them consistently.
| Term | Meaning | Scope | Use In |
|---|---|---|---|
| team context | Shared knowledge: norms, conventions, decisions from discussions, docs | Team-wide | Onboarding, CLI copy, recording flows, benefit descriptions |
| ledger | Historical record of code work, commits, project-specific decisions | Per-repo | Repo pages, code-related flows |
| discussions | Team conversations between humans, captured via recording. Consumed by agents. | Team-wide | Recording CTAs, list titles, card headers, empty states |
| sessions | Agent-to-human conversations (coding sessions, agent work). NOT audio recordings. | Per-repo | Agent activity, work history, repo pages |
| agents | AI tools that work alongside the team | Both | Benefit copy, onboarding steps |
Critical Distinction: Team Context vs Ledger¶
These are separate git repos with different scopes. Getting this wrong confuses users about the product's fundamental architecture.
| Team Context | Ledger | |
|---|---|---|
| Scope | Team-wide | Per-repo |
| Contains | Discussions, decisions, norms, conventions, onboarding docs | Work history, sessions, code decisions, commit context |
| Fed by | Recordings of team discussions, shared decisions | Agent sessions, code changes, repo activity |
| Used by | All agents across the team | Agents working in that specific repo |
| Analogy | The team's shared brain | A project's lab notebook |
Critical Distinction: Discussions vs Sessions¶
| Discussions | Sessions | |
|---|---|---|
| Between | Humans (team conversations) | Agent and human (coding work) |
| Captured via | Audio recording | Agent activity logging |
| Flows into | Team context | Ledger |
| Consumed by | Agents (and humans via agents) | Agents working in that repo |
When writing copy, ask: Is this about the team's shared knowledge, or about work in a specific repo?
- Discussions/recordings → team context (always)
- Code work/commits/agent sessions → ledger (always)
- Never use "ledger" when referring to discussions or recordings
- Never use "team context" when referring to repo-specific work history
- Never use "session" to mean audio recording (that's a "discussion")
- Never use "discussion" to mean agent-to-human coding work (that's a "session")
Usage Examples¶
- "Capture a discussion" (CTA -- starts a team recording)
- "Captured across your teams" (subtitle -- system state for discussions)
- "Decisions flow into your team context" (onboarding -- explains where discussions go)
- "Agents use team context automatically" (benefit -- explains the value)
- "No discussions yet" (empty state -- no recorded team conversations)
- "Work recorded in the ledger" (repo page -- explains where code work lives)
- "3 sessions this week" (repo page -- agent-to-human work activity)
Preferred Verbs¶
| Verb | When to Use | Instead Of |
|---|---|---|
| capture | Recording or saving important information | "save", "store", "record" (as generic) |
| share | Making context available to team or agents | "sync", "push", "distribute" |
| flow | Context or decisions moving between systems | "transfer", "move", "sync" |
| use | Agents accessing team context | "inject", "consume", "ingest" |
| connect | Linking a repository to SageOx | "integrate", "set up", "configure" |
Language to Avoid¶
| Avoid | Why | Use Instead |
|---|---|---|
| "AI coworker" | Marketing tone, tries too hard | "agent" or "your agent" |
| "AI coding agents" | Redundant qualifier | "agents" |
| "Revolutionize" / "Transform" | Aspirational marketing | Describe what it actually does |
| "Welcome to SageOx!" | Onboarding cliche | Lead with the first action |
| "Powered by" | Implies SageOx is a feature, not the product | Omit or use "Captured by SageOx" |
| "Smart" / "Intelligent" | Every product says this | Describe the specific behavior |
| "Seamless" / "Effortless" | Meaningless filler | Show, don't tell |
| "ledger" for discussions | Discussions are team-wide, not per-repo | "team context" |
| "team context" for repo work | Repo work history is per-repo | "ledger" |
Status Labels¶
Status labels are a high-frequency brand reinforcement opportunity. Users see them constantly.
| Status | Label | Why |
|---|---|---|
| Recording complete | Captured | Tells the user their data is safe. SageOx has it. |
| In progress | Processing | Factual, calm. |
| Waiting | Pending | Standard, no anxiety. |
| Uploading | Uploading | Factual. |
| Error | Failed | Honest. Don't soften errors. |
"Captured" is the most important label. Every time a user sees it, they're reminded: SageOx captured this. It's safe. It's part of team context now.
Empty States¶
Empty states are trust-building moments. The user has nothing yet -- this is where you tell them what SageOx will become for them.
Structure: What's missing + What to do + Where things will live
| Pattern | Example |
|---|---|
| Good (recordings) | "No discussions or sessions yet. Record a discussion to start building your team context." |
| Good (repo) | "No work recorded yet. Connect an agent to start building this repo's ledger." |
| Bad | "Nothing here yet! Get started by recording." |
| Bad | "Welcome! Let's set up your first recording." |
Why this works: It names the absence (sessions/discussions), suggests the action (record/capture), and previews the value (team context or ledger, depending on scope). No enthusiasm, no pressure.
How SageOx Should Sound Inside the Product¶
| Quality | Expression |
|---|---|
| Calm | No exclamation marks. No urgency. Things happen when they happen. |
| Factual | "Captured." not "Successfully captured!" |
| Confident | Statements, not questions. "Capture a discussion" not "Ready to record?" |
| Specific | Use SageOx terminology correctly. Discussions → team context. Repo work → ledger. |
| Brief | One line. If it needs more, it's probably in the wrong place. |
The Litmus Test¶
When users think:
- "Of course SageOx captured this"
- "Of course the agent can see this"
- "Of course this lives here"
...you've won. The product should feel inevitable, not impressive.
Good vs Bad: In-Product Brand Presence¶
| Location | Bad | Good |
|---|---|---|
| Status badge | "Ready" | "Captured" |
| Recording CTA | "Start Recording" | "Capture a Discussion" / "Start Session" |
| Empty activity | "No activity yet" | "No discussions or sessions yet" |
| Empty description (recordings) | "Get started by recording" | "Record a discussion to start building your team context" |
| Empty description (repo) | "Get started" | "Connect an agent to start building this repo's ledger" |
| Onboarding benefit | "Agents inject team context" | "Agents use team context automatically" |
| CLI comment | "Start working with your AI coworker" | "Your agent now has team context" |
| Subtitle | "Your latest discussions across teams" | "Captured across your teams" |
| Delete toast | "Discussion deleted" | "Discussion removed from team context" |