My First 1 Million Installs as a Solo Indie Android Developer

Hussein El Feky
10 min readJul 13, 2019


Reaching one million installs as a sole self-taught Android Developer and without any penny paid for advertising is certainly a huge achievement; The path of the self-taught developer is tough and clouded with uncertainty. Because of this, I believe every self-taught developer has a unique story to tell.

In this article, I would like to share my journey, reaching my first one million installs. Hopefully reading about my experiences will help you reflect on your past and motivate you moving forward.

How I Started

In fact, you do not need a great idea to start.

Early in the beginning since I was young, I have always loved to build stuff, which eventually made me curious about learning how apps and games are built. I started to read about programming when I was 13 years old. However I only took it as a hobby every now and then, so at that point I only learned a lot of very basic concepts (i.e. if conditions, loops, etc.) from random websites on the internet.

What made me decide to really start was I sort of caught the “programming bug” one day. I got serious about building Android apps when I turned 15 years old. Why Android particularly? My first phone was an Android device, and I can easily say I fell in love with the operating system. I liked Android user experience more than that of any other operating system, so I decided to go along that road.

The Idea

During 10th grade in high school, my friends always requested me to calculate their GPA, since they did not know how to calculate it. Of course it took a lot of time for me to calculate it manually, which then gave me the idea of building an app that automates the process. My main goal was to have fun, and I thought to myself “Hey, this is a field that I’m interested in, why not dive in deep and learn a lot early on? I will definitely gain lots of experience during the process.”

How I Started Learning

Consequently as anyone would have done, I started to slowly learn the fundamentals of Android development from some random YouTube tutorials. However, I didn’t find any YouTube tutorials that covered advanced topics, so I needed to find another resource. Then everything changed when I stumbled upon Stack Overflow, the most well-known Q&A website where developers share their knowledge and their experiences on how to tackle different problems. I always searched on it whenever I stumbled upon a problem. If I could not find a solution, I usually ask on Stack Overflow or head to Android’s developers reference (Google Documentation), where I can understand more behind every bit and piece. Finally it evolved to me reading source code; I found out it was the best way when it comes to learning anything on a deeper level as you can correlate everything with each other when understanding the source code.

Finding Inspiration

At first, my aim was not to publish an app on Google Play Store. Actually I never even thought of that. I only liked to try experimenting and build new stuff while having fun. I kept learning, searching here and there to learn how to develop an Android app. Slowly but surely, my app started to gain more and more integrity, and many people encouraged me to continue developing the app. Until at a certain point, I felt I needed to extend my project on a wider scale. I opened Play Store and decided to explore all GPA Calculator (my app) competitors, and that was what inspired me to further continue the app development. I saw that all of the available GPA Calculator apps on Play Store were either not good enough or missed some necessary features. So I asked myself “Why not me? I can still further enhance my own app and add all the features that any student might necessarily need, then publish it on Google Play. At the end it is all experimenting.” and that is how it all started.

From Idea To Publication

It took me around five months from idea to publishing the app. This is considered a bit slow, but it was my first app, so the learning curve was steep because I did not have too much free time as I got involved with my exams in my high school during that time.

My app is the first app on Play Store that supported Custom GPA Grading Scale option, which enabled the users to create their own GPA grading scale, editing the grade points of each letter grade to follow their own education system.

After lots of hard work and determination, I finally managed to publish my first app on Google Play Store. Until now I remember the experience so vividly and in extreme detail. I remember the feeling of me pressing the Publish button, and I remember how I was super obsessed with the app installs and the app rating. I remember my very first five star review… I felt so accomplished at that time, and it gave me this motivation to keep updating the app and putting out more and more features.

My Passion

Honestly, my passion towards Computer Science is what made me want to learn as much as I can and want to build as much as I can. I fell in love with the process of building a project. How it all starts as an idea, a spark, then I ask questions, look to see if there is a demand or not, and if people would be interested. Then me breaking down the BIG project into micro challenges and me tackling them one by one, seeing something big being built from the ground up. Then finally sharing my creation with the world, letting me know if I did a good job, or sometimes letting me know I need to further improve. Getting a negative review feels bad, but then you adapt and you come to peace with the fact that only through this pain you can get better.

The Process

The process from idea to publication depends on the complexity of the project, but I believe in shipping a minimum viable product to test if there’s a demand or not for my idea, then I build, analyze and learn, then further improve if it has a good potential. During my whole app development journey, no one had helped me; I am 100% self-taught. I learned how to ask the right questions to find the answers I needed.


