15 Comments

Very well articulated Ashish keep growing 💗 . The heartbeat of designingvwhatsapp like application resides in message synchronisation. That's why what you explained above acknowledgement and all .

Expand full comment

thank you!

Expand full comment

Designing whatsapp. Typo

Expand full comment

Too good thanks for sharing

Expand full comment

Awesome!! The content is so rich!! I’ve been thinking about starting a chat side project recently!! Your content gave me tons of inspiration!! Thank you so much!!!

Expand full comment

Good Read

Expand full comment

Good explanation in easy language

Expand full comment

Nice one. Appreciation to your quality work.

Expand full comment

Wonderful article, I had a question though, how do chat servers communicate between each other when sending messages?

Expand full comment

they are multiple ways they can communicate:

1. Message Queues - Sender's chat server publish messages to receiver's chat server queue

2. gRPC - It might be ideal due to its low latency.

3. HTTP APIs (eg.. REST) - Server handling a user’s message might call another server’s API to forward the message to users connected on that server.

Expand full comment

I am not sure, Can server 1 send message directly to server2 by websocket ?

Expand full comment

Hi Ashish, "API Design" section seems to be missing. Was it not included intentionally? Thanks.

Expand full comment

It's amazing mate ✨

Expand full comment

i have a minor doubt in the database design, dont we need a receiverId in the messages table

Expand full comment

Really a wonderful article Ashish. I was wondering if you could elaborate WhatsApp communities design. How is it different(if at all) from group chat?

Expand full comment