Voice July 2026 voice.md

Tendd Voice

Voice is rules, not a mood. Every rule has an example (a line written to it), an anti-example (a line that breaks it), and a source traced to a research line, so any line of the product can be written the same way, by a person or by Claude.

1. Principles

Two sources feed every principle. The personas say how to write (the words and tone that lower this person's anxiety). The competitors' language says where to stand apart: where every finance product writes the same way, that sameness is Tendd's opening to sound different. Five principles, each earning its place from a source line. Fewer honest rules beat more pretty ones.

Principle 1

Lead with calm and being in control, not with capability

Every headline and promise names the feeling of knowing what is going out and being okay, not the feature that produces it. Calm is the position no competitor has taken, so it is the one Tendd leads with. Calm does not mean silent or so soft it discourages looking; it invites the person to look ("here is what you have").

Example

"See what you're paying for. Calmly." (welcome hero). "One calm list instead of a dozen forgotten logins." (welcome benefit card). "This is what you have signed up for, not what you wasted." (guided-reveal).

Anti-example

"Save more, spend less, see everything, and take back control of your financial life." (Rocket Money's actual value prop: capability stacked on capability, no feeling). "Take control of your finances and optimize your spending."

Why (from the data): competitive-analysis.md ("no competitor, including new entrant ReSubs, leads with 'calm' ... Every product leads with capability, not emotional state"); strategy.md ("'I know what's going out, and I'm okay.' Calm, not optimization"); master-research.md Q1 (the Guided Reveal must be engaging enough to get the user to LOOK, which is why calm still invites looking).

Principle 2

Say who did the thing, in plain words

Write in active voice and name the actor. Tendd, a merchant, or the person did the thing, so the sentence says who. No passive constructions, no system-log phrasing, no jargon. Plain language is a core differentiator here because no subscription tracker has made it one.

Example

"A payment to Amazon Prime did not go through." (alerts). "Netflix went up by $2.50, now $17.99 a month." (home alert banner). "We could not connect to your bank." (connect-bank-error).

Anti-example

"Payment declined." / "A price change was detected." (passive, no actor). "Sync error." / "Something went wrong." (system-log phrasing, names nobody).

Why (from the data): Monzo's principle "Say who did the thing", writing "we couldn't take this payment, your card was declined by [merchant]" (benchmark-trust.md); "Passive voice in financial communication creates anxiety because the user does not know who is responsible" (benchmark-trust.md); master-research.md Key Conclusion 4 (plain language and active voice, an unclaimed differentiator).

Principle 3

Frame money as what you signed up for, never as judgment

Present numbers as what is scheduled to go out, "what you have signed up for", never as "what you spent" or "what you wasted". No red, no failure language, no implication the person did something wrong. The list is a discovery, not an audit. This is the difference between exposure (which the person avoids) and control (which they came for).

Example

"a month, for what you have signed up for" (home summary strip). "This is what you have signed up for, not what you wasted." (guided-reveal). A found subscription reads as "look what we found", not "warning".

Anti-example

"Monthly recurring expenditure: $247.83." (finance-speak, exposure framing). "You wasted $215 this year on things you never use." (judgment, shame). "Warning: unexpected charge." (alarm, not reveal).

Why (from the data): master-research.md Q2 ("Present it as 'what you have signed up for' ... The framing of control vs. exposure makes a real psychological difference"); jtbd.md E1 ("every screen must be judgment-free. No red ... presented as discovery, not audit"); ux-patterns.md BP3 ("surface surprises as positive discoveries ('look what we found') ... a reveal, not an alert").

Principle 4

Earn trust by naming the fear and answering it with specifics

At every money-and-data moment, say plainly what Tendd does and does not do, in a precise and falsifiable way, before asking for anything. Name the fear the person actually has and answer it with a specific fact. Vague reassurance is worse than none, because it makes the person ask why you needed to say it.

Example

"Read-only. Tendd cannot move your money." (home summary strip). "Here is exactly what we do. We read your recurring charges, read-only. We can never move your money. Powered by Plaid." (connect-bank). "No account numbers, no bank details, and no list of your exact subscriptions. Only what you see above." (share-snapshot).

Anti-example

"Bank-level security." (vague, names no fear, falsifies nothing). "We take your privacy seriously." (generic reassurance that backfires).

Why (from the data): benchmark-trust.md Mechanism 2 ("vague reassurances trigger more anxiety than no reassurance at all ... a specific, direct statement that names the fear ... is processed as evidence of honesty"); personas.md, Ravi (scared off by "Vague language like 'bank-level security' without specifics"); CLAUDE.md, Target Audience ("earned through transparency and design, not just claimed"); Apple Card's "No fees. Not even hidden ones." works because "it is a precise, falsifiable claim" (benchmark-trust.md).

Principle 5

Mark the small win with a number and a next step, then stop

The moment a person catches or cancels a subscription is the product's most important emotional beat, so it is named, but quietly: state the fact, the specific amount, and the next step, and then stop. Tendd does not celebrate at the person, does not use confetti tone, exclamations, or a generic success toast. A total is never a standalone reveal; it always sits next to what to do about it.

Example

"You just cancelled Netflix and freed up $17.99 a month. That is $215.88 a year back in your pocket." (cancel-win). "That is $192.90 a month. Here are 2 you might not be using: Peloton App and The New York Times." (guided-reveal, total paired with an action).

Anti-example

"Congratulations! You're crushing it! [confetti]" (celebrates at the person). "Success! Subscription cancelled successfully." (empty toast, no number, no next step, and the forbidden word "successfully"). A dramatic monthly total shown alone, with nothing to do about it.

Why (from the data): jtbd.md E2 ("not a generic success toast but a moment with specific numbers"); personas.md O7 and Emma mood quote (the win as "a little pay raise", "the mental relief of knowing I'm not bleeding cash ... was priceless"); strategy.md D1 ("The total is NOT presented as a dramatic culmination ... The exposure serves calm, not shock").

2. Dictionary

One concept, one word. Every choice below resolves a discrepancy flagged in microcopy.md (the D-numbers). The terms come from the persona's plain language and the research, not from finance-speak. When a screen currently uses a different word, the word here wins.

Address and style rules (apply to every line)

One concept, one word

ConceptUseNotWhy
The thing being tracked subscription thing, item The word the person recognizes; "14 things" is vague. (D5)
A preset in the 400+ catalog service subscription (before it is added) A "service" is what you pick from the list; it becomes your "subscription" once added. The two words are allowed to differ because they name two states of the same object. (D5)
The raw bank pattern before it is named recurring charge transaction, item What Tendd reads from the bank before it is matched to a service. (D5)
Where the list comes from source account "Your sources" covers both a connected bank and your manual entries. (D6)
The Plaid bank link specifically connection (bank connection) (do not use "connection" for manual entries) Reserved for the technical bank link, so "source" and "connection" stay distinct. (D6)
Choosing to add by hand instead of a bank Add them yourself Add manually, Add it yourself This is the method that pairs with "Connect your bank" on the fork. (D1)
The affordance to add one subscription Add a subscription + Add subscription, Add manually The entry point on Home and empty states. (D1)
The form button that commits the entry Add subscription Save, Done, Add it The submit on the add form. (D1)
Connecting a bank (the action) Connect your bank Choose your bank, Connect a bank "your" is personal and plain, and it reads the same on every screen. (D2)
Returning to the main list Back to your subscriptions Back to Home, Back to my list, Done back to my list Plain money language over the nav label, in second person. The Home tab keeps its nav label "Home"; the descriptive button says where you land. (D3)
Seeing the list after adding See your subscriptions See my list, See my full list Second person. (D3)
Retrying after an error Try again Try the list again One label for error recovery. A specific verb is allowed only when the action is a named re-run, not a generic retry: "Check again" (re-poll for charges), "Search again" (re-run a search). (D4)
The read-only safety line Read-only. Tendd cannot move your money. Read-only, cannot move money; bank-level security Fixed line: the fact leads, the actor is named, the claim is falsifiable. Inside a sentence where Tendd already speaks as "we", use "we ... cannot move your money" with the same verb. (D7)
The bank-data service through Plaid Powered by Plaid, via Plaid The plainest preposition; "Powered by" is badge-speak. (D8)
The headline number monthly total recurring spend, recurring expenditure, recurring money "total" avoids the spending frame (Principle 3). "recurring money" is allowed only as a marketing phrase on the landing, never as the number's label. In the trends view prefer "total" over "spend". (D9)

3. Forbidden

What Tendd never writes, each with the fix. The "was" column is either a line currently in the wireframes (flagged in microcopy.md) or the straw-man pattern the research names as the thing to avoid. This list is the default that otherwise creeps back in with every new prompt: hype, exclamations, and empty praise are the model's reflex, so they are banned by name.

NeverWas or patternWrite insteadWhy
Generic or AI error copy Something went wrong, Oops, something went wrong "We could not load your alerts." Name who and what (Principle 2).
The word "success" or "successfully" Subscription cancelled successfully "You cancelled Netflix." State the fact, not the system's satisfaction (Principle 5). None ships today; banned going forward.
Praise interjections, celebrating at the user Nice., Great!, Congratulations!, You're crushing it! Go straight to the fact and the number: "You cancelled Netflix and freed up $17.99 a month." The win is the person's, not Tendd's applause (Principle 5). Resolves D12: the cancel-win opener "Nice." is dropped; the quiet header "A small win" stays, because it frames the moment without cheering.
Performative emotion prompts Feeling good about it? (cancel-win) "You can share a simple card. No bank details, ever." Do not narrate the person's feelings back to them (Principle 5). Resolves D12.
Exclamation marks in product copy All done! "All done." Calm is declarative (Principle 1). The set ships with zero today; keep it zero.
Emoji in product or system copy Saved with a party emoji Plain text only. Calm, and never in a system message (Principle 1).
Motivational or hype tone Take control of your financial life, start your journey "See what you're paying for. Calmly." Capability-and-hype is the competitor pattern Tendd stands apart from (Principle 1).
Finance jargon and exposure framing Monthly recurring expenditure, "how much you spent", "what you wasted", "optimize your spending" "monthly total", "what you have signed up for" Exposure framing is what the person avoids (Principle 3).
Alarm framing Warning: unexpected charge, red urgency "We noticed something about your Adobe charge." A reveal, not an alert (Principle 3).
Vague reassurance bank-level security, "we take your privacy seriously" "Read-only. Tendd cannot move your money." Vague reassurance raises anxiety; specifics read as honesty (Principle 4).
Passive voice with no actor Payment declined, "A price change was detected", "Sync error" "A payment to Amazon Prime did not go through.", "Netflix went up by $2.50." Say who did the thing (Principle 2).
Gerund-plus-ellipsis or generic loaders Loading services..., Creating your card... "Getting the list of services. This usually takes a moment." Resolves D10; the full loader rule is in the Microcopy section (Step 4).
First person in Tendd's own labels Back to my list, See my list "Back to your subscriptions", "See your subscriptions" Tendd addresses the person as "you" (address rule; D3, D11).
"thing(s)" for a subscription You are subscribed to 14 things "You're paying for 14 subscriptions" Use the dictionary word (D5).

4. Microcopy

The last section, and with it voice.md is complete: from here every line of the product is written and checked against this file. These are the rules by element type and by state tone. Each rule carries one real Tendd example, and each obeys the Principles, Dictionary, and Forbidden sections above. Sourced against the screen and state inventory in wireframes/docs/screens.md.

By element type

Button. A verb that shows the result, in the dictionary's words. Never "OK", "Next", "Submit", "Done".

Yes

Connect your bank, Add subscription, Cancel this subscription.

No

OK, Continue (says nothing about what happens).

Screen heading (one h1 per screen). Names the place in plain dictionary words, not a slogan and not an instruction. A detail screen uses the subscription's real name.

Yes

"Your trends", "Data and privacy", "Netflix" (on its detail).

Exception

The onboarding chain may ask a question as its heading, because it is a step, not a place: "How do you want to start?" (path-choice).

Summary strip and the headline number. The biggest thing on the screen: a count and a total in plain context, framed as what you have signed up for, never as exposure. The number never stands alone; on Home it carries a context line, in the reveal it is paired with an action (Principle 3, Principle 5).

Yes

"You're paying for 14 subscriptions" / "$192.90" / "a month, for what you have signed up for".

No

A bare "$192.90" as a dramatic reveal; "Monthly expenditure: $192.90".

Form field. The label says what to enter; the hint says how, with a real example; the validation error says exactly what to fix, with no blame.

Yes

Label "Next payment date", hint "For example, Aug 3, 2026". Validation: "Enter an amount, like $9.99".

No

Label "Input", hint "Required", error "Invalid input".

Alert line (J4). Active voice, name who did the thing, plain language, no alarm. The title is the plain-English event; the context line adds who and when; the action says what to do (Principle 2, Principle 3).

Yes

"A payment to Amazon Prime did not go through" / "Payment failed · Amazon Prime · It usually tries again in a day or two" / "What to do".

No

"Payment failure detected" / "Warning".

Trust line. The fixed safety sentence wherever money or data is touched: fact first, actor named, falsifiable. Never vague (Principle 4, Dictionary D7).

Yes

"Read-only. Tendd cannot move your money."

No

"Bank-level security", "Your data is safe with us".

Status tag. One plain word or short phrase for a state, from a fixed small set, no punctuation, no sentence.

Yes

"Active", "Trial", "Cancelled", "Connected", "Reconnect needed", "Pro", "Free", "Best value".

No

"Active!", "This subscription is currently active".

Pro gate and upsell. State what Pro adds and why it is relevant here, in one calm line tied to the context, and make it dismissible. One offer, never a nag, and never across the relief moment: cancelling stays free (strategy section 4, the Emma-problem upsell ban).

Yes

"History and trends are part of Tendd Pro." with "Maybe later" always present.

No

"Upgrade now!", a Pro wall on the cancel step, repeated prompts.

By state tone

Empty. Say why it is empty and give the way out. Never a bare "nothing here"; every empty page has a real action into a flow.

Yes

"Nothing here yet" / "See everything you pay for in one calm place." / "Connect your bank" / "Add a subscription" (home-empty).

No

"No data", with no action.

Error. Say what happened and what to do, name who, and if it is a money screen, reassure that the money itself is fine. No apology, no joke. Keep the last known data visible where it exists.

Yes

"We could not refresh just now. Showing your last update from today, 9:14 AM." / "Try again" (home-error). "Nothing is wrong with your money, we just could not reach your alerts right now." (alerts-error).

No

"Oops! Something went wrong.", a blank error page that drops the list.

Loading. One calm sentence naming what is loading, ending "This usually takes a moment." Skeleton placeholders carry the shape. No spinner-only screen, no gerund-plus-ellipsis, no bare "Loading...". This is the single loader pattern; it retires "Loading services..." and "Creating your card..." (Dictionary D10).

Yes

"Getting your subscriptions. This usually takes a moment." (home-loading).

No

"Loading services...", "Creating your card...".

Success. The normal populated view is the success; it states the result and does not celebrate (no toast, no "Success"). The one dedicated success screen, Cancel Win, names the fact, the specific amount, and the next step, then stops (Principle 5).

Yes

Steady: the populated Home list, no announcement. The one celebration: "You just cancelled Netflix and freed up $17.99 a month. That is $215.88 a year back in your pocket."

No

"Success!", "Nice.", "Cancelled successfully".

Dangerous action. Before the tap, say plainly what will happen and what cannot be undone; the confirm button names the action, and a step-back option sits beside it. Destructive actions are never one tap. A reversible action is framed calmly and says so.

Yes (irreversible)

"This deletes your subscriptions, sources, and account. It cannot be undone." / "Delete everything" / "Keep my data" (data-privacy).

Yes (reversible)

"you can always resubscribe later" beside "Cancel this subscription" (cancel-guide).

No

A one-tap "Delete" with no warning; "Are you sure?" with an "OK" button.

voice.md is now complete. Steps 5 to 7 apply it: rewrite Home and its states as the sample against these rules, roll the rewrite out to every remaining screen by subagent, then verify the whole set and update microcopy.md so no product line ships outside the table.

Note on competitor microcopy (scope of the sources)

The research holds competitors' real marketing and tagline language (enough to establish that everyone sells capability and nobody sells calm, which grounds Principle 1). It does not hold competitors' in-product UI strings (buttons, errors, alerts): app interiors are marked "[? behind login]" throughout. The anti-examples above that are not attributed to a named competitor are the straw-man patterns the research itself names as what to avoid ("a price change was detected", "sync error", "something went wrong"), not captured competitor UI. If side-by-side microcopy contrasts are wanted later, live competitor copy would need to be fetched and added to research as its own section.