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
- A user authenticates through the client.
- The client calls the Ceili API with the relevant session token.
- The application layer validates permissions and writes state changes.
- Messaging events are broadcast to connected peers.
- 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.