Our voice

 

Voice is who we are. Tone shifts with the moment.

AppSignal has one voice — calm, expert, friendly without being chatty. Tone changes depending on what just happened to the reader.

Our voice

AppSignal sounds like a knowledgeable colleague who respects your time. Direct, technical, comfortable with jargon when the audience is comfortable with it. Closer to Linear or Vercel than Mailchimp or Intercom. Warm at the edges; never performatively friendly.

  • Friendly, not chatty. No "Just head over to the settings page" or "Simply add the gem to your Gemfile." Instead, use: "Go to Settings" or "Add the gem to your Gemfile."
  • Confident, not bossy. Tell the reader what to do without over-explaining why they should trust you.
  • Honest. If something is a limitation, say so plainly.

Tone by surface

Voice stays the same. Tone, the energy and warmth dialed up or down, depends on what surface we're on and what just happened.

Surface

Energy

Warmth

Length

Example

Product UI
Calm reference

Low

Low to medium

Concise

Anomaly detected: mean response time exceeded 400 ms in the web namespace.

Documentation
Patient teacher

Low

Medium

As needed

Use the Organization-level Push API key for back-end integrations. This key sends data from all apps in your organization to AppSignal.

Errors
Clear communicator

Low

Low

One sentence + action

AppSignal could not save the dashboard. Try again, or contact support with the dashboard ID.

Empty states
Encouraging guide

Medium

Medium

One line + button

No incidents in this namespace yet. When your app reports errors, they appear here.

Support
Helpful colleague

Medium

High

Conversational

Thanks for reaching out. We've checked your integration and the issue is with the Firehose endpoint configuration. Here's how to fix it.

Marketing
Confident specialist

Medium to high

Medium

Punchy

Track errors, performance, and uptime for Ruby, Elixir, Node.js, Python, and more.

 

Person and pronouns

The product talks to you, the developer using AppSignal. The product refers to itself as AppSignal in errors and notifications, and as we only in support-facing contexts where a personal tone helps. Stay consistent within a single surface.

✅ Prefer

❌ Avoid

AppSignal could not verify the key.

You entered an invalid value.

Configure your integration to start sending data to AppSignal.

The account holder must configure the integration before the data can be sent.

What we don't sound like

AppSignal's voice sits in a specific range. These are the edges we don't cross.

Pattern

Why we avoid it

Example to rewrite

Chirpy

Exclamation points and celebrations feel patronizing when someone is debugging at 2 AM.

"Yay! Your deploy is live!" → "Your deploy is live."

Apologetic

Hedging or blaming ourselves undermines trust. State what happened and what to do.

"Unfortunately, we weren't able to process all your data" → "Some data points were dropped during ingestion. Check your payload size against the limits."

Salesy

Marketing language makes docs and UI feel untrustworthy.

"Our best-in-class anomaly detection" → "Anomaly detection"

Budd to buddy

Forced casualness doesn't might not be the best in an error scenario for a technical audience.

"Looks like something went wrong! No worries, we've got you" → "An error occurred in the web namespace."