Jia Huang

My experimentation with passive income

Back in the spring of ‘12 I wanted to experiment with passive income. My selection criteria for projects were:

I ended up building two projects:

I didn’t really know how to reach the base of users for Gladomus (people who would know enough tech to use Google Maps & Wiki, but were too cheap to pay for data plans), and to be honest, my texting interface wasn’t very good either, so I gave up on that pretty quickly.

The DoTA 2 guide did pretty well though. Over the course of its ~2 year lifespan it made about $2.5k, and was #1 in the search results for “DoTA 2 guide” on the Play store with 200k+ downloads.

Developing the app in 1 week

Each DoTA character has multiple configurations of skills and items. My original plan was to outsource guide writing to my friends, but that failed due to them not really having any incentive. It was too time consuming for me to try to write the guides (plus I didn’t have the expertise), so I ended up writing a scraper for existing DoTA 2 sites which had poor mobile rendering. I decided to store all the content in a SQLite database on the device to avoid having to build any kind of cloud backend.

The scrapers turned out to be my biggest advantage. Steam was actively developing the game at the time, so there would be new characters released every few weeks. I had all my data collection automated, so it was easy for me to update.

My breakdown of time was something around:

In the end the app looked like this:
dota 2 screen dota 2 screen dota 2 screen

Not terribly pretty, but it does the job. I didn’t spend any additional time past the one week on app design. Futher development work was just bug fixing or data collection.

Marketing

In order to get the word out, I published a post about the app on the DoTA 2 subreddit. It wasn’t highly active at the time, so my post stayed on the front page for a week or so. That week got me the initial 100 downloads, which bumped me to ~#5 on the search results for “DoTA 2 guide”. Over the next month I was very active in releasing builds and bug fixing which would push up the app rankings again. I got a lot of positive reviews about how fast the app updates were compared to competitor apps (+1 for automation). Within about a month the app was within the top 3 search results.

Monetization

I released two versions of the app, one with ads and a “donate” version for $1 without ads. The ad version averaged ~$90/mo while the donate version only averaged ~$10/mo. The first few months I was lucky to clear ~$10 - $30/mo. The peak was around Dec ‘12 when the app made ~$450.

There were a few things that could have driven up my profits had I been willing to spend time on them:

Things that went wrong

This was the app logo:
dota 2 app icon

This is Steam’s official DoTA logo:
official dota 2 icon

That wasn’t smart.

I also used “DoTA 2” directly in my app name. There were plenty of other apps that had “DoTA” in the name, so I just kinda didn’t really think about it. 2 years later I got a DMCA notice that my app had been removed from Google Play.

I’m not a very good Android developer, and I only had ever bothered testing it on my Nexus One. I couldn’t even verify bugs that existed on some other platforms. I also didn’t have the energy to do so, which resulted in a few negative reviews. Fortunately this kind of thing seems to be common for “indie” Android apps, and I don’t think it really effected downloads in a large way.

The web scraper scripts started breaking down when the layouts of the sites changed. I did some maintanence on it for a while, but never really fixed all the bugs. By that time I was busy with school (and the actual funded startup I was trying to run), so I just didn’t release updates. This eventually ended with a ton of uninstalls which was terrible since the majority of the income came from ad impressions. Lowered ad revenue made me more reluctant to spend any time updating the app, a vicious cicle which just lead to more uninstalls.

I think I should have tried to flip the app about a year into it. I was no longer motivated to spend the time to build & release updates. At that time the app was still high in the search results, and could have done a lot better with a bit more development effort.

Things I learned