Design Real-Time Collaborative Comments

Read the full interview experience this question came from →

Quick Overview

Prepare for a real-time collaborative comments system design prompt for shared documents or canvases. The question covers durable comment writes, WebSocket fanout, reconnect backfill, ordering, permissions, hot-document scaling, and missed-update recovery.

Design Real-Time Collaborative Comments

Company: Figma

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Technical Screen

Design a real-time commenting system for a collaborative canvas or document. Users should see new comments quickly, receive updates on threads, and recover conversation history when they reopen the document. ```hint Hint 1 Start by naming the core entities, constraints, and success criteria. ``` ```hint Hint 2 Make the trade-offs explicit before going deep on implementation details. ``` ### Constraints & Assumptions - Users collaborate on shared documents or canvases. - Comments can be created, updated, resolved, and loaded later. - Real-time delivery is important but durable history is required. - The design should support many users viewing the same popular document. ### Clarifying Questions to Ask - Do comments attach to document positions, objects, or free-form coordinates? - Are edits and deletes required? - What latency target defines real-time? - Should offline users receive notifications? - How are permissions inherited from the document? ### What a Strong Answer Covers ```premium-lock What a Strong Answer Covers ``` ### Follow-up Questions - How would you handle a user reconnecting after missing updates? - How would you scale one document with thousands of viewers? - How would you support comment anchors that move? - What consistency guarantee do users need after posting?

Overview: Prepare for a real-time collaborative comments system design prompt for shared documents or canvases. The question covers durable comment writes, WebSocket fanout, reconnect backfill, ordering, permissions, hot-document scaling, and missed-update recovery.

Read the full Figma Software Engineer interview experience this question came from

|Home/System Design/Figma
Figma logo
Figma
Apr 9, 2026
mediumSoftware EngineerTechnical ScreenSystem Design
12
0

Design a real-time commenting system for a collaborative canvas or document. Users should see new comments quickly, receive updates on threads, and recover conversation history when they reopen the document.

Constraints & Assumptions

  • Users collaborate on shared documents or canvases.
  • Comments can be created, updated, resolved, and loaded later.
  • Real-time delivery is important but durable history is required.
  • The design should support many users viewing the same popular document.

Clarifying Questions to Ask Guidance

  • Do comments attach to document positions, objects, or free-form coordinates?
  • Are edits and deletes required?
  • What latency target defines real-time?
  • Should offline users receive notifications?
  • How are permissions inherited from the document?

What a Strong Answer Covers Premium

Follow-up Questions Guidance

  • How would you handle a user reconnecting after missing updates?
  • How would you scale one document with thousands of viewers?
  • How would you support comment anchors that move?
  • What consistency guarantee do users need after posting?

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...