Skip to Content
⚠️ WIP / RFCChat IdentityChat User Flairs (WIP)

Chat User Flairs (WIP)

Problem

We need a flexible system to display per-user visual markers such as:

  • flairs (text/icons)
  • badges
  • role colours
  • platform indicators

These must work across:

  • web chat
  • embeds
  • overlays
  • future clients

Non-Goals

  • Hard-coding Twitch-style roles
  • UI-specific storage
  • Per-message decoration

Constraints

  • Must be derivable server-side
  • Must survive reconnects
  • Must be cacheable
  • Must not be computed on the hot path

Candidate Models

Option A: Role-Derived Presentation

User -> Roles[] -> StyleTokens

Pros

  • Simple mental model
  • Low storage cost

Cons

  • Poor expressiveness
  • Hard to do stacked visuals

Option B: Explicit Presentation Layer

User -> PresentationProfile -> badges[] -> flair -> nameColor

Pros

  • Highly flexible
  • UI-agnostic
  • Forward-compatible

Cons

  • More storage
  • Requires sync logic

Open Questions

  • Should presentation be mutable by mods?
  • Are time-limited flairs needed?
  • How do platform badges coexist?

Next Steps

  • Decide storage ownership (chat backend vs shared user service)
  • Define read model for frontend
  • Define mutation permissions
Last updated on