Hi there! My name is Jérémy Mouzin. I'm a software engineer from Grenoble, France. After school I worked for six years in a consulting agency before I decided to quit to create my own business.
I've been working for four years now on an Android app called Hercules, it helps you manage your workout performances easily and stay motivated to achieve your fitness goals. It has been featured twice by Google worldwide, and it ranks #2 on the French Play Store.
I make around $3000/mo after Google's cut (30%) and VAT.
After quitting my job I wanted to build a business and earn some passive income. I thought making an app would be perfect for that. At that moment I was working out several times a week with a popular method in France. I wanted an app to track my progress and get rid of my pen and paper.
Unfortunately, after trying literally several hundreds of them, I didn't find any app where I could add my own exercises, pictures, and workouts, and then hit play and follow the instructions on the screen. So I decided to create my own app from scratch. I didn't know a thing about bodybuilding (just the method I was following), and I had to learn Android development in the process too.
I wrote the first line of code in 2013, October 27th. To make a long story short, I negotiated a six-month part-time contract with my latest client after quitting my consulting agency. This way I could spend all my evenings, plus weekends and Mondays, on the app. 3 days in a row every week — perfect to get things done!
I was progressing quite slowly because I had to learn the Android framework from scratch, plus the best practices. (I'm a perfectionist — not the best quality to ship early.) I had an old phone with Android 2.1 Froyo so I developed the app to be compatible with this version. But it was very old at that time so I had to use the compatibility library, making development more painful and slow.
That was a huge mistake, I should have bought a newer phone and started developing on a more recent version of Android. It would have been easier and faster. But I was a greedy idiot: I didn't want to spend money on a new phone. I learned the hard way that losing several weeks of development costs so much more than a $150 phone! Never spend your time to earn money; spend your money to earn time.
At the end of my part-time contract, I created my company and started working full time on this project. Today I estimate that the first release of the app took me approximately nine months to build at the pace of a normal job. The first version was pretty small but fully-customizable from day one. That's why it took forever to build.
I could have simplified the app by simply replicating the workout method I used into it, but due to intellectual property I couldn't do that — it would have been illegal.
The interesting thing here is that at the very beginning, adding fully-customizable exercises, pictures, and rest times in the app was an extremely painful process. But today, this exact same feature makes the app so appealing to my users. They are delighted to be able to set different reps, weights, and rest times for each set! Lots of trainings now use this technique to increase muscle gains, so Hercules is perfect for them.
Because I was a total newbie in the bodybuilding domain I registered on the #1 bodybuilding forum in France, musculaction.com, to learn more from my future customers. I contacted the administrator and he accepted to add a specific topic for Hercules so I could talk about it.
I attracted more people on this thread by answering questions on the forum. I added a link in my signature so people could click on it to see my app. Also, I added an export feature in phpBB format in Hercules so I could share all my weekly performances on the forum with a generated by Hercules tagline that made users curious.
All my first users came from here. I didn't launch the app, because I didn't know anything about building a community or managing mailing lists or launching products. So I ended up soft launching it on the forum one year after the first line of code. Users gave feedback and asked for new features. They were thrilled to participate on the next features of the app, which they used daily.
Success didn't come overnight though. Even if people were satisfied on the forum, I didn't rank well on the Play Store. My app was buried in the goddamn sea of thousands of fitness apps. I had to do something to get through the noise.
Here is the list of almost everything I tried. Thanks to my blog (it's in French — sorry guys!) I documented everything I did, so this list is a goldmine for any app developer.
The secret to ranking on the Play Store is to market your app outside of it. You must drive traffic from the outside to the Play Store before organic growth starts to kick in.
But first, let's talk about ASO (App Store optimization). That's the basic thing to do to rank well. Don't even think one second to rank well without doing it. Everybody does it so you have to do your homework too. This is a summary of things to know. I dedicated a full post about this subject on my blog:
Now let's talk about the outside marketing of an app. The central point here is to ask yourself this question: How can I drive traffic without using the Play Store? How can I attract people who are not searching on the Play Store to be redirected to my app?
There aren't thousands of ways to find new things online. When people are looking for something, they Google it. So here is what you can do:
I did all these things along the way and managed to rank better over time. But it takes a lot of time. And your best friend here is good word of mouth. In fact, the most powerful tool to grow any product is word of mouth. So make your product awesome and people will market it for you!
Hercules is free to download with full features. You can use it for free for seven days. After that trial period, you can't use the app anymore and you have to unlock it by paying $9.99.
Most of my revenue comes from people unlocking the app. But I do earn some money in a new "shop" section within the app, where I sell ebooks (via Gumroad) and workouts. (This is only available in the French version of the app, as I wrote the ebooks/workouts in French.) I also do some affiliate marketing where I sell supplements and proteins, but that's a very small part of my revenue. The nice thing when you sell ebooks through Gumroad is that you don't owe 30% to Google.
I tried to make money from advertisement, but it didn't work at all. People use the app to do their workouts. They are focus so they have no time to click on an ad when using the app. I had some terrible conversion rates and didn't make a lot of money with ads. I stopped almost immediately, because it didn't work and because I hate ads.
Anyway, I started charging for my app from day one, because I wanted to make a living out of it. I set the very first price to $0.99. There weren't that many features at the time, and it's always difficult to put a price tag on a product, but people paid for it. Some said that it was cheap and other said it was expensive. I realized very soon that making a lot of money from an app would be quite hard.
Moreover Google takes 30% and VAT 20% when I sell to a French customer. Today 60% of my customers are French. I get only 58.3% of profit after a sale. The first people that bought my app were the users that were following me on the forum. They bought it just to support my hard work. It was nice, but I knew I needed more to make a sustainable business.
To grow my revenue I tried advertising on Google Play and Facebook, but I couldn't have a positive ROI, so I lost some money here. I continued adding new features over time, and people complained it was too expensive. I was like, "What?! I worked for several years on this and you don't want to pay even $1 for it! Seriously? What's wrong with you people?"
So I tried to learn how to make more money from a product and read a few blog posts about this. I stumbled across one post that talked about price elasticity. So I simply raised my price from $0.99 to $1.99 without changing a thing about the app. And two things occurred. First, people stopped complaining about the price, and even told me it was too cheap (!!). Secondly, my revenue increased.
I thought raising the price would make fewer people buy the app, but it increased the sales volume. I didn't understand why. But after a while I figured it out: value is connected to the price. If you sell something cheap, people will think it doesn't provide a lot of value because the price is so low. Raise the price and they will definitely reconsider their thoughts. So I gradually raised the price from $1.99 to $2.99, and then $6.99, and now $9.99! Each time I shipped a big feature I raised the price.
It's a matter of equilibrium. You need to find a way to maximize your profits, not the number of sales. If you sell 10 units at $5 you earn $50. But if you sell 6 units at $10, you earn $60. That's much more, even if your number of sales decreased. Moreover, you have less customer support to do and the quality of your customer is better because someone who paid a high price is more engaged in your product.
Today I sell an average of 570 unlocks/month. Here's my revenue from this year (for unlocks only):
Month | Revenue |
Jan 2017 | 3232 |
Feb 2017 | 2592 |
Mar 2017 | 2778 |
Apr 2017 | 2712 |
May 2017 | 3331 |
Jun 2017 | 3468 |
Jul 2017 | 3198 |
Aug 2017 | 4152 |
2017 revenue. Unlocks only.
And here's a broader look at my lifetime revenue:
Month | Revenue |
Oct '14 | 8 |
Jan '15 | 292 |
Apr '15 | 266 |
Jul '15 | 528 |
Oct '15 | 914 |
Jan '16 | 2159 |
Apr '16 | 1295 |
Jul '16 | 972 |
Oct '16 | 2856 |
Jan '17 | 3232 |
Apr '17 | 2712 |
Jul '17 | 3198 |
Lifetime revenue. Quarterly.
My revenue really started to kick off this year. With the new year's resolutions and some new features that people wanted, it started to spread all over the place. I got emails from users telling me, "I asked guys in my gym which workout apps were good and everybody told me Hercules is the best so I tried it and I purchased it immediately." How awesome is that kind of comment? I love it!
Now that Hercules brings me some passive income (even if I need to do some customer support every day and continue to fix bugs and add new features) I want to start a new business without the drawbacks of an app. I've set some specific goals to achieve for my next project.
I'm currently working on finding the best stack to use to try an idea fast (buy a domain, set a landing page, drive some traffic, see what happens) and in the cheapest way possible. I won't make the same mistake of indefinitely developing an MVP. I should even try to test my idea without a line of code.
I will test one idea per month every month until I get some real results.
Developing Hercules was technically difficult. I had to learn everything from developing for Android to designing an app to marketing it. I thought that building a good app would be enough, but it's not. It's just the first step. You need to market it like hell to get something in return, and I hate marketing!
Also, I made the mistake of developing on Android first (because I knew JAVA) instead of iOS. But iOS users are more willing to pay for apps. They have more purchase power. There is more competition for sure too. But every day I have guys asking me when Hercules will be on iOS. And I say, "Never." I don't have the energy to do everything again on iOS.
If I had to start over again, here are the exact steps I would take (these steps are useful for an app or any other product):
Read! A lot!
There are tons of blogs posts and information available for free that will help you save tons of time and money. Educate yourself, and start with a little project that should not take more than a month to launch from start to end.
Read this book: Will It Fly from Pat Flynn. It pointed out almost every mistake I made. Everyone should read it before starting a new business.
Also, learn design because design will make the difference between you and your competitor. Read Don't Make Me Think from Steve Krug, which just opened my eyes on how crappy my first app versions were! I'm still learning design, but I made huge improvements in this area, and users feel it.
Don't hesitate to spend money on online trainings, even if it's several hundreds dollars. It's worth it!
Last but not least, if you want to get things done, set a deadline. ALWAYS. Otherwise you'll never finish anything. I've put out one new version of Hercules every single week (on Fridays) for the first three years of development. The app counts now 137 files and 42,000 lines of code. I couldn't have done that without this strict way of working.
I hope you enjoyed reading my journey to where I am now! Thanks for having me on Indie Hackers, Courtland. Let me know in the comments if you have any questions or suggestions — I would love to read them all!
Herkule awesome story thanx for inspiration so much! Would you mind sharing what kind of cold email you sent to forum administrator so that he accepted your thread?
Hi,
Just be short and to the point. Something like :
"Hi, I'm building a mobile app to do X and I want to get feedback from your community. I read your forum guidelines and I'm not sure if I can post a link to my app without violating them so I ask first your permission to do so.
Here is the message I want to post on your forum to get feedback: . Does it respect your guidelines? If not, how should I modify it to respect the rules? Thanks."
Something like this. Most of the time, just tell him that you need guidance and ask for permission to post the thread.
Be respectful.
Good luck,
Jeremy.
Wow, thanx man for the share, being respectful goes a long way. Its exciting really that there are so many niches and forums to use this technique on, an online acquaintance also used a similar approach so this is a great confirmation that forums really work to get traction.
Awesome post man. I'm starting to learn how to code myself (failed multiple development projects in the past working with freelancers). any tips or resources you recommend? Wish you the best of luck with your app!
Thanks for your message! Learn to code with a project in mind. Work on a real (but little) project. It's the best way to learn.
You can find free resources online to learn how to code nowadays, use google to find them, they're plenty of them. Read code from others too, you'll learn a lot. And bookmark StackOverflow.com forums too! Good luck to learn how to code, it's an awesome skill to develop!
You've given it a lot of effort, so, for your future projects you want to go the other way around:
"I'm currently working on finding the best stack to use to try an idea fast (buy a domain, set a landing page, drive some traffic, see what happens) and in the cheapest way possible. I won't make the same mistake of indefinitely developing an MVP. I should even try to test my idea without a line of code. "
I'm wondering how do you intend to drive the traffic because you stated that you hate marketing?
Hi Ante, you're right, I hate marketing. But I will do my best to talk to customers first, try to harvest an existing community maybe.
I know I'll have to do some marketing, it's mandatory to get the word out there, but I won't build anything before validating my idea. So I may do the marketing before I actually code anything, which is the opposite of what I did with Hercules.
Excellent article, and beautifully explained "hacks" (I hate this word, but it applies here) to rank better within the Play store. Kudos to you.
Thanks!
Thanks for sharing this! Regarding monetization, is the $9.99 a one-time fee? Have you tried subscriptions? And how many of the users that install the app end up paying for it?
Thanks for your comment!
Yes the $9.99 is a one-time fee. About 3% of the users that install the app buy it.
I didn't try subscription because I asked to a lot of customer if they would buy it and most of the time a subscription model is big no-go for them. Also my retention rate aren't that great (3 months, the same as in the gym!) so a subscription model may plummet my revenues... because I couldn't sell a $9.99 / mo subscription, I would have to lower the price to maybe $4.99 / mo or even less.
I'm working on a mobile app as well and these insights are very helpful, thank you. The 3% conversion rate from free to paid is in-line with the industry average.
For subscriptions I agree, having a monthly or quarterly option doesn't make sense as the revenue would be too low and there are more chances for people to cancel. I was thinking for a yearly subscription, I might try that with my app.
How is the user data stored in your app? Do you store it locally on the user's device or on a server?
You're welcome. Yes the conversion rate is reasonable.
I store the data locally on each user device. I did this due to some legacy code I built in the first place, I would NOT recommend you to do this because today users expect to change and sync their data across all their devices seamlessly.
You should use some Firebase online data storage kind of service for your app, definitely.
That's exactly what I'm using for storage, Firebase database :)
The good thing about how you store data is that you don't need a server or at least it doesn't have a big load. So a one-time payment is ok in this case. Otherwise you would end up with lots of people to support on your server and no revenue from them.
Nice you already are on firebase!
Yes the way Hercules works now have pros / cons but I should have used firebase anyway. I thought firebase was totally free but it's not when you hit some high traffic. Well, it's not that expensive anyway when you switch to a paid plan.
I've done a health app too. I find that retention is terrible. They're willing to pay anything at the start of the year, but mid year, the market is terrible. One time fee is the way to go IMO.
A lot of them also realize this. People also seem to prefer large, one shot payments because it forces them to commit to their health, rather than some subscription they could cancel when they're feeling lazy.
Yes that's why all the gyms want you to pay from the beginning of your year for the full year! Retention is terrible because people quit very quickly due to a lack of motivation. That's why I don't want to test a subscription model. I'm quite sure it wouldn't work.
Awesome history!
Did you change your opinion on iOS? You seem to collect email addresses on the website for iOS now.
Thanks Sujan.
No I didn't change my opinion on iOS, I just forgot to delete this part on the english website as I did on the french one a long time go. I just fixed it.