Recommended preparation
Premium

Design a Real-Time Messaging Inbox

By FrontendAtlas Editorial · Updated Oct 19, 2026

Try the prompt first

Senior20 min first pass

Design the messaging inbox for a professional network. Members see conversations with unread counts and open threads that update in real time. Messages sent during a dropped connection must not duplicate or reorder, read state must sync across devices, and old history loads on demand. Assign authority among the composer, local thread, realtime channel and server log. Explain ordering, optimistic sends, reconnect catch-up and an accessible message log.

Constraints

  • The server assigns message order.
  • Retries reuse one client id.
  • Read state belongs to the member, not the tab.

Challenge summary

Design a real-time messaging inbox where server sequence numbers order every thread, optimistic sends never duplicate, and reconnects catch up without gaps.

What you'll practice

  • Separate the server message log, the optimistic outbox and ephemeral typing signals.
  • Keep one client message id across retries, reconnects and the realtime echo.
  • Catch up after a dropped connection with an inbox cursor and resync when it expires.
  • Build an accessible message log that summarizes bursts and keeps focus stable.

What Premium unlocks

Premium unlocks the reconnect worked example, the typed messaging contracts, the catch-up API semantics, and the busy-group accessibility walkthrough.

Free related practice

Public interview reports: Blind (January 2022) · Walmart frontend interview questions

Upgrade to FrontendAtlas Premium to access this system design scenario. Already upgraded? Sign in to continue.