← All press kits Voice

The Voice at the Counter

How Cue talks at the moment of payment , warm, specific, quiet, occasionally wry enough to get a forgotten Starbucks card out of your junk drawer or the four classes left on a yoga pack into your week. Every line of copy was written against one test: would a real person say this to a real friend? The voice of a wallet that's helping you make a better micro-money decision, not selling you the decision.

The one-sentence version

Cue's voice is the helpful friend who notices: occasionally with a raised eyebrow, never the pushy salesperson who sells. That distinction was designed before the first screen shipped, and it's the reason a gentle nudge like "This card has been waiting longer than most streaming subscriptions survive" gets you to the counter where a "Don't forget!" wouldn't.

~270 lines · Copy.swift · notification templates · 8-language localization · wry nudges, earned Read the white paper →
TOO CORPORATE Don't miss out on savings! Open the app to see your personalized offers → (user deletes the app) TOO CHIRPY Heyyy gift-card buddy! 🎉 You're SOOOO close to Target!! Let's GO!! 💸✨ (user mutes the app) CARDCUE Target · $50. You're right here. (user redeems the card) THREE RULES 1. Warm, never chirpy. Say it like a friend who respects your time. 2. Seven-word sentences. The lock screen is read in a glance. 3. Never apologize for being quiet. Speak only when speaking earns its keep.
Copy is architecture, not decoration. A wallet that lives on the lock screen needs a voice the user would miss if it stopped talking.

1. The premise

Most apps use copy as decoration, the part you write last, in a rush, during launch review. Cue used copy as architecture. A gift-card wallet lives on your lock screen. It speaks to you without being asked. That is an enormous privilege, and an enormous risk.

An app with a pushy voice gets deleted. An app with a silent voice gets ignored. Cue had to find a third thing, a voice a user would miss if it stopped talking, and would never feel sold to by.

There's also a physics reason the sentences are short. CardCue Pro is built against the Right-Moment Doctrine , the rule that the entire lifecycle of a gift card (scan it in, read the cue that the right moment has arrived, open Show-at-Register and pay) should cost almost none of the user's attention. Right-moment UX demands seven-word sentences. "Target is right here." "$47 on this card." "Tap to show the cashier." That voice isn't aesthetic, it's ergonomic. Long copy fails on a lock screen at 2pm on a Tuesday; short copy is legible at a glance, parseable while walking, and fast to read aloud through VoiceOver. The tone and the timing are the same decision, and the goal is the same feeling: effortless, task done, no thinking required.

2. Three rules

Every line of copy in CardCue Pro, every button, every notification, every error, every onboarding screen, every paywall, passes through three rules:

Warm

Never robotic, never corporate, never "we" language where a plain sentence would do. If a line could have been written by a Terms of Service, we rewrote it.

Specific

Name the card. Name the amount. Name the moment. Vague nudges ("You have cards nearby") are noise; specific ones ("Target · $47 · you're a block away") are help.

Quiet

No exclamation points. No "!", no "🎉", no ALL CAPS, no countdown timers. Cue never celebrates itself on your lock screen. The loudest moment in the app is a punch card completing, and even that gets one haptic and seven words.

Quietness here isn't a personality trait; it's a product commitment, what we call the Right-Moment Engagement Thesis. The wallet is quiet by default. It does not beg for opens, stack up red badges, or fire push notifications to hit a weekly-active number. It waits. At the exact right moment (on foot, waking hour, within 500m of a store, card unused recently, weather OK), it speaks once. The app will not speak until it has earned the right to, and when it does, the voice above is what comes out.

"Would a real person say this to a real friend? If no, we rewrote it."

Three rules, one test. That's the baseline. There's a fourth dimension the rules hint at but don't quite name, the dry, observational wry that shows up when the data has earned it. We'll get to that in §4. First, the list of things we refuse to let the app say at all.

3. What Cue never says

The anti-list is as important as the rules. A voice is shaped as much by what it refuses as by what it produces. Cue's banned phrases:

  • "Don't miss out!"
  • "Hurry!" / "Limited time!"
  • "Unlock your potential"
  • "We think you'll love..."
  • "Tap to learn more"
  • "Discover..."
  • "Enhance your experience"
  • "Something went wrong" (anonymous failure)
  • "Are you sure?" (the user is, say what actually happens)
  • Any notification without a noun in it

