System architecture

High-level view of Ceili services, data flows, and runtime components.

System architecture

Ceili is composed of a small set of services that work together to deliver messaging, identity, and moderation features.

Core layers

Client layer

  • Web client for desktop and mobile browsers
  • Native-like UI for real-time messaging and channel navigation
  • Local session state, notifications, and presence updates

Application layer

  • Authentication and session management
  • Channel, room, and message orchestration
  • Presence tracking and event delivery
  • Moderation and policy enforcement

Data layer

  • Relational database for users, channels, and metadata
  • Object or blob storage for uploads and files
  • Cache layer for real-time status and session lookups

Integration layer

  • Webhooks and outbound events
  • Extension hooks and automation endpoints
  • Optional identity and SSO providers

Request flow

  1. A user authenticates through the client.
  2. The client calls the Ceili API with the relevant session token.
  3. The application layer validates permissions and writes state changes.
  4. Messaging events are broadcast to connected peers.
  5. Storage and audit systems persist the final state for later access.

Placeholder architecture diagram

Browser / Mobile Client
        |
        v
    Web Frontend
        |
        v
    Ceili API
   /   |   \
  /    |    \
 v     v     v
Auth  Messaging  Moderation
   \    |     /
    \   v    /
      Database
      Cache
      Object Storage

This architecture is intentionally modular so that Ceili can evolve from a lightweight chat app into a larger communication platform with extensions and self-hosted integrations.