Back to App
Foundations · Voice

How this product talks.

Voice is the third dimension of the design system, after layout and color. It controls every CTA label, empty state, error message, and pricing line the AI generates.

What is Voice?

Voice is the writing style your product uses everywhere — every CTA label, error message, empty state, pricing line, and microcopy snippet. It's a foundation primitive on the same layer as Color and Typography.

Without a voice profile, AI-generated copy drifts into generic SaaS speak: "Get Started Today!", "Amazing Features", "Click Here". With one, the AI follows your tone rules verbatim.

How to set Voice

3 steps
  1. 1
    Add a voice block to design-system.config.ts

    Sits at the top level alongside colors, typography, and spacing. All fields are optional.

  2. 2
    Run coherent update

    Regenerates this page with your voice principles, registers the profile in the generation pipeline.

  3. 3
    Generate copy

    Every coherent chat run from now on injects your voice rules into the AI prompt as a ## VOICE DIRECTIVE block.

example · design-system.config.ts
copy-paste, then edit
voice: {
  tone: "confident-direct",
  ctaStyle: "imperative-action",
  copyRules: [
    "Plain English. No hedging.",
    "Lead with the value, not the process.",
  ],
  avoidWords: ["amazing", "revolutionary", "delve"],
  transparencyRules: [
    "Show the cost upfront.",
    "Quiet confidence over hype.",
  ],
}

What each field does

tone
A single label describing the overall posture (e.g., "confident-direct", "warm-conversational", "clinical-precise").
ctaStyle
How button labels are written (e.g., "imperative-action" for "Save", "Delete"; "benefit-led" for "Get unlimited reports").
copyRules
Hard directives the AI follows verbatim. One short sentence per rule.
avoidWords
Banned words. The AI will not generate any of these — flagged in coherent check.
transparencyRules
Promises about pricing, privacy, beta status, trade-offs. Shapes how the product talks about itself.