How I created a profitable Android text recognition application

    Hello. In the last article I told you how to earn your first $ 100 in the Google Play Market. In this article I will talk more about the development and management of the project.

    The subject of the article is an Android text recognition application, which is 4 months in the market and has almost 10,000 installations, is monetized through paid subscriptions, in-app purchases and advertising.

    The application can recognize text (Google Vision OCR API), translate recognized (Bing Translate API), generate Searchable PDF, store history in the Cloud.

    A little bit about recognition, the choice of API

    The idea to create your Android text recognition application has been around for a long time. The theme was chosen randomly. I wanted to quickly create an OCR application, because I already had a ready OCR functionality based on Tesseract. Earlier on Habré, I wrote how to create a simple OCR application based on Tesseract . At that time it seemed to me that the work was done almost in half, that it is only necessary to quickly roll a beautiful face - and in production! Oh, how wrong I was.

    In the process, it became clear that performing OCR on an android device is a bad idea, the device performance is low, you have to wait a long time for the result. In addition, the Tesseract OCR module takes up a lot of disk space (17 MB), and this is only the Light version with a minimal dictionary of English. I decided to create a backend part, and bring the OCR module there. The recognition quality has increased by 20-30% due to the fact that the dictionaries have become more complete, as well as the opportunity to use the Tesseract version is fresher (the Java wrapper for Tesseract is updated more often than the Android wrapper).

    But all the same, the quality of recognition was, so to speak, oopsorsnoe :), which was to be expected from the library's opensets. Then one casual acquaintance with GitHub suggested me to test the Google Vision OCR API. The library is not free, but I have a psychological readiness to pay for the API. Google Vision gave a much more accurate result and this is exactly what I am using now. In a month I pay about $ 20 for using only this API.

    Google offers a good library for translating text, but it seemed expensive to me - translation was 2-3 times more money than recognition, and in order to save, I switched to Bing Translate API from Microsoft. The quality did not fall, but in advertising I can’t shout about 100+ languages ​​for translation, there are only 64 of them here. There are no free good APIs for translation.

    All other services that I use are google. Google App Engine for hosting an application, Google Database, Google Storage for data storage.
    It is convenient for me to use ready-made solutions - I work alone and have little time to develop (I am a young mother).

    A little about the design, team management

    The development led alone, but attracted the designer and Junior Android developer to pull a new design.

    I want to write a little about the search for a designer. The design of the application, the icons, the promotional graphics cost me $ 55. I suppose it is very cheap and the price more than matches the quality. She found a designer in the Russian freelance website. Designers who take little have a common feature - they work well only when it is described in detail, to what shape each button will have and what RGB color code this button will have. This means that you need to be a creative director and spend your time on detailed TC.

    Junior Android developer found on Upwork. Just wanted to get experience from the customer. Gave him a simple task - to pull the design. I paid 70 dollars. Of course, it would be more interesting to hire a senior dev-a, instruct him to evaluate the architecture of the application, learn something from him, but did not dare to spend a lot of money.

    I want to note that the involvement of other people in the project allows you to better control the project. When you plan for others, set deadlines - you plan for yourself and you begin to do your part of the work faster and more consciously.

    A little about the spread

    When the app came out in the Play Market, I launched an ad for AdWords, attracting users from all over the world. Most users came from India (15% of the total). At the same time, people from these countries have never bought a subscription. They made a subscription many times, but for 7 free trial days they canceled it in order to avoid payments. In addition, their clicks on advertising were almost nothing. Serving these users was not profitable, because I pay for the API and I decided to remove the application from countries that are not in the top 30 for GDP per capita, including Russia and Ukraine.

    I hope my experience was useful. If you are doing similar projects or just want to share experiences - write or add to linkedin.

    Also popular now: