A system design diagram for a real-time chat application with WebSocket servers, Redis pub/sub, Kafka message queue, PostgreSQL, S3, and Elasticsearch.
Preview
“Create a system design diagram for a chat application”
About the framework
This template addresses the core system design interview question of building a scalable chat application. The architecture solves three key challenges: real-time delivery (WebSocket + Redis pub/sub), reliable persistence (Kafka + PostgreSQL), and media handling (S3).
Redis pub/sub bridges multiple WebSocket servers so a message sent through Server 1 reaches a recipient connected to Server 2. Kafka provides at-least-once delivery guarantees and decouples the write path from storage and notification services.
Customize by adding read receipts, typing indicators, group chat logic, or end-to-end encryption layers. You can also scale specific components, like adding Cassandra for message storage at WhatsApp-level scale.
What's included
Chat Application System Design
Frequently asked questions
Yes. Click 'Use this template' and ask 'Simplify to a single WebSocket server with PostgreSQL only.' The AI will remove Kafka and Redis for a simpler architecture.
Ask the AI to 'Add a key exchange service and show the E2E encryption flow between clients.' It will insert a key management component and update message flow.
Absolutely. This covers the standard components interviewers expect. Ask 'Add capacity estimation annotations showing messages per second and storage requirements' for interview-ready detail.
Free to start. No credit card required.