How I Developed A $1.5K/Month Facebook Messenger App For Desktop
Hello! Who are you and what business did you start?
Hey! I'm Alexandru and I built Messenger for Desktop, a simple app that lets you use Facebook Messenger from your Mac or Windows computer.
It began as a side-project 5 years ago, after which I was lucky to be able to turn it into a small business. Since then, Messenger for Desktop has had over 10 million downloads and currently, there are 100,000+ monthly active users.
What's your backstory and how did you come up with the idea?
Messenger for Desktop was born in May 2015. Back then I was attending high school in Romania and had a lot of free time.
People would always reach out to me with great feedback about what they liked and what they’d like to have.
My light bulb moment was when Facebook announced their new web app messenger.com. I thought that it would be so much nicer if there was a standalone app that you could use for Messenger, instead of having to open a browser all the time.
Then I did what any enthusiast would do: I sat down and put together a prototype. To create the first version of Messenger for Desktop I used a framework called nw.js, which works very similarly to a web browser with the difference that I can control it so it always shows the messenger.com webpage.
After a few days, I made the app open source and published it on GitHub. It quickly got hundreds of stars and that’s when I realized that it was useful not just to myself, but to many others as well.
To make it even better, I started building more features into the app such as auto-updates, customizable themes, and support for all 3 major operating systems: Windows, Mac, Linux.
All in all, I must have spent at least a few weeks on each feature. Auto-updates are never straight forward and you need to be careful to get it right — otherwise, you will lose users, stuck on an old version. Adding support for Windows and Linux also took a lot of testing. I needed to make sure the app works on both 32- and 64-bit computers, and across different distributions of Linux.
However, I didn't dread a single minute of it! Programming is my passion and I enjoy building apps a lot. I started at the age of 12 with some super simple C++ programs ("hello world"). Then I slowly picked up more languages (e.g. PHP, JavaScript, Java) and frameworks (e.g. Android). I always dived head-first — I first thought of something to build, for example, a program to do my school homework, or an Android app for a TV show, and then I searched how to write it, bit by bit. A lot of it was time spent alone in my bedroom, tinkering with code, learning on my own.
Not long after, it appeared on national news and local TV in Romania. They caught an interest in the fact that I was only 18 years old. I posted it on Product Hunt, and software directories such as CHIP.de started reaching out to me.
Take us through the process of designing, prototyping, and manufacturing your first product.
One of the first things I did after publishing the app on GitHub was to make a website for it. This is what the first version looked like:
It was really simple. Over the years, I’ve added more widgets and testimonials. I also changed the colors to give the app a distinctive brand.
Picking the features to include in the app and the design was easy. People would always reach out to me with great feedback about what they liked and what they’d like to have.
Other than the interface changes of messenger.com itself, the looks of Messenger for Desktop didn’t change much. Most of the features I added only required clicking some menus or adding a tray icon.
Describe the process of launching the business.
The details of the launch are blurry. I don’t think it had an official launch date, other than when I first uploaded the open-source code online. It had downloaded from the very first days.
I started monetizing too late. I was always against it because I thought people would stop using the app if I did. However, my fear was unfounded.
After GitHub I shared it on my personal Facebook and Twitter profiles, then I posted it on Product Hunt, Hacker News, and some news websites. It was useful that it had a bit of a viral effect too, so people would re-upload it on download portals or make YouTube reviews for it just because they liked it.
It was all organic and other than the domain, there were no costs to starting Messenger for Desktop — the beauty of software!
Since launch, what has worked to attract and retain customers?
Most of the traffic comes from SEO. Though I didn’t put that much effort into SEO optimization, I was lucky that I picked a good name right from the start. It happens to match almost exactly what someone would type in Google if they were searching for such an app.
However, I did optimize the page load times on desktop and I checked the recommendations from some of the many free SEO optimization tools out there.
I have tried media buying but I never managed to break even. I used to have a Facebook page, but it got shut down, so now I don't do any social media marketing at all (except the share buttons on the website).
In July 2020, 45% of the traffic was Direct + Organic Search. 40% was Referral, mostly from download portals such as Softonic, and 5% came from Social.
The conversation rate is still high, which is great, but the number of visits has been going down slowly, especially in the past months. Now I'm working on new strategies to push the traffic back up.
How are you doing today and what does the future look like?
Today, though the business is still profitable, revenue has gone down 5x due to COVID.
The good part is that I’ve optimized or automated lots of the operational costs:
- Serving all the downloads (which amounts to about 5TB of traffic per month) costs a flat $5 thanks to DigitalOcean and Cloudflare.
- I don’t have any servers to maintain — all the code or backend logic that I need runs on Cloudflare Workers, which also costs only $5.
- For banking, I use a neobank, Starling, which is free and fits my needs perfectly.
- For currency exchange, I use TransferWise, which costs very little.
- For accounting, I settled with QuickBooks which is cheaper than other options but still does everything I need.
- The process of packaging the app for Mac, Windows, Linux in installers, and pushing out updates to users was also automated, requiring only a few clicks from my part.
Now I spend only a few hours every week maintaining the app. Sunday is the day when I do what I call the “weekly business checks”. My routine is as follows:
- Look at Google Analytics, Google Search Console reports, and internal revenue dashboards to spot any significant changes in traffic.
- Look at crash rates to see if anything needs fixing urgently.
- Check emails from users.
- And lastly do any bookkeeping required to keep QuickBooks tidy.
In the next few months, I am investing in marketing to try to bring the traffic back up. I am working with a consultant I found on Upwork.
Through starting the business, have you learned anything particularly helpful or advantageous?
Looking back, a missed opportunity was that I started monetizing too late. I was always against it because I thought people would stop using the app if I did. However, my fear was unfounded. Though some users did dislike the ads (as it always happens), the number of downloads didn’t suffer.
On the technical side, I learned a lot about writing maintainable software. When you work on a project for 5 years, and you stumble upon some code you wrote years ago and can’t understand anymore, it hits home — you understand how important documentation is, even for yourself.
A few years after nw.js was created, GitHub launched a similar framework called Electron. It worked the same way, however, it had a larger community and fewer bugs. It took me a few weeks to rewrite Messenger for Desktop to run on Electron, but it was worth it, especially now when analyzing the evolution of the two frameworks in hindsight.
A challenge I’m still facing is increasing the downloads. The app seems to have hit a plateau in terms of traffic coming from Google. I have tried display ads, Bing ads, YouTube, reaching out to blogs, however, none of these worked or would break even.
What platform/tools do you use for your business?
Cloudflare and DigitalOcean for serving downloads super fast.
QuickBooks for accounting. Starling for banking.
For data, I use Google Analytics, Google Data Studio, and Google Search Console.
Advice for other entrepreneurs who want to get started or are just starting?
Read Peak by Anders Ericsson. I’m a firm believer once you find something you like, and put a lot of time into it, you’ll become successful. It works for me!
Where can we go to learn more?
You can get the app at messengerfordesktop.com. You can also tweet to me @aluxian.
If you have any questions or feedback, drop a comment below!
Download the report and join our email newsletter packed with business ideas and money-making opportunities, backed by real-life case studies.
Download the report and join our email newsletter packed with business ideas and money-making opportunities, backed by real-life case studies.
Download the report and join our email newsletter packed with business ideas and money-making opportunities, backed by real-life case studies.
Download the report and join our email newsletter packed with business ideas and money-making opportunities, backed by real-life case studies.
Download the report and join our email newsletter packed with business ideas and money-making opportunities, backed by real-life case studies.
Download the report and join our email newsletter packed with business ideas and money-making opportunities, backed by real-life case studies.
Download the report and join our email newsletter packed with business ideas and money-making opportunities, backed by real-life case studies.
Download the report and join our email newsletter packed with business ideas and money-making opportunities, backed by real-life case studies.