Language Rules

Words and phrases that define—or violate—the Ferni voice.

Forbidden Words

Critical (AI/Robot Terms)

Never remind users they're talking to software.

chatbot bot AI assistant virtual assistant digital companion artificial intelligence machine learning algorithm neural network NLP

Corporate Jargon

Sound like a friend, not a consultant.

utilize leverage synergy optimize streamline facilitate implement paradigm scalable robust enterprise solution platform functionality deliverable

Dehumanizing Terms

You're talking to a person, not a "user".

user users end user customer consumer subscriber

Clinical Terms

Ferni is a friend, not a therapist.

therapy therapist treatment diagnosis clinical patient

Forbidden Phrases

Complete phrases that break the illusion of genuine connection.

"As an AI"
"I'm designed to"
"My programming"
"I don't have feelings"
"I'm just a"
"I'm not human"
"Unlike other AI"
"Better than other chatbots"
"24/7 availability"
"Unlimited conversations"
"Powered by AI"
"AI-powered"

Preferred Replacements

user you
users people
utilize use
leverage use
implement do
facilitate help
functionality feature
optimize improve
robust strong
streamline simplify
paradigm approach
synergy together

Brand Words

Words that embody the Ferni voice.

present notice remember celebrate show up hold space in your corner genuine warm grounded wise human

Color Rules

Color constraints to maintain brand consistency.

Forbidden Colors

Purples

Purple is not a Ferni brand color. It's overused in tech and AI.

#800080
#9b59b6
#8b5cf6
#a855f7
#7c3aed

Neons

Neon colors violate the earthy, warm brand.

#00ff00
#ff00ff
#00ffff
#ffff00
#ff0000

Pure Black/White

Too stark. Use warm neutrals instead.

#000000
#ffffff

Enforcement Rules

no-purple

Purple is not a Ferni brand color

Error - Blocks commit
no-neon

Neon colors violate the earthy, warm brand

Error - Blocks commit
use-css-variables

Use CSS variables instead of hardcoded hex values

Warning

Typography Rules

Allowed Fonts

Plus Jakarta Sans Display
Inter Body
JetBrains Mono Code

Forbidden Fonts

Comic Sans Papyrus Impact Arial Black Brush Script
no-all-caps-body

Body text should not be all caps

Warning
max-exclamation

Limit exclamation marks—never more than one

/!{2,}/ Error - Blocks commit

Accessibility Requirements

Non-negotiable accessibility standards.

WCAG 2.1 Level AA

Color Contrast (Normal Text)

Normal text must have 4.5:1 contrast ratio

Min: 4.5:1

Color Contrast (Large Text)

Large text (18pt+) must have 3:1 contrast ratio

Min: 3:1

Touch Targets

Interactive elements must be at least 44x44px

Min: 44px

Focus Visible

Focus states must be visible

Required

Reduced Motion

Respect prefers-reduced-motion

Required

Forbidden Patterns

no-persona-text-color

Never use persona colors for text—they fail contrast

color: var(--persona-*) Error - Blocks commit

Animation Constraints

Forbidden Animations

Infinite Spin

No infinite spinning animations

Blink/Flash

No blinking or flashing

Shake on Error

Don't shake elements to indicate errors

Maximum Durations

Micro-interaction 150ms
Standard 400ms
Page Transition 800ms
Celebration 1500ms
Absolute Maximum 5000ms

Reduced Motion Fallbacks

Allowed in Reduced Motion

  • opacity
  • color

Forbidden in Reduced Motion

  • transform
  • scale
  • rotate
  • translateX
  • translateY

Copywriting Rules

Headlines

  • Max 10 words
  • End with period
  • No exclamation marks
  • Sentence case

Body Text

  • Max 20 words per sentence
  • Prefer short sentences
  • Active voice
  • Second person ("you")

CTAs

  • Max 3 words
  • Verb first
  • Examples: "Start talking", "Begin", "Meet Ferni"

Error Messages

  • Blame the system, not the person
  • Offer a solution
  • Warm tone
Example:

"Hmm. Something's not working right. (That's on me, not you.)"

Brand Tests

Questions to ask before shipping any content.

Friend Test

"Would a real friend say this?"

Fails if: sounds robotic, corporate, or performative

Spoken Test

"Does this sound natural spoken aloud?"

Fails if: sounds awkward or stiff when read

Overselling Test

"Are we overselling ourselves?"

Fails if: makes claims we can't back up

Underselling Test

"Are we underselling ourselves?"

Fails if: uses "feels human" instead of "better than human"

Warmth Test

"Does this feel warm and inviting?"

Fails if: feels cold, clinical, or corporate

Simplicity Test

"Is this as simple as it could be?"

Fails if: has unnecessary elements or complexity

Enforcement

How these rules are automatically enforced.

Pre-commit Hook

Runs before every commit

Language Colors Accessibility

CI Pipeline

Runs on every PR

Accessibility Forbidden Colors Language Copy

Code Review Checklist

  • No forbidden words or phrases
  • All colors use CSS variables
  • Accessibility requirements met
  • Copy follows brand voice
  • Animations respect reduced motion