Design a Chat Application with Durable Conversation History
Company: Harvey
Role: Frontend Engineer
Category: System Design
Difficulty: medium
Interview Round: Other
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?
### What a Strong Answer Covers
Durable messages, stable identities, authenticated membership, paginated history, real-time delivery, optimistic client state, and recovery from missed or duplicated events.
### 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?
Overview: 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 Durable Conversation History
Harvey
Sep 15, 2026
mediumFrontend EngineerOtherSystem Design
0
0
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 Guidance
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?
What a Strong Answer Covers Guidance
Durable messages, stable identities, authenticated membership, paginated history, real-time delivery, optimistic client state, and recovery from missed or duplicated events.
Follow-up Questions Guidance
What if the send response is lost after persistence? How do multiple devices converge? What changes for a very large group or attachments?