Weekly Indie Log #30
Topics: May Revenue Recap, Return From Vacation, HabitKit Improvements
Hey, the wait is over, let's continue recapping my weeks in this log again! I'm finally back from my first real vacation as a full-time indie hacker and I had a really great time. I visited California (San Francisco -> Yosemite -> Monterey -> LA) with my girlfriend and although it was really stressful and exhausting sometimes, spending time away from the business stuff felt relaxing somehow.
It's always fascinating to see that as an indie app developer you can take a break for a couple of weeks/months and nothing bad will happen to your business. Downloads and revenue still came in as usual and I just had to answer some support emails while on the road. I'm feeling really blessed because of this situation and I think something like this isn't really possible in other business areas. Thanks App Store and Google Play!
I got the question a lot why I didn't visit Google I/O or wait for WWDC. I have to be honest, I think by attending these conferences I would have defeated the purpose of the vacation. The goal was to not think about apps and software development for a while! Now, I'm feeling refreshed, motivated and full of ideas for the upcoming months.
May Revenue Recap
So let's start with the obligatory revenue recap of my app business. Another month came to an end and, as usual, here are my numbers:
💰 $14,855 revenue (-6%)
💸 $7,013 MRR (0%)
👥 8,892 subscribers (+2%)
Total revenue is down again by 6%, but not as much as last month (which had a decline of 23%). As usual, the majority of the revenue comes from my habit tracking app HabitKit (Make sure to check it out if you didn't already). MRR and subscriber count didn't really change, but I'm happy with the numbers right now. Summer is a tough season for habit tracking apps and I'm sure that we'll face growth in the colder months of the year again.
To put things in perspective, why I'm still super excited and happy about my revenue numbers, here is the comparison to May 2023:
💰 $2,802 -> $14,855 (+430%)
in Total Revenue
💸 $707 -> $7,013 (+891%)
in MRR
👥 823 -> 8,892 (+980%)
in Active Subscriptions
RevenueCat NY Times Square Campaign
Another cool thing that happened while I was away (and almost missed because I didn't check my LinkedIn DMs): I've won in the RevenueCat giveaway and my app HabitKit will be displayed on the New York Times Square next month. I'm really excited about this. Thanks a lot, RevenueCat!
Because so many people asked me whether I will fly to NY to see it for myself: I actually already visited NY last year and flying over there just for the ad seems like a huge overkill to me. The RevenueCat team already confirmed that they will have a camera at the location and deliver footage of the running ads once they're live. Can't wait to see HabitKit's screens displayed there.
In terms of impact on downloads/revenue, I try to keep my expectations as low as possible. If it performs badly, I'm not disappointed and got a cool story to tell and I even can show the footage to my friends and family. If it performs well, even better!
HabitKit Improvements
First and foremost, I invited a couple of people to the HabitKit 1.7.0 beta (which adds native/interactive home screen widgets to the app) and didn't get a single crash report or issue. So, I will fix one minor issue this week and - finally after many weeks of development - hand this version in for review. I'm sure new problems will surface when thousands of users actually use it, but I need to get this version out and tackle these when it's time.
I already prepared some things for HabitKit 1.7.1: I added the possibility to add a completion for yesterday to a habit right from the overview screen. A couple of users already requested this some time ago, because right now it's really cumbersome to achieve the same result: First, you'll have to open the habit detail view and then the calendar view before you can check of past dates. Checking of yesterday is such a common use case that it makes totally sense to get rid of the two extra steps.
I implemented the context menu with a new cool package that I found: https://github.com/superlistapp/super_native_extensions/tree/main/super_context_menu. This package was developed by the awesome Superlist team and I've been searching for a package that does this for a long time. The Flutter Cupertino standard library also offers a similar widget, but in my opinion it doesn't meet my quality standards at all. Here is the link to the relevant widget in case you want to check it out: https://api.flutter.dev/flutter/cupertino/CupertinoContextMenu-class.html.
That's it for this week, see you in the next one 👋