Content

Voice and tone

Flatpay sounds like an operator who's been in the room — warm, direct, unfussy. The voice doesn't change. The tone does.

Documentedby Derek Fidler

Voice

Voice is what stays the same. Three words to come back to whenever a sentence starts to drift.

Voice 01

Warm

Like the email a colleague sends, not the one Legal sends. We address the user. We use contractions. We don't apologise for being software.

We saved your draft. Pick it up whenever.

Voice 02

Direct

Lead with the thing. No throat-clearing. No 'Welcome to'. No 'We're excited to'. The sentence that matters comes first.

Card declined. The bank flagged it as a duplicate.

Voice 03

Unfussy

No marketing hedging, no acronym soup, no sentences that could appear on any other SaaS homepage. If a word is doing decoration, cut it.

One rate. No fine print. Daily payouts.

Tone

Tone is voice under pressure. The same operator sounds different congratulating a builder on shipping a prototype than they do explaining why a payment was declined. The voice stays warm-direct-unfussy; the dial that moves is register — how formal, how brief, how careful.

The tone matrix

Six situations the product hits every day. The right column is what each one tends to drift into when nobody's watching.

  • Confirmation

    Brief. Past tense. No exclamation marks.

    Yes

    Saved.

    No

    Successfully saved your changes!

  • Instruction

    Imperative. One sentence. Subject is the user, not the system.

    Yes

    Connect a GitHub repo to start syncing manifests.

    No

    In order to begin syncing, please connect a GitHub repository.

  • Error

    Specific. Calm. Names what failed and what to do next.

    Yes

    That repo is private to another user. Ask them to add you, then try again.

    No

    An error occurred. Please contact support.

  • Empty state

    Patient. Tells the user what shows up here, and how the first one gets there.

    Yes

    No prototypes yet. Run pnpm flatpay new in your repo to register one.

    No

    There's nothing here yet.

  • Marketing

    Conversational opener. Plain-language reassurance. A little dry.

    Yes

    Running a business isn't easy. But getting paid? That part's on us.

    No

    Empower your business with next-generation payment infrastructure.

  • Destructive

    Honest about what happens. Names the consequence in the verb.

    Yes

    Killing a prototype removes its registry entry and hides it from the catalog. The repo isn't touched.

    No

    Are you sure? This action cannot be undone.

Patterns we keep

Side-by-sides from the product. The right column isn't necessarily wrong on its own — it's wrong for Flatpay.

Notification on a successful payout

Yes

€ 1.234,56 landed in your account this morning.

No

Great news! Your payout has been successfully processed and deposited.

Lead with the number — that's why the user opened the notification. The good version is one sentence, in past tense, with no celebration.

Error on a failed card

Yes

That card has expired. Add another, or use the bank account on file.

No

We're sorry, but there was a problem processing your payment. Please try again later.

Specificity beats apology. Name what failed and offer the next two moves; don't ask the user to come back later for a problem they can solve now.

Empty state on a new prototype

Yes

No commits yet. Push to main and we'll pull in the first manifest within a minute.

No

It looks like your prototype doesn't have any commits. Once you push code, this section will populate.

The good version teaches the system. It says what triggers the change, what arrives, and roughly when. No 'It looks like'. No 'Once you push code'.

Confirmation modal on archive

Yes

Archive moves the prototype to the archived list. You can restore it any time.

No

Are you sure you want to archive this item? This action will hide the prototype from your active list.

Tell the user what the verb does. 'Are you sure' is a flinch — it asks the user to be the safety net for a UI that should be the safety net itself.

Words we don't use

A short list. Each one is a tell — the word a generic SaaS product reaches for when it can't explain what it does.

  • Empowerverb-as-vibes; nobody empowers anybody
  • Unlockimplies effort the product wants you to take credit for
  • Superchargesee also: turbocharge, hypercharge
  • Transformwe change something specific or we say nothing
  • Next-genalways lying about something
  • Seamlessif it really were, you wouldn't need to say so
  • Effortlesslysee seamless
  • Robustlazy synonym for works
  • Cutting-edgeby the time it's in the copy, it isn't
  • Solutionsay what the thing is
  • Welcome to…skip the welcome, lead with the work
  • We're excited to…the user isn't here to share your feelings

A useful test

Read the sentence aloud. Could it appear on any other fintech homepage? Could a colleague have written it in a Slack message at 4pm on a Tuesday? If the answer to the first is yes and the second is no, rewrite it.

When ALL CAPS earns its place

The brand voice has one signature flourish: short, declarative ALL-CAPS labels. They earn their place when they're short enough to read at a glance, and when they're saying something the rest of the page can't. Reserved for marketing surfaces, eyebrows, and the page H1.

Earns it

  • Bye bye fees — short, opinionated, the page H1.
  • Daily payouts — a hero sub-line on a marketing surface.
  • Foundations · Iconography — the eyebrow on a docs page.

Doesn't earn it

  • Click here to get started — too long, shouts at the reader.
  • Important: please read — capital letters as a substitute for actual emphasis.
  • All your prototypes in one place — product copy that should be sentence case.

Page history

1 revision
  1. Documented
    Derek Fidler@derekfidler

    First documented version. Three voice principles, tone matrix, and a glossary of words we don't use.