Are you thinking of creating a new messenger on your own? Has the success of other companies in the field affected your decision? Do you have some awesome features to add but want to save basic functionality of other popular messaging services? Great! That's your lucky day because Cleveroad will gladly help you navigate through these muddy waters. This time, we're going to discuss how to build an app like WhatsApp and how much it actually costs to develop an instant messenger similar to it. So stay with us and soon you will know what you need to be prepared for and how to arrange the mobile app development process.
WhatsApp: it's role and history
WhatsApp was founded by Jan Koum and Brian Acton in 2009. At the end of the year, it was launched on the App Store for iPhone with no alternatives in the world at the time.
This application, referred to as an instant messenger, was intended to give users an opportunity to exchange messages in real time using mobile Internet or WiFi. Today WhatsApp is available for all popular mobile operating systems.
WhatsApp splash screen
See how to build a messenger app wisely. Read How to make a messenger app: development process insights
This is what makes it so popular expansion. This application is available everywhere, from non-smartphones to cutting-edge devices. That is why your intention to build app like WhatsApp is quite reasonable.
What can WhatsApp do?
On the whole, you can do the following with the help of WhatsApp:
- send photos;
- send audio files;
- exchange geodata. A very handy feature for those who like traveling;
- send contact data;
- send voice messages.
WhatsApp has a rich functionality, flexible system of settings adjustment, simple and user-friendly interface, high performance. That is why WhatsApp became one of the most popular messengers in the world and many entrepreneurs want to know how to create a chat application like WhatsApp.
Many business people consider WhatsApp as a good example to start their new business. So, to create an app like WhatsApp they need to plan their budget and estimate possible expenditures so they need to know how much it will cost to create an app like WhatsApp.
Steps on how to create app like WhatsApp
If you plan to create app like WhatsApp, you should follow these steps below:
- Step 1. Choose a proper business model to keep up with to build app like WhatsApp
- Step 2. Find experienced developers that know how to make app like WhatsApp
- Step 3. Consider team's location
- Step 4. Build the app architecture
- Step 5. Add MVP features to create your own WhatsApp
- Step 6. Build a great design for your WhatsApp-like app
Steps to create an app like WhatsApp
Now let's study all these steps in detail to give you a better understanding of what you should undertake.
Keep up with a right business model
Before you start creating your app, you should think about all business nuances that you will face when you will learn how to make app like WhatsApp. Check out the main principles you should keep up with to succeed.
First, you should determine your target audience, who is interested in the development of a messenger. As a rule, young people use messengers more often than older people. Although, WhatsApp is also popular among business people since it is secure and easy-to-use.
When you released the app, you want to earn on it and make the app paid off, When you create your own WhatsApp-like app, there can be a few monetization models you may use to gain a profit:
Know your competitor
You should analyze the market and study all your competitors. If their apps are good, what should you do to make your app better? On the whole, you should know what messenger app similar to WhatsApp are available at the market.
If your app is completely similar to other apps from this niche, what is it's value? It is highly important to add something new to your app to make it competitive and unique when you analyze how to create a messaging app like WhatsApp.
- P2P payments. WhatsApp does it. Users can send payments to each other, and they will pay a fixed fee for each payment. Thus, you will be able to get your percent from each transaction.
- In-app purchase. Also, your users can buy stickers or some other additional features to enrich their messenger and make it more unique.
- Advertising. The most popular way to monetize the app. But don't overload the app with ads, it shouldn't be annoying for users.
App store optimization
When the app is finished and it is available in Google Play or App Store (or in both), it is not enough just to wait till everybody starts downloading it. You should think about app promotion to attract more users.
Hire a dedicated development team
There are a few things which should be taken into account when you're planning your project budget.
Find experienced developers
If you want your application to grow and develop, it's architecture should be thoroughly elaborated at the first stages of development. This is what a good entrepreneur always sees about. As your application will be growing, you need to have an opportunity to process a large flow of data. You need to take into consideration everything, from the server sustainability to your application code design to have an opportunity to add new features seamlessly later. A poorly designed code can cause the application improper operation as the new options are added.
Our advice is to hire someone who has already dealt with such types of projects. Good specialists can foresee all possible scenarios to avoid an application's crash and money losses in the future. Don't risk your reputation and money, and hire a highly professional staff.
Consider team's location and staff numbers
The cost of creating an app can vary depending on your future employees' location. We will take the Eastern Europe development team average salary, which is equal to $50 per working hour. Let's consider the full membership of your prospect team. The team members could be as follows:
- sales manager (can be in touch with a client before, during, and after the development process);
- project manager (can also take a business analyst's responsibilities);
- requirement analyst (it's desirable to have both a project manager and an analyst);
- software developers (depending on the project complexity, a dev team can include 2-5 members for front-end development, the same is for back-end development, 2-3 members can be engaged in post-release support if such specified by a project);
- quality assurance engineers (1-4 members);
- UX/UI designers (2-4 members);
- marketing manager (can be involved if product promotion is needed).
Start with WhatsApp core: build the platform
When you found a good guide on how to create an app like WhatsApp, you should get acquainted with WhatsApp's architecture. It's important to know what is in the background of the application. So in this section, we've gathered some vital information which should be considered before you start. All the WhatsApp's processes would be impossible without the stuff given below. This is what makes this powerful message exchange machine work.
To handle message traffic, WhatsApp uses the Ejabberd XMPP application server (FunXMPP) written in Erlang programming language. It's perfect when it comes to accommodating huge communication systems because of it's good sustainability. Erlang will be a good option because it quickly adapts to hot fixes and instant updates. Thus, it doesn't have to be restarted in order to add new functionality or updates. If you want to create exactly the same application, you can use Erlang on the server side as the messenger's techies did. Of course, you're free to choose among other server-side scripting languages. Other applications like WhatsApp, such as Telegram or Kik, use Node.js to code their servers.
- To store multimedia files, WhatsApp uses a high-performance web server called YAWS (Yet another web server), which is also written in Erlang;
- To power servers, the FreeBSD operating system was chosen by the WhatsApp developers;
- They also have chosen Mnesia as a database, because it's the default database for Erlang;
- WhatsApp uses the Extensible Messaging and Presence Protocol (XMPP) technology to transfer messages. This technology provides both one-to-one and multi-user chat communications;
- The company rocks RC4 (Rivest Cipher 2) as a cipher method but is considered to be not that secure, though.
As regards the client-side development, the programming language can vary depending on what operating system runs on a device. The rest you already know, iOS - Objective-C or Swift, Android - Java or Kotlin. Then we can move to the list of MVP features your WhatsApp should include.
MVP features to be included
Congratulations! We've finished with the inside structure of our role model application. Now it's time to see what happens on the client side of a modern-day WhatsApp.
|MVP features||Development time (h)||Cost, $|
Multimedia file transmission
- Registration + address book formation
The registration page is the entrance to your app. On WhatsApp, once a user inputs his/her credentials (a phone number) the application sends the SMS for authorization. Android version of the application opens and processes this SMS automatically. That's kind of convenient, actually. Along with the SMS authorization, you can provide one more option like voice verification when you build chat app like WhatsApp.
Registration in WhatsApp
Find out the model to engage more users. Read Ways to increase mobile app engagement and give users personalized experience
With the WhatsApp-like application, the user's anxiety about password loss or identity theft is eliminated, because it's connected directly to a user's phone number which can't be duplicated. On installing, the application creates an account using a person's number as a user's name. Then the application software automatically checks all numbers in the new user's address book and compare them with WhatsApp's user database in order to set up the list of contacts in the application.
Do you know why should an MVP be a start of your business? Figure it out in our video below:
Why Should You Start Your Business from MVP?
WhatsApp uses the XMPP to create accounts, with the Jabber ID. The application has recently refused using IMEI and MAC to generate accounts, sending an SMS with a randomly generated password on a server side to a user's phone number. Consider it since it is a must-have feature if you create a chat app like WhatsApp.
Up to 53 hours both for the mobile (despite the platform) and back-end development.
- Message exchange (one-to-one and multi-user communications)
As you intend to create a WhatsApp clone, it's pretty obvious that the opportunity to start a dialogue has to be provided. Once a user presses a dedicated button, a contact list has to appear to choose a person. Also, there should be an option to create a group chat, where users can add a chat picture and provide a subject of the conversation. WhatsApp has recently released a feature to send one message to several people at once, called Broadcast Lists. You're free to integrate your ideas if you have such ones.
As you already know, the XMPP technology is engaged in message sharing giving users the opportunity to talk tete-a-tete or have a group chat with as many contacts as you want. It's pretty much like HTTP. Here, a client opens a socket which stays open as long as a user is logged in. Unlike REST API when the client opens a socket and closes it after a message is sent/received. Although, WhatsApp earlier used the communication technology similar to SSL (Secure Sockets Layer) where messages were sent in plaintext. In 2012, it was reported that the company had changed the concept, but the developers haven't disclosed a cryptographic method yet.
Chatting in WhatsApp
Important note! You need to know that WhatsApp doesn't store users' messages on it's server. After a user sends a message, it will be situated on the server but just until the server requests the receiver acknowledge receipt of the message, it happens quickly. After the message is acknowledged, the server delivers it to a receiver and automatically removes it from the temporary storage. The message is no longer WhatsApp's responsibility. Perfect!
In case you want to store users' messages on your server, you need to do your best to protect it.
Anyway, you need to take care of users privacy when you analyze how to create app like WhatsApp. Nobody wants their sensitive data (history) were tapped. You need to choose a right way for the encryption of messages. However great WhatsApp is, the privacy problem remains unsolved. This is where you can learn from competitor's mistakes.
A little secret about message storage on WhatsApp. There is a chance that you will never receive a message if you're being without the Internet connection for a long period of time. For 30 days, for example. Because this is how long your messages will be stored on the corporation server, then it will be removed and not available. Be careful, sometimes WhatsApp can be utterly cruel!
Another fancy feature which can be implemented is a self-destructing message. This one usually is associated with Telegram and Snapchat. But you can implement as many ideas as you want. Self-destructing message development will take up to 8 hours including back-end and front-end.
The XMPP technology is thought to be obsolete among developers. So if you happen not to find some desperate fans of this method, you can apply other ones. There are dozens of them for such purposes. For instance, MTProto is a new protocol applied to Telegram which thought to be more secure and reliable, or Microsoft Notification Protocol (MSNP). MSNP24 has been used by Skype since the beginning of 2014. It's up to you which of those to choose!
Up to 218 hours, where 84 hours will be needed for mobile development and 134 hours for back-end development.
You may also want to add some spice to your message exchange functionality, like Stickers, for example.
Stickers are worth a thousand words. Today many users expect that they will get not only reliable and secure communication but the high-quality content inside the conversation. Most of the messengers have Sticker stores inside them to increase retention and engagement of their users.
New content attracts more users. Also, this allows you to create an additional revenue stream for your app by selling it. You can launch your own store by integrating with Stickerpipe Stickers Store that provides top-quality Stickers with a choice of different models that allow you to have either free and/or a revenue sharing opportunity.
Up to 150 hours will be needed for back-end development.
This is how your user knows that somebody's sent him/her a message. On WhatsApp, a user is usually informed about two things, when he/she is invited to a group conversation or when a new message arrives. It's carried out in a way of pop-ups or push notifications if a device screen is locked.
How can this procedure be implemented? It can be made through Google Cloud Messaging or Apple Push Notifications. Your server sends the notification to your application users via these cloud services using HTTP/2 multiplex protocol. Take it into account when you will create WhatsApp clone.
15 hours in total, including mobile and back-end development.
- Multimedia files transmission
WhatsApp users can also send short voice messages, pictures, and videos. This is a standard option among several others listed below. If you want your application to have the same functionality, you can include the multimedia files transmission feature.
The transmission procedure is performed by uploading a multimedia file to be delivered to the HTTP server (hi, YAWS), it then sends a link to the content together with it's Base64 encoded thumbnail.
Again, you can choose any of existing web servers when you decide how to create WhatsApp app.
40 hours, where 24 hours will be needed for mobile development and 16 hours for back-end development
- Location sharing
It's a very cool thing. You can integrate the geolocation feature into your app because it can be really helpful for users. Thus, it's impossible for them to get lost.
Location sharing feature in WhatsApp
Apple provides the Core Location framework for iOS developers by reporting the iOS-run device current location to your code. It also provides periodic updates because it can receive newer data.
Learn how you can combine geolocation data and AR. Read The fullest guide on creating superior location-based augmented reality app
To display maps in your application, these popular platforms offer special map services. Google Map Android API is a way for Android developers; the Map Kit framework is offered to iOS developers by Apple to solve this problem.
Up to 20 hours, where 8 hours will be needed for mobile development and 4 hours for back-end development.
- Contact sharing
For the sake of convenience, you can integrate this feature into the app. Users can exchange contacts and save them to their address books.
The procedure of contact sharing is identical to the message delivery, the XMPP protocol is also engaged here. But there should be a solution for what to do with received contacts on the client side.
Up to 72 hours, where 18 hours will be needed for mobile development and 56 hours for back-end development.
- Voice calling
To be up to date and to attract more users, WhatsApp added the free voice calling last year in January (for different platforms a date can vary). The application uses your Internet traffic rather than your phone's data plan minutes or money. By pressing a dedicated button, a user can activate the voice calling. You can either take an older version of WhatsApp as an example or add this feature. But it can take more time and money to integrate it.
Voice calling in WhatsApp
As any master who doesn't want to reveal his secrets, WhatsApp didn't hurry to do so. We've made a deep and exhaustive research and found out that WhatsApp uses the PJSIP library to implement Voice over IP (VoIP). This is an open source multimedia communication library written in C. The library uses a high-level API by combining the SIP (signaling protocol) with the multimedia framework and NAT traversal functionality. This API is suitable for all types of systems including mobile handsets.
Up to 220 hours, where 120 hours will be needed for mobile development and 100 hours for back-end development.
- Settings adjustment
Everything regarding this is included in one menu called 'Settings' on WhatsApp. It's not a strict rule to do like the original application. Who knows, maybe your designers will create a cooler and more convenient interface. However, the application should include several basic things helping to adjust the application to user's needs.
Help. Your user should have an opportunity to read some information about the app and to reach out to you if your consultation is needed.
Profile settings. We are so unstable, consider this fact. It's vital for a user to be able to change a user pic/nickname/status.
Account settings. Three basic points have to be included:
- privacy: it's actually a good idea to let a user monitor his recent actions. You may include another awesome feature blacklist.
- opportunity to change a number: it's necessary when a user changes his/her current phone number. The application should make it possible for the user to migrate from one number to another.
- opportunity to delete a user's account: it's very important to have such feature in case a user doesn't want to use the application anymore (however sad it is) or gives a device to somebody else.
As for the rest of the Account Settings Menu, it's up to you what to include. It could be Payment Info and Storage Usage, how it's implemented in WhatsApp.
Chat settings. Here, users can change chat wallpapers, switch on/off incoming media, carry out backups. Talk about backup, cloud services are the most progressive way to store information. The solution for users' chat history and media synchronization should be provided.
Chat settings in WhatsApp
Notifications settings. This is very important because these 'guys' can be really annoying. Notifications should be freely adjustable.
Data usage settings. Having included this feature, you will give users an opportunity to control data flow.
Up to 111 hours, where 41 hours needed for mobile development and 70 hours for back-end development. Depending on the content of the 'Settings' menu, a number of hours can vary.
Remember, if you want to create an application similar to WhatsApp, you don't have to follow exactly the same course as it's developers. You always have a choice! We're stressing that all the above features weren't added all at once! There is no necessity to stuff your app with all these at the start. The perfect solution is to build a stable, good-working product implementing basic procedures which could be updated after you get a fine client base.
Great design is a basis
Another thing influencing your app popularity most is it's design. This is a face of your product. However, smart your application can be, it won't be popular without a pretty and attractive interface. Details, lovely colors, fonts, well-designed icons, this is what makes your application desirable. A stylish interface is worth it's weight in gold. So don't be stingy when it comes to the application design. How to design WhatsApp-like app? Our specialists know how to do it well.
Pay attention that you will need to add about 60-70 additional hours to the total amount of working hours to implement UX/UI design.
P.S. The WhatsApp's interface was created by a small team of Ukrainian designers, which join Facebook in 2014.
Now let's calculate the total cost of making an app like WhatsApp. Answering your question 'how much does WhatsApp cost', we can conclude that the development process can take up to 1620 hours (+ 2 weeks for deployment). So the approximate cost of the WhatsApp like messenger can be calculated as 1620 hours x $50, which equals $81K per one platform. Add 852 hours to the total amount if you want to develop an app both for iOS and Android. The more versions of your application you want to release, the more money you will need respectively. Total cost of WhatsApp-like app for two platforms (iOS and Android) may vary from $110,2K to $162K including back-end.
Note! The price is indicated including the preparation of necessary documents, meetings and so on, apart from the development process.
How we strive to be the best on the market. Read Cleveroad awards: discover what we have achieved so far
To sum up, we want to refer to what we said in the beginning. WhatsApp won it's popularity thanks to it's wide expansion. It doesn't mean that it's entrepreneurs had solutions for a different platform at the start. No, they were releasing them at a good pace one by one, which brought about the amazing results. This application is a combination of an awesome (but neat) design and smart functionality. Considering the fact that there are a lot of WhatsApp's clones on the market, it could be kind of tricky to surpass rivals. But we're sure, if you put your whole heart into your product, it won't let you down.
I hope we've satisfied your desire to know how much a WhatsApp-like app costs. So draw inspiration from the story of it's tremendous success and do great things!
If there is anything we can help you with, please do not hesitate to contact us and subscribe to our blog!
It takes up to 1620 hours to make the app, and the total cost depends on the region where you hire developers. In Ukraine, the development will cost ~$81,000, in the UK — $162,000, in the USA — up to $243,000.
- Start with a competitive research. Look through apps similar to WhatsApp (and WhatsApp itself), pay attention to their cool features, and the features these apps are missing.
- Choose platforms. If your target audience lives in the US, Canada, or Australia, it's better to make an iOS app. If they live in Eastern Europe, India, Africa, or China, go for an Android-powered app. Or both, to make the app available for all users.
- Think of basic features. No messaging app will go live without registration, profile management, pop-up notifications, chats, file transmission, or voice calls.
- Don't forget about the modern UI/UX design of your app.
If you're not a UI designer yourself, the best way is to hire a UI/UX designer who will do the work for you.
They will consider platforms peculiarities, follow Google's and Apple's design guidelines, and make sure the app looks good on both iOS and Android.
Some messaging apps use advertisements, some use in-app purchases (like Viber stickers), or subscriptions. Or just look for sponsors.
The development process can take up to 1620 hours (+ 2 weeks for deployment).
Android development takes ~15-20% more time compared to iOS. That's because of a bigger number of screens and OS versions. But in general, the process remains the same as with iOS apps:
- UI/UX design.
Fantastic work. Thanks
Leave a comment