What's different about Whatsapp compared to a traditional XMPP experience is:
- it uses a single centralized server, without federating
- it uses phone numbers as identifiers instead of nicknames
- it has a tightly integrated (closed-source) client
So you can not only "build your own WhatsApp", but also federate with others doing the same, which is pretty cool and prevents a single actor from abusing the whole network.
[0] https://www.infoq.com/presentations/whatsapp-scalability/
Retrospectively that has always colored my perception of how relevant technical aspects are for a successful startup (i.e. not much). Marketing (and viral, user-capturing & monopolist practices) are (sadly) much more important.
That's why i'm very interested in human and political aspects of free software. Successful FLOSS projects usually have a strong community backing them, and strong connections between developers and the community so that the technology isn't too disconnected from practical needs and UX concerns.
I think non-profits and cooperatives building upon free-software solutions are a better alternative model. For example, framasoft.org (french NGO for libre culture/software) has been instrumental in developing new solutions like Peertube, and in kickstarting a new wave of hosting coops (chatons.org federation).
In the IM world specifically, i'm very interested about Snikket.im project. It aims to build a complete client/server distribution of XMPP software tailored for specific user expectations.
They may have hired people later on (though this entire article is kind of showing that no, they actually didn't hire that much technical people). But by the time they even hired the first Erlang engineer they had already won over the European market. And for the record it was not precisely due to the quality of either their Android or iOS android apps -- the J2ME and Symbian clients had quite a following and I would even bet were more used.
Original Whatsapp was a disaster and this did not prevent them from gaining marketshare. You could basically login as anyone just by having their phone number (which maps to their JID) and defeating their XMPP obfuscation layer (some XML encoding, which was easily done due to the easily RE Java clients).
It was only later on (2011ish?) that they started getting somewhat serious, which coincided with them, already swimming in users (and money?), starting to get more evil (with a more hardcore stance against 3rd party clients).
Sure, everyone out there isn't going to be on my server - but for the close friends I care about - it's been flawless.