My Product Manager friend has been vibe coding lately. Now he wants to use WebSockets for every feature. 😂
So I explained it like this:

Polling
PM: “Anything new?”
Backend: “No.”
PM: “Now?”
Backend: “Still no.”
PM: “How about now?”
The client keeps asking until it gets a response.
Long polling
PM: “I’m going to wait here.”
Backend: “I’ll answer only when there’s actually something new.”
The server sends a response when ready. Until then, the client waits.
Server-Sent Events
Backend: “Relax. I’ll text you whenever something changes.”
PM: “Perfect.”
The client just listens. No conversation—only one-way updates from the server.
WebSockets
PM: “Let’s stay on a call.”
Backend: “Cool. We can both talk whenever we want.”
Perfect for chat apps, multiplayer games, live collaboration, and trading platforms.
Probably overkill for: “Notify me when my report is ready.”
Sometimes the best architecture is the boring one. 😄