Welcome back to my weekly indie log! I want to share what happened this week while working on my indie app business. There was a lot going on and I had my hands full, so I will just jump right in and tell you all about it.
📈 Business Updates
Sorry for missing last week's issue. I was on vacation in London and wanted to take a real break from my business, just relax and not think about work for a while. It was going well until Google decided to ruin my mood.
On my very first day of vacation, I got a bad email from Google Play. They said my app HabitKit broke their policy and if I don't fix it, they will remove the whole app from Google Play in 14 days. That was a huge shock for me and really stressful, especially while I was supposed to enjoy my time off.
At first I was just shocked, but then I got really angry because the policy violation from Google sounded really silly to me. The problem is that in my app, there is a link to my personal X (Twitter) profile in the settings. If you tap it, it opens my X profile inside the app. On my X profile, there is another link to my personal Substack blog. And on this blog, there is a button where you could, in theory, "pledge support" and pay a monthly subscription to support the blog. I don't even have this feature turned on, but the paywall still shows up if you click around.
So basically, Google says this is a violation because it "leads users to pay through another system than Google Play." But for me, this makes no sense. The blog and the app are two totally different things. You can't get any special features in the app by subscribing to my blog. If you follow this logic, then every app with a social media link could be a problem, because almost everywhere on the internet you can find some kind of paywall if you click deep enough.
I tried to appeal to Google and explained my situation, but they didn't change their mind. They just told me again that I have to remove the links. I really didn't want to risk losing my app on Google Play, so as soon as I got back from my vacation, I quickly removed the links from the app and uploaded a new version.
Even after doing this, the Google Play Console still says my app will be removed in a few days. I'm now talking with their support, but so far they haven't been very helpful. It's really frustrating because I feel like I did everything they asked, but the problem is still not solved.
To finish this section with something more positive, I was a guest on another podcast and the episode came out this week. I had the chance to talk on "Engineering Kiosk", which is a German-speaking podcast, about my story as an indie developer and how I managed to get my app on the App Store. It was a really fun experience, and if you understand German, I think you will enjoy listening to the episode!
🛠️ Development Corner
As I already mentioned in the last issue, I wanted to take a short break from working on HabitKit and spend some time learning something new. I picked native iOS development with SwiftUI because it looked interesting and I wanted to try something different. I am not a big fan of online courses or watching tutorials, so I just started right away with a small side project to learn by doing.
I'm still not sure if I want to release the app to everyone, but I noticed that RevenueCat started a new Shipathon and I'm thinking about joining this year. Last year, I had the honor to be a judge, but now I don't have this responsibility anymore, so I could actually participate. But I'm not making any promises yet, I'm still not sure what I will do.
So far, I really enjoy working with SwiftUI as a framework. It's actually pretty fun to build nice looking native designs, and it feels much easier than I expected. The only thing that bothers me is the development environment. I really wish it was more open, so I could use Cursor with proper hot-reload and official syntax support. Xcode is honestly a bit annoying for me, and I don't like the tooling that much. Maybe I'm just used to Flutter and its tools, so I could be a bit biased here.
Right now, I am building a mobile app that helps you learn music theory, like notes, scales, and chords, and also the fretboard for guitar or bass. The idea is to have small mini-games that you can play whenever you have a few minutes. I haven't planned everything in detail yet, I am just building and coming up with ideas as I go. It's a really fun process so far. It's also a great reason to pick up the bass/guitar more often!
💡 Indie Insights
This week really was about one of the scariest aspects of being an indie app developer: platform dependence. The Google Play policy violation I mentioned above perfectly shows how vulnerable we are to the moods of these massive platforms. One day you're running a successful business, and the next day you get an email saying your primary revenue stream could disappear in 14 days because of what feels like an arbitrary policy interpretation. The fact that Google flagged my app for having a link to my X profile, which ultimately leads to a Substack subscription page that's completely unrelated to my app's functionality, shows just how unpredictable these policies can be.
What makes this situation even more terrifying is the lack of real human communication. When you try to appeal or get clarification, you're mostly dealing with automated responses and support agents who seem to be reading from a script rather than actually understanding your specific situation. As an indie developer, you don't have the resources or connections that big companies have to fight these decisions or get direct access to policy teams. You're essentially at the mercy of algorithms and policies that can change at any time, with little to no recourse.
This experience has made me really grateful that I made the decision early on to release HabitKit on both the App Store and Google Play. Having my app available on multiple platforms means that even if one platform decides to remove it or restricts its visibility, I still have another major revenue stream to fall back on. It's not perfect diversification though, both Apple and Google could theoretically make similar decisions. But it's much better than putting all your eggs in one basket.