19
30 Comments

How I Built a Cryptocurrency Trading App That Makes $4k/mo

Hello! What's your background, and what are you working on?

Hi. I'm Hari Krishna, a computer science graduate from India. I have been a developer, an engineering manager, a product manager, an entrepreneur, a designer, and a growth hacker for the last eight years.

I'm currently working on ACrypto, an all-in-one cryptocurrency tool for traders. It enables users to keep track of all their cryptocurrencies, set alerts for their preferred prices, find arbitrage opportunities, maintain crypto portfolios from multiple exchanges in one place, and read the latest news from the cryptoworld.

Everyone who is either a trader or an investor or anyone who is just interested in cryptocurrency can start using the app. What they'll like about ACrypto is that it's simple and noob-friendly while also being very comprehensive.

Currently, ACrypto has more than 100K users and 1M monthly sessions, and it's growing at 80% in users and 56% in month-over-month revenue.

ACrypto Website

What motivated you to get started with ACrypto?

I founded DWorkS in 2009 after graduating and have been working on small apps, open-source libraries, and startups ever since (along with my desk job). I built AnExplorer, a file manager which has more than 100k downloads, and I'm also the author of very popular networking library for android developers called VolleyPlus.

All this was fine, but I really wanted to work on a startup — and I eventually did. But after two failed attempts (Gotogether and Shifoo), I realized startups are not really my thing, and instead scaled it down and thought of doing microstartups. I also want to travel across the world, living in different cities like a digital nomad. At the same time I wanted to meet different people, experience different cultures, and along the way build microstartups to solve small problems in the world.

Around this time a good friend of mine introduced me to Bitcoin. I was very fascinated by cryptocurrency and started investing in small amounts. Everything worked out fine the first week, as I was new to everything, but then in the second week I started to realize there were so many issues. It wasn't easy to trade or even manage cryptocurrency. I will summarize the problems:

  • For every task I had to use a different site, and not every site supported all fiat currencies
  • I use mobile a lot, and using my fingers to interact with various UI elements like zooming carousels of charts, was a big pain
  • I had to visit different news sites for the latest cryptocurrency news
  • I wanted to add alerts for these websites, but few of them supported alerts (and a few which did support alerts lacked other important features)
  • I found that there were a lot of opportunities for arbitrage, but no websites or apps presented this in a way that was easy to understand
  • I wanted to maintain my portfolio along with all these things, which was similarly not possible

So I took the matter into my own hands and decided to build an app for myself. Along the way I realized that I was not the only person who had been facing such problems, and I decided to publish it on the Google Play Store. I started sharing it within my company, and it was an instant hit. This helped me to realize the potential of it.

At the time I was working as a Senior Product Manager at Practo and was having a great time, but I couldn't resist the cryptoworld's calling. So I quit my job and decided to work on my project full time, and I haven't looked back. It's been growing exponentially ever since.

What went into building the initial product?

I decided to build an Android app, as I have been an android developer for five years and was good at it. I took a week holiday, sat at home coding nonstop, and released the MVP after seven days. I know how it sounds, but I used boilerplate code right from my open-source project AnExplorer, which made it easy.

I wanted to build every feature at once, but my product-manager intuition kicked in and I cut down the features to the top three that I thought would be the most important (and without which the app would be useless).

So I chose charts, coin list, and news. I searched online for free APIs for the data and luckily found a few and started with one of them. For charting I used a great open source library called MPCharts. You'd be surprised how you can build big, beautiful apps by using only open-source projects.

One of the mistakes people often make is to overthink and take too much time to get products out.

It took me a day or two to get the v0.1 ready. The funny thing is that this was not the first public release. I'd used the alpha testing feature on the Google Play Store, which is a great way to test MVPs without any side effects. I invited my brother and a few friends from my company and started dogfooding ACrypto, and I quicky found tons of issues and bugs. I was fixing and releasing new updates every day. It wasn't until v0.4 that I released the app publicly.

After this I picked one feature every week and rolled it out with beta testers on Google Play for 3-4 days.

I wrote all my production-ready back-end code using Cloud Functions, and I can tell you that it was an absolute pleasure learning, writing, and shipping it out. I didn't know NodeJS, but because it was so easy I was able to master it in a week. And in another week my production back end was ready.

