Design a Chat Application with Durable Conversation History
HarveyFrontend Engineer · OtherLast updated
Design persistent real-time chat with conversation ordering, idempotent sends, paginated history, optimistic state, delivery receipts, and reconnect catch-up.
Design a chat application with persistent conversations and real-time messaging. Explain the client state, APIs, delivery path, and reconnect behavior.
Constraints & Assumptions
The source explicitly names chat-system design but does not specify group size, encryption, attachments, or delivery guarantees. State a bounded initial scope, such as text messages in small conversations, and identify how it would grow.
Clarifying Questions
What ordering is required within a conversation? Are edits and read receipts needed? How should offline clients catch up? What does sent versus delivered mean?
Follow-up questions
- What if the send response is lost after persistence? How do multiple devices converge? What changes for a very large group or attachments?
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.