I somehow knew that if I put any of my apps up for a price, I would certainly miss a lot of opportunities. Not many people would buy it, thus leading to much less installs, so indeed it would have been barely possible to reach one million installs that way. Most importantly, my apps would not have had a huge impact on my resume if I were to make them paid. As of today, more than 90% of downloaded apps are free apps.

Some people might disagree with me, but I always cared for gaining experience more than gaining a huge profit. So any app I developed had to be free, and the money had to come from either ads or in-app purchases. The advantage of using ads is that as the user base increases, the income per month increases. It’s not a one time sale, so even if there are no new users for the app, but all the past users retain it, you will still earn approximately the same as you did in the last month.

Marketing Strategy

Success doesn’t (usually) happen overnight.

Marketing your app is a major step towards app success. There are numerous ways to market your app, from advertising your app on advertising platforms like AdMob, or creating a Facebook page and let people follow it through any mean then post your apps on it, or continuous sharing from friends to friends, to just simply optimizing your app store listing. While all the above is heavily effective, the latter is what I really focused on.

ASO (App Store Optimization)

ASO, or App Store Optimization, is the process of optimizing mobile apps and games to maximize visibility on app store listing and improve the conversion rate to install.

I simply conducted store listing experiments, and every while and then, I checked the app number of installs. When I see that the app installs got higher, this most likely meant that the app store listing turned out to be better and got more effective, else it meant that I needed to revert it back.

I tried mentioning as many keywords as possible that are relevant to the app in the app description, and I always kept it simple. I also mentioned the key features of the app and included descriptive screenshots for all the main features of the app. And whenever it was necessary to showcase the app a little bit more, I uploaded a promotional video.

There are definitely much more things to consider, but these are just the bare-minimum tips for ASO.

Running House Ads

Along with optimizing my apps store listing, I have also ran House ads for all my apps through AdMob. House ad campaigns are cross-promotion campaigns that serve ads to an app using a developer’s own inventory for free.

There are two goals that you can select from for House ad campaigns:

  • Use your house ads as backfill when paid ads would have negligible value.
  • Enter an eCPM value used to place your campaign in the mediation chain.

I chose the first goal. So for example when App A does not get a good ad backfill with high or even moderate eCPM value (estimate revenue for every thousand ad impressions), App B ads will be automatically mediated for backfill on App A. That way you will be able to advertise your other apps for free when there is no backfill or a backfill with negligible value on your app while not losing out on any good amount of revenue.

What Are The Results?

My apps total installs breakthrough as of 12th of July, 2019

It took me around 4 years to reach one million installs.

GPA Calculator was very well received. It has a very good rating and many positive reviews, but I would not consider it my most successful app. Not because it wasn’t good or anything; it’s just the demand isn’t very high. On the other hand, I have four other apps that I also published during the last four years of my app development journey.

Typing Master: An educational game, in which random words fall down from the screen and you have to type them as fast as you can. Today it is my most installed app with nearly 500 thousand installs, and at a certain point, it ranked among Top 100 in Word Games category in more than 25 countries, including #15 in India, the second largest population in the world. Initially, my Typing Master’s main intent was to enhance the user’s typing speed, however I found out that in India the app was perceived as more of a word-learning app, which helped people type faster as well as learn new words simultaneously. Consequently that made me become more passionate about developing this game.

Character Pad: A tool for copying and pasting any Unicode character in a fast and orderly way. You click on any character to copy, then paste it anywhere you like. You can also long click on a character to learn more details about it. It is the first app on Play Store that supported Supported Characters option, in which users can hide unsupported characters that the device system fonts do not support (that appear as a blank box — tofu).

The two other small apps Items Counter (a simple tool for creating lists of countable items) and Be Like Bill (a small app that creates Be Like Bill memes that once was a famous trend at the past) have not gained a lot of attention, since neither of them has had high demand. They were mainly curated for my friends and family; they took no much time to develop when compared to my other apps.

What‘s Next?

I am constantly working on all of my apps and always will be, however many things get in the way, mostly college and social commitments. I always try to balance between my life and my journey as an Android Developer.

Since I have reached one million installs, I decided to further extend my career. I am now getting prepared to sign up for Google Associate Android Developer Exam in the course of the following weeks. Getting certified by the organization that built Android and is considered to be one of the leading tech giants in the world is the ideal option that no one can deny. Earning this certification will be a definitive step on your path to a career as an Android Developer. It will make you stand out from the crowd whenever you apply for any job, or in my case internships. I definitely recommend that for anyone up to the challenge.

If you like this article, please do not forget to spread the word and share it with your friends!

Connect with me