I have to give a shoutout to Firebase for making such amazing tools for developers. I currently use more than 12 features in Firebase, and I can bet that it easily saved at least 2-3 months of my developement time, which is so valuable when you are in the starting phase of your microstartup.

ACrypto on a phone

How have you attracted users and grown ACrypto?

I knew that to grow, I needed more users. I was not initially aware of "product launching" and only came to know after crossing 10k downloads in seven weeks. Yes, I know what you might be thinking, but this was my first microstartup, and it was so overwhelming that I hadn't organized or created a plan around it. Everything was ad hoc. I did a few things which were at zero cost and got all of my current users. I haven't spent a single dollar on marketing until now.

So here is what I did:

  • Nailed down the ASO (SEO for apps). This is one of the hardest parts, and it can easily increase your downloads exponentially or break you down completely. Make sure you get this one right. I made an initial draft of the features, then got all the my competitors descriptions, extracted keywords. Then I used Apptimizer to get more keywords and restructured my app description to fit these keywords. It's a tedious job, but the fruits of completion are worth it.
  • Got the app icon right. Yes, that's right — this is the second most important thing after the description. I have been a hands-on designer from the beginning, which helped me a lot. I took feedback from my designer friends and that's it.
  • Find friends and collegeues. They are also a great way to get a decent number of downloads. I tricked one of my friends to post it on our company's Slack channels for developers. 😁
  • Build a landing page. This is mostly for sharing links so it doesn't need to be that great. A simple standalone website will do. Checkout the ACrypto landing page. This is a must if you want to share your product online.
  • Facebook and Google Plus Communities are another easy way of getting targeted users. Search for all related groups. Just join and post in them. Make sure you have good GIFs with the features on it and add a link.
  • Product Hunt and reddit are some other great places to start promoting your app and to get good feedback. I made two different versions of the copy for these two platforms, as the audiences are quite different. Reddit users like it to be to the point, while Product Hunt users are more open to fancier and cheesier wording.
  • Customer support. This is easily ignored by most, but it's by far the most powerful tool for app growth as well as product growth. So what I used to do was answer each and every email. I used to get over 1,000 emails per month. I know, it was insane, but I enjoyed solving and replying to user issues. Along with that, I used to attach a closing questionnaire asking users to give a review on the Play Store if they liked the app. Trust me: this can do wonders.

That was it. And after six months, ACrypto has more than 100k downloads.

ACrypto logo

What's your business model, and how have you grown your revenue?

This was very tricky for me. I had to earn some revenue to help me pay my bills, as I didn't want to go back to a desk job. Also I was very skeptical about charging in the first month, as my product was in a very early stage. Also, for a service like mine, I couldn't charge a one-time fee, as ACrypto is a continuous service. So the only option was to go with a montly subscription.

So instead of starting directly with a paid subscription option, I released all the paid features with a small banner stating "This is a PRO feature and it require payment soon.". I put this behind a Remote Configuration, another amazing tool by Firebase. This approach helped me in two ways:

  1. I could test, improve, and make the app robust, and get it ready for subscriptions. You need a lot of testing to do this, as it's in the financial space and I was just a single person. Remote Configuration is a great tool for improving paid features.
  2. I could turn on paid features at any time, and I could do so based on usage.

And here are some other things I did:

  • I added a section for new paid feature with just a "coming soon" message to get a sense of demand. It worked like a charm.
  • I kept the price as low as $1.99/month, even though my competitors were charging $6-$12 monthly. This gave me a huge advantage.

After three weeks, crossing 10k downloads, I enabled the paid feature and the subscriptions came from left, right, and center. My strategy paid off and cemented my belief in ACrypto's future potential.

Currently I'm making $3,500 monthly, and I expect this to grow by 3x in coming months. I have a profit margin of 60%, as Google takes away 30%, and taxes around the world fall near 10%. It's been just four months, and revenue has been higher than expected.

Month Revenue
August 850
September 1810
October 1830
November 2265
December 3500

Note: December revenue is projected.

One of the best decisions I made was to monetize early on instead of waiting until the app had a lot of users. I know it's a common strategy to wait a little longer, but trust me, it's not at all easy to start charging once you have a large user base. Monetize early on if you are providing a value-added service.

