Chat should work offline with eventual sync.
Offline capabilities:
- Read cached messages
- Queue outgoing messages
- Show offline indicator
Storage: IndexedDB for messages. localStorage for small data.
Sync on reconnect:
Fetch messages since last sync timestamp
Send queued outgoing messages
Resolve conflicts (server wins for timestamps)
Service Worker: Cache app shell for instant load.
Interview tip: Offline support differentiates senior designs. Mention it proactively.