Build a real-time messaging platform similar to Slack or Discord that supports direct messages, group chats, and channels.
Design the real-time messaging protocol. Consider WebSockets vs SSE, connection management, heartbeats, and reconnection strategies.