When we catch one of these in review, the line is rewritten, not softened. The vocabulary itself is the pattern to break.

4. The wry gear: motivation through the observation a friend would make

The three rules set the baseline voice: warm, specific, quiet. But the best moments in the app have a fourth quality the rules don't quite capture, a dry, observational honesty that lives in the thin air between polite and pushy. Call it wry. Call it the tone a friend takes when they've watched you carry a full gift card around in your wallet for ten months and have opinions.

This is the gear that turns a reminder into action. Plain reminders are easy to dismiss; reminders that notice are not.

The cheerful reminder
"Hi! You have an unused Starbucks card. Don't forget to use it! ☕"
Easy to dismiss. No stake. Could be any app.
CardCue Pro, with a raised eyebrow
"Starbucks · $27 · been hiding in your wallet since February. It's not earning interest."
Warm, specific, quiet, and honest about the absurdity of the situation. Hard to dismiss because it's true.

When the wry gear engages: three rules about the fourth rule

  1. The user has to have earned the observation. We don't roast a card that was scanned yesterday. We wait until the data actually makes the joke land, balance ignored, expiration creeping up, the card quietly becoming wallpaper. If the observation isn't true yet, the line doesn't ship yet.
  2. It's never at the user's expense. The target is always the situation, never the person. "This Bath & Body Works card is doing hard time in your drawer" is about the card. "You've let this card sit there" is about you. We ship the first. We don't ship the second.
  3. It has to read well out loud. If VoiceOver reads it and it lands, it ships. If it sounds passive-aggressive at 8am through the Watch, or if a translator can't carry the dryness into Spanish or Japanese without it turning mean, the line gets a neutral variant and the localized versions get their own joke.

The shipping examples

  • Expiring soon: "Baskin-Robbins · free scoop · expires in 5 days. The ice cream does not wait."
  • Haven't-used-in-a-while: "Your In-N-Out Award of Excellence has been aging gracefully for 94 days. Today would be a good day."
  • Drawer detection (quiet zone with a spendable card): "Staples · $25 · still doing nothing. Your home office agrees."
  • Card finally spent: "Starbucks, paid. Retirement well earned."
  • The punch card that won't finish: "7 of 10. Three coffees between you and free coffee. The math is doable."

A short story about why this works

One of Cue's early test users had a Visa gift card from a birthday nine months before. She'd scanned it the day she got the app, then forgot about it, the same way she'd forgotten the physical card. On day 284 the app sent:

"Visa · $75 · nine months in, this card has been waiting longer than most streaming subscriptions survive. You're driving past Target right now."

She spent it that afternoon. The note that moved her was not "DON'T FORGET!!!". It was one dry observation a real friend might have made if they'd been keeping track. That small, honest reality-check is the engine behind a startling share of the app's win moments, the ones where a user actually walks into a store and redeems a card they'd forgotten about.

The motivation isn't the push. It's the noticing. A chirpy reminder assumes the user needs to be hyped up; a wry observation assumes the user is an adult who will respond to the truth when it's pointed out kindly. Most users, it turns out, would rather be trusted than cheered at.

"Nagging assumes the user forgot. Wry assumes the user already knows, and just needed someone honest to say it out loud."

5. Notification voice: the hardest surface

A lock-screen banner is the most expensive sentence in the app. It arrives when the user didn't ask. It gets judged in one second. Most apps treat this as an opportunity to market; CardCue Pro treats it as an obligation to be useful.

The competition
"Don't forget your gift cards! 💳"
No noun. No number. No location. No reason.
CardCue Pro
"Starbucks $27.38 · expires Friday"
Card, balance, stake. 28 characters. Every word earns its place.
The competition
"You have a new alert"
A notification about a notification.
CardCue Pro
"Target · walk 3 min · card has $50"
Where, how far, how much. A decision in one glance.

6. Error messages: never blame the user

An error is a handoff, not a dead end. Cue's error voice takes responsibility, explains what actually failed, and offers the next move, in one short sentence.

Generic SaaS
"Something went wrong. Please try again."
No information, no agency.
CardCue Pro
"Couldn't read the back of this one. Try a sharper photo, more light, or add it by hand."
What failed, what to try, and an escape hatch.

Every error has three required fields: what, why, next. If a developer can't fill all three, the error doesn't ship.

7. Empty states: invitations, not apologies

Most apps treat "empty" as a bug and apologize for it. CardCue Pro treats empty as a moment, the user hasn't done the thing yet, so show them the thing.

Apology
"No cards yet. Add one to get started."
CardCue Pro
"Your first card fits in one photo."
An invitation, a proof point, a promise about the app, in seven words.

Same pattern for every empty surface: Quiet zones ("Places CardCue Pro should stay silent. Home is a good first one."), No expiring cards ("Nothing expires in the next 30 days."), Family ("Share cards that are already shared, the Sam's Club, the Amazon, the one from grandma.").

8. Celebration voice: earned, not performative

When a punch card completes, the user has done the work. Cue doesn't take credit for it. The celebration is a single well-timed haptic, a small confetti flourish, and one line:

"Free coffee. Enjoy it."

No "🎉 Amazing! You did it!", no ranking, no streak counter to push you into another one. The app notices the win and gets out of the way. That's the moment users tell friends about.

9. Onboarding: teach, don't sell

Four screens. No account required. No email request. No "Let's set up your profile." Cue's first screen is a scanner viewfinder with one sentence underneath it:

"Point at a gift card. We'll do the rest."

No selling the app the user already installed. No feature tour. Permissions are requested inline, in the moment they're actually needed, not in a pre-ask screen that pretends to "prepare" you.

10. The paywall: honest, specific, unembarrassed

Most paywalls are psychological warfare. Cue's paywall is a bulleted list and a price. No "Most Popular!" badge. No countdown timer. No red sale text. No fake scarcity. The copy is a statement, not a pitch:

Psychological paywall
"🔥 Limited time! Save 30%! Join 1M+ users! Most popular plan! Don't miss out!"
CardCue Pro
"CardCue Pro is free for 3 cards. Pro unlocks unlimited, iCloud backup, and the Apple Watch app. Change or cancel anytime in Settings."
What you have, what you get, how you leave. No red text.

11. Files of record

FileRole
Services/Copy.swiftEvery user-facing string in the app. No scattered string literals allowed in views.
Services/NotificationTemplates.swiftTyped templates for every notification surface so a rogue string can't ship
Services/WryNudgeLibrary.swiftConditional wry-gear lines, keyed by data signal (days-since-use, days-to-expiry, quiet-zone hit, card-finally-spent). Each has a neutral fallback for locales where the dryness doesn't translate.
docs/CopyStyleGuide.mdThe three rules + the wry gear, the anti-list, worked examples, sent to every translator
Localization/*.strings8 languages. Voice brief attached to every handoff.
Views/Onboarding/*.swiftFour screens. No account gate. No email request.
Views/Paywall/PaywallView.swiftOne list. One price. No psychological tricks.

12. Why personality matters

Apps with personality survive the first week. Apps without it get filed in "Utilities" and quietly forgotten, right next to the calculator and the flashlight. A wallet that speaks, and speaks well, becomes the app a user opens on purpose, not just when forced to.

Cue's voice is not a layer painted on top. It's the architecture. It lives in Copy.swift, in the typed notification templates, in the banned-phrase list on our review checklist, in the wry-nudge library with its conditional data triggers, in the localization briefs that go to translators with a separate "how to carry the dryness into your language" appendix. It is load-bearing.

The payoff: a notification that feels like a note, not a pitch. An error that reads like a handoff, not a shrug. A paywall that respects the reader enough to just tell them the price. A nudge that makes you laugh a little and then, because it's also true, makes you actually spend the card. The long compounded effect is a relationship. The user doesn't feel marketed to, because they aren't. They feel noticed, because they are.

"The wallet isn't selling you anything. It's just the friend with slightly better memory than you, noticing the things you meant to do."

CardCue Pro, by Pika Product Lab LLC. Voiced by a writer, not a growth team. Every line passed through the rule: would a real person say this, to a real friend, at this exact moment? If yes, it shipped. If it was also a little funny, and the data had earned the joke, it shipped faster.

Follow CardCue Pro