What are your goals for the future?

Cryptocurrency is growing at 1,000% these days. This is a good thing for those in the cryptocurrency space, and it gives a lot of opportunities not just for ACrypto but everybody else out there.

To be sure, there's tough competition in this field and we're not the only big player in the market. But my vision is to truly make ACypto an all-in-one tool for traders, and in order to do so I need to build the following features:

  • Exchanges integration so that trading can be done from a single place
  • Get tax and accounting features implemented for managing everything that the traders' buy and sell — no one is doing this currently
  • Generate trading signals. I want to use machine learning and AI as well as backtesting models to predict and give trade recommendations.

I have to admit that I have been overwhelmed by the success of ACrypto. Apart from the new features, I'm planning to increase the user base by at least 3X. For this I've built a referral feature which gives both the referrer and invitee a free subscription. I believe this is going to be another great way to reach more users at the cost of short-term revenue opportunities.

I've also recently released ACrypto on iOS. It's growing in a similar fashion to the Android app, but it's still very early. My main focus there is to bring parity to the platforms and make everything stable and robust.

If you had to start over, what would you do differently?

One of the biggest mistakes I made was to include a library which I assumed would work, without testing it. It was supposed to show an update to users whenever there was a new version of the app. It was a single line of code, and for some reason I failed to test it. But after a month it came back to bite me.

I still remember when I released v0.7 of ACrypto. I got like 10,000 crashes in less than an hour. All hell broke loose and I was in a total confused panic. But I somehow found the nerve to fix the issue. Then I released an update and sent a notification update to all of my users about the crash immediately. I think this cost me more than 5K users, and I hadn't even crossed the 10k mark.

The lesson I learned that day was that no matter how bad things were, there was always a way to make things a tad bit better.

The other big mistake I made was to build for the Amazon app store. It would have been a straightforward thing, but unfortunately Google and Amazon don't gel well. Firebase works great on Andorid, iOS, Web, Unity, C++, etc. But it doesn't work on Fire OS, a fork of Google's own Android OS.

But I found the potential for growth compelling, so before building for iOS I rewrote 30% of the app to make it work for Amazon devices. I released it on the Amazon app store, but to this day I've had no luck — they've rejected ACrypto, calling it a gambling app. I've contacted their support like a dozen times but always got the same standard reply that they can't pinpoint the issue, as they get so many submissions.

If I had to do it again, I would simply skip the Amazon app store, thereby saving myself a month's time. I'd like to quote my own tweet, which summarizes my experience:

Working with the appstores has been great mostly. Working with @GooglePlayDev has been an absolute pleasure, like a cake walk. While with @Apple appstore it was like walking in a busy park. With @AmazonAppDev it was like walking in a desert literally, your worst nightmare

— Hari (@1HaKr) December 18, 2017

Angry tweet

What are the biggest challenges you've faced and obstacles you've overcome?

For the iPhone app I had to learn Swift and iOS. One of the biggest pains was mastering auto layouts in XCode, but I managed to do it all and release it in 35 days sharp. Yes, I was surprised myself. It's now experience a 70% growth rate. I'm very happy and proud of it. I learned something new and also enjoyed it thoroughly.

In terms of retention, a few things that I did and learned:

  • You need to continually (and indefinitely) touch base with your users. It doesn't matter what type of product you have or in which space you are operating.
  • Make sure your app is crash-free. This is a rule of thumb for retention. ACrypto has a 99.67% crash-free rate, and I can attribute the majority of ACrypto's retention to this.
  • Notifications are like fuel for any app to succeed. This is another feature which can make or break your app based on how you play with it. I used notifications to mitigate problems, like informing users up front about upcoming downtime, crititcal bugs, etc. So notifications also helped me come a long way in terms of retaining users.

Have you found anything particularly helpful or advantageous?

One of the things that really helped me was catching the uptrend in the cryptoworld and riding this wave. If I'd waited until today to start, I doubt I'd have found the same kind of success. So finding the right time is very crucial.

Another thing that I think has always worked, at least for me, has been to build the things that I personally need very badly. In my opinion, you are the best validation source for product/market fit. Both of my microstartups have done well, as I built them just for me. A slight variation on this is when you understand the problem very well. This contributes a lot to your chance of success.

