"I built a scalable Real-time Chat Application capable of handling high concurrency.
Instead of just using HTTP polling, I implemented WebSockets for bi-directional communication.
To scale beyond a single server, I used Redis Pub/Sub as a message broker, ensuring users on different servers can still talk to each other.
For persistence, I chose PostgreSQL with proper indexing on timestamp for fast message retrieval."
💡 Tip: Memorize this. This answers "Tell me about your project" perfectly.
"What was the hardest bug you faced?"
The Scenario
"When I scaled to 2 servers, messages weren't being delivered if User A was on Server 1 and User B was on Server 2."
The Fix
"I realized local socket maps don't share state. I introduced a Redis Adapter. When Server 1 receives a message, it publishes an event to Redis. Server 2 subscribes to this channel and delivers the message to User B."
Project Overview
A WhatsApp clone handling concurrent users using WebSockets. The ultimate starting point for real-time apps.