Design a Chat Application with Durable Conversation History

Read the full interview experience this question came from →

Quick 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

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.

Read the full Harvey Frontend Engineer interview experience this question came from

|Home/System Design/Harvey
Harvey logo
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?

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...