Skip to content

Product Capability

Product

User experience, group management, admin tooling, and the core engineering path in one view.

Capabilities are grouped for end users, operators, and engineers so you can map them directly to requirements and acceptance checks.

User-facing capability

Realtime messaging

  • direct messages, groups, conversation list, and paged history
  • text messaging, edit, delete, and read sync
  • pin, mute, and draft state per user and per conversation

Media and profile handling

  • avatar upload
  • message asset upload
  • controlled downloads and proxy delivery
  • object storage kept separate from business metadata

Multi-device consistency

  • usr:{userId} inbox channel for read-state sync
  • short-window recovery through Centrifugo
  • long history replay through REST and PostgreSQL

Operations and governance capability

Admin console

  • administrator login
  • user ban / unban
  • system broadcasts
  • moderation event listing
  • forced admin-side message deletion

Group and permission control

  • member invite and removal
  • role switching
  • mute controls
  • group profile updates
  • channel authorization at the backend layer

Engineering capability

Business truth separated from realtime

  • API handles auth, validation, and persistence
  • Worker consumes Outbox and publishes to Centrifugo
  • Centrifugo focuses on delivery instead of business truth

Extension-friendly boundaries

  • object storage can point to S3, R2, or MinIO
  • later extensions can add JetStream, search, or media SFU
  • admin, user apps, API, and worker can evolve independently

Best fit

Team typeWhy it fits
Startup product teamsYou can launch auth, messaging, admin, and ops without adopting an oversized platform too early
Platforms with moderation or compliance needsModeration events and admin controls stay close to the message truth
SaaS or community products with their own account systemYou keep control instead of handing critical messaging logic to an opaque third-party box
Teams planning audio / video laterThe boundaries between realtime, object storage, and async layers make future expansion cleaner