Techstack for building something like whatsapp

Hi folks,

What will be the tech stack required for building an chat app something like whatsapp is today?

Thanks.

1 Like

Take a look at this post https://hackernoon.com/the-architecture-of-an-enterprise-chat-application-that-can-withstand-1-million-concurrent-users-3e3p2dts  This post have expalined about teachnology staack like whatsapp.

WHATSAPP ARCHITECTURE AND PROTOCOL

To learn how to make a messaging app like WhatsApp, you need to understand what it is made of. Rick Reed, the software engineer of WhatsApp, gave many presentations about his messenger’s work. The technology stack of this app is LYME/LYCE, with one measurement: FreeBSD is used instead of Linux, since according to the developers, Linux is a real ‘beast of errors.’ Everything else is unchanged from the original build, and WhatsApp’s mobile tech stack looks like this:

  • OS : FreeBSDAccording to WhatsApp’s co-founder Brian Acton, the choice of OS was explained by their excellent knowledge of FreeBSD system and the appropriate requirements of safety and reliability;
  • Programming language : ErlangErlang is especially useful for handling multitude connections and routing messages, exactly what the WhatsApp creators needed;
  • Servers : custom Ejabberd with Signal ProtocolThe original XMPP (Extensible Messaging and Presence Protocol) was initially used to support both one-to-one and group chat conversations. Afterward, the developers switched to the internal developed protocol for optimizing servers and Signal Protocol for full end-to-end encryption. They also use YAWS (Yet Another Web Server) for storing multimedia data and HTML5 WebSockets that simplifies two-way communication by establishing a reliable and fast connection between the server and the app;
  • Database : MnesiaMnesia allows the messenger to respond to the requests more quickly and perform more efficiently, but the main advantage is that it can be reconfigured right during the run;
  • Virtual machine with customized patches: BEAM Mnesia database, as well as the Yaws and Ejabberd servers, are written in Erlang, so the web apps developed for LYME/LYCE can entirely run on Erlang virtual machine with optimized server performance;
  • Hosting : Facebook Data CenterWhatsApp team moved from IBM servers to their own, which the company considers the most advanced on the market.

Read Full Article Here : https://morioh.com/p/1b93f669f47e