I took the matter into my own hands and decided to build an app for myself.

Additionally, my experience as developer, product manager, designer, and growth hacker have easily saved me a lot of months that I would otherwise have spent learning.

What's your advice for indie hackers who are just starting out?

I've read a lot of resources online about indie hackers building amazing products, but most of them have been web apps. For mobile app developers like me there are hardly any examples. So for all the mobile developers out there who want to build great products or run microstartups like me, keep these things in mind:

  • Just release. One of the mistakes people often make is to overthink and take too much time to get products out. I'd say take no longer than two weeks and get your MVP out. This, I think, is the best strategy for indie hackers
  • Always release your product in as many channels as possible, like Android, iOS, Amazon, Mac, and Windows (at your own pace, of course). This definitely helps you to maximize your potential.
  • Don't hesitate to dream big; don't be conservative in anything that you do. Always be aggressive in what you are chasing and learn to handle failure. It's the hardest thing you'll deal with, but once you get over it nothing can stop your progress.

Where can we go to learn more?

You can reach out to me any time on Twitter at 1HaKr. If you want to learn more about me, visit my website. If you have any questions or want to learn more about how I managed all this, feel free to comment here.

I would like to thank Channing for having me on Indie Hackers. I totally enjoyed sharing my experience. 😊

  1. 1

    Passive income is the dream of every person. With the development of the Internet, it has become much easier to make money. Some people are successful at gambling; others make money from trading. I've been doing swing trading for about half a year now. I think I've become a real pro at it. At first, it was hard for me to find an effective strategy. But with recommendations from forum users, I have found a plan that suits me here http://timthomas.co. I think it is useless to develop a strategy by myself; it is better to trust the experts in the field of the economy.

  2. 1

    Awesome interview. I appreciated all the gold with regards to attracting users and growing ACrypto. We're also utililising a number of these for our project. All the best HaKr.

    1. 1

      Thanks man and All the best for your project!

  3. 1

    Great inspiring work Hari.

  4. 1

    Nice progress. The best trick was to ask for review when someone reports the bug 👏

    1. 1

      Thanks, got a lot of reviews with this.

  5. 1

    Really good article 👍🏼

  6. 1

    Wow! I read through all of it. I found this blog through Google and I'm glad that I did. Beautiful and I look to reading more of your interviews.

    1. 1

      I'm happy that it liked it.🙂

  7. 1

    Fantabulous work and inspiring article, ill appreciate your effort in emphasising your work in both operational and technical stand point of view

  8. 1

    Great inspiring article Hari. Good luck

  9. 1

    Great article! Always good to see fellow Indian hackers doing well. You mentioned wanting to travel the world - are you able to do that? Or is supporting the app sucking up too much time?

    1. 1

      Thanks. Work is indeed sucking up time but i'm learning to manage it.

  10. 1

    With the new tax bill closing loopholes for in kind trades including crypto, any chance you might be adding a trades journal to help traders keep track of their taxable events? http://bitcoinist.com/cryptocurrency-investors-lose-tax-break/

    1. 1

      Yes, it's in my plan to build tax and accounting features.

  11. 1

    Thanks for sharing! I’ve already using this app!
    Track my bits and ethers :)
    Two questions: what traction channels worked the best for you? Can you share kind of approximate numbers of how many of your users came from social sources and how many from search optimisation that you’ve made?

    1. 1

      So social would be 12-15%
      ASO would be 70-75%

      1. 1

        Interesting! It's just proof the point that posting your app on an SM give you some spikes on downloads, but long-term strategies like ASO, SEO are what make the difference.

        1. 1

          Yap, thats right

    2. 1

      BTW looks like your revenue chart replicates the bitcoin price chart :)

      1. 1

        I hope it doesn't crash similar to btc 😅

  12. 1

    What exactly are the paid tools? How did you know which tools to charge for?

    1. 1

      The paid ones are arbitrage, alerts , portfolio and advanced charts. I decided this on which feature is going to drill holes in my pocket 😛. Mostly these are useful for traders and as traders make a lot , they wouldn't mind paying a small subscription fee.

  13. 1

    This comment was deleted 4 years ago

    1. 1

      Thank you so much