Real-time Chat System Design
    Stage 1 of 5
    Challenge Context

    A startup is launching a new messaging application and needs to build the core messaging functionality. Users need to be able to send and receive text messages in real-time without significant delays. The initial version should focus on reliable 1-on-1 messaging with basic delivery confirmation.

    As the Technical Lead, you've been tasked with addressing this challenge. The CTO and CPO have outlined the following requirements:

      Design a system that enables users to send and receive text messages in real-time

      Implement basic message status tracking (sent, delivered, read)

      Provide message history when users open a conversation

      Ensure message delivery within 500ms under normal network conditions

    References & Resources

    Components

    Client
    Server
    Load Balancer
    Cache
    CDN
    Database
    Message Queue
    Custom Component