Show online/offline and "last seen" status. Challenge: billions of users, frequent status changes.
Approach: clients send heartbeats every seconds. Presence service updates in-memory store (Redis). If no heartbeat for seconds, mark offline. Last seen = last heartbeat timestamp.
Optimization: only track presence for users with active conversations.