Docs Design Rules No emojis — locked rule

No emojis — locked rule

Instinctor's UI never uses emojis (🎉 🚀 ✅ ❌ etc.). This rule is locked. No emojis in admin chrome, editor, plugin UI, transactional emails, marketing copy, documentation, or AI-generated answers.

What this means in practice

  • No emojis in button labels (no 🚀 Launch)
  • No emojis in toasts or notifications (no ✅ Saved)
  • No emojis in admin panel headings or labels
  • No emojis in the AI Help mode answers
  • No emojis in transactional emails (Your offer was accepted 🎉)
  • No emojis in commit messages (allowed if internal-only, but never
  • exposed to users)

  • No emoji-prefixed status indicators (🟢 Active)

Why

  • Visual consistency. Emojis render differently on every OS / font
  • / browser. Apple's emoji isn't Microsoft's emoji isn't Google's. Our UI should look the same everywhere.

  • Accessibility. Screen readers describe emojis inconsistently
  • (sometimes describing the literal pictogram, sometimes nothing). Lucide icons + text labels are predictable.

  • Tone. Emojis read as casual / playful. Instinctor reads as
  • professional / disciplined. Brand mismatch.

  • Anti-pattern in serious products. Stripe, Linear, Vercel, Notion
  • — none use emojis in their UI chrome. Instinctor matches that caliber.

What we use instead

For each common emoji use case:

| Instead of | Use | |---|---| | 🚀 (launch / start / new) | Lucide rocket icon (sparingly) or just text | | ✅ (success) | Lucide check icon + greyscale colour | | ❌ (error / blocked) | Lucide x or alert-circle + greyscale | | ⚠️ (warning) | Lucide alert-triangle + greyscale | | 🔒 (locked / private) | Lucide lock icon | | 💡 (tip / idea) | Lucide lightbulb icon (sparingly) | | 🎉 (celebration) | Just text — Your offer was accepted. | | 📩 (email / message) | Lucide mail icon | | 📊 (stats / data) | Lucide bar-chart or line-chart | | 🔍 (search) | Lucide search icon | | ⏱ (timing / clock) | Lucide clock icon | | ⭐ (rating) | Lucide star icon |

In all cases — when in doubt, use a Lucide icon. See rules/lucide-icons-only.

Where emojis ARE allowed

  • User-typed content. If a user puts emojis in their
  • content, we don't strip them. User content is user content.

  • Internal git commits. Emoji-prefixed commits (gitmoji, etc.)
  • are fine internally. Never exposed to users.

  • Admin notes / private memos. What gets written into private
  • fields stays private.

Common violations to watch for

  • Stripe checkout success page (we use Stripe's UI, can't change)
  • Third-party error pages we forward to (rare)
  • AI-generated content (Help mode prompt prevents this; verify)
  • Status badges in tickets / inbox / admin (often tempting to add 🟢
  • / 🔴 — don't)

Don't

  • Don't add emojis to any UI text Instinctor controls
  • Don't use emojis in transactional emails or AI answers
  • Don't approximate emoji with text emoticons (:-), (*), etc.) —
  • same anti-pattern, different shape

Related

  • rules/lucide-icons-only — what to use instead of emojis
  • rules/greyscale-palette — companion rule for colour
  • rules/voice-and-self-reference — companion rule for tone