I launched Boost Blue 3 months ago, and last weekend passed a major milestone: 100 paying subscribers. It’s my first successful indie app, but far from the first I’ve built. Throughout those iterations I've landed on a set of tools that enable me to quickly get from 0 to 1.
1. Flutter
The first tool has to be my development platform of choice: Flutter. I started my career as a native iOS developer and was firmly against cross-platform tools, until a team lead made us try Flutter for a week. I’ve never looked back. There are absolutely advantages to native development, but for indie development the additional user base made accessible by Flutter is too big an advantage to ignore.
Of course, Flutter isn’t the right choice for every app. Many indie developers make their niche “a really well-built native iOS app”. If that approach is going to carve out a comfortable user base for you on iOS, it could absolutely be worth it.
React Native offers many of the same benefits as Flutter. I just prefer Flutter personally; I find it easier and more enjoyable to build in.
2. Firebase
I'm a mobile developer through and through. But apps need backends, and that requirement usually necessitates bringing on a backend engineer as a partner. That's fine for a startup, but not ideal for an indie app you want to run solo. That’s where Firebase comes in; it's the biggest cheat code for solo app developers.
Firebase's main utility is in Firestore - its remote database. That would be enough to include it in this list, as it's almost singlehandedly enabled me to build most of my projects, but Firebase has a whole suite of tools perfect for an indie developer. Getting them altogether, backed by Google, is just a bonus.
A Very Non Exhaustive List, and keeping explanations short:
Authentication
Firebase Authentication supports sign-in by email or phone with confirmation codes, as well as popular providers like Google, Apple, Facebook, GitHub, etc.
Analytics
Firebase Analytics is incredibly easy to set up. Simply initializing the library on startup will give you user and retention metrics, and from there you can log events to your heart's content. The analytics platform is simple, and therefore a bit basic, but if you want more all of that data is also automatically imported into Google Analytics where you can dig much deeper.
Push Notifications
There's nothing special about Firebase Cloud Messaging, other than how easy it is to setup. It supports both bulk marketing messages and programmatically triggered notifications.
Cloud Functions
Cloud Functions let you run backend logic with simple scripts in a few supported languages. They’re a great way to add backend functionality without fully committing to a separate backend service. Functions can be triggered by users, on a regular schedule, or in response to Firestore data changes.
A/B Testing
Firebase Remote Config lets you automatically segment users and compare results for any event or metric in Firebase Analytics.
3. RevenueCat
RevenueCat is an incredible in-app purchase management platform. Before using RevenueCat, I implemented in-app purchases once. The experience was such a nightmare that in subsequent apps I avoided it at all costs, including skipping subscriptions as a monetization option (which was a mistake).
There's a ton of work that goes into setting up in-app purchases from scratch - interfacing with the IAP libraries, tracking purchase or subscription status, and then building the purchase flow itself.
RevenueCat handles all of this. They provide prebuilt Paywalls you can configure to match your app’s brand. You can present them with a single line of code. That's all you need to trigger a purchase. You can track a user’s subscription status by calling a single method. Of course you can use your own in-app payment flow in place of their paywalls. Building the UI will take more effort, but triggering a payment is just as simple.
They also provide comprehensive tracking tools to monitor all of your revenue metrics in one place, compared to the fragmented and often confusing dashboards from Apple and Google.
4. Fly.io
A significant part of this list has been dedicated to avoiding the need for a backend. As an indie app developer, if you can avoid the added complexity, you should. But sometimes you can’t, or forcing functionality into Firebase ends up being more complex than doing it properly.
Fly.io is, in my experience, the easiest way to host a backend service. You still have to write the code, but Fly handles the handles the tricky infrastructure details. It's a similar product to AWS or Google Cloud Platform, but way simpler - which is why I think it's perfect for indie developers.
5. Claude Code
This tool will by far be the most controversial on the list, but it's also the one that I use the most. 6 months ago I was completely unsold on AI-assisted development. I tried several, but the quality of code mixed with subpar development environments always lost me. The day I tried Claude Code, I knew it was going to be the primary way I wrote code going forward.
To be clear, this isn't "Vibe Coding". I don't just ask Claude to build me something. I give it very specific instructions on exactly what code it is to write. It isn't replacing me. It lets me outline an idea and write hundreds of lines while I think through the next problem. I always review every line it writes, since it doesn’t always follow instructions exactly..
It's also great at finding bugs, to the point that I start my debugging process by describing the bug to Claude to see if it can find the issue first. But in keeping with the last paragraph, I'll always make sure I understand the exact cause of the bug myself, and audit any suggested fix.
If you've gotten this far, thanks for reading! These tools have been indispensable in my app development, and I hope at least one of them is helpful for you. This is my first attempt at blogging in tech, something I've always wanted to do. If you enjoyed this feel free to follow along. You can also connect with me on Bluesky, and please check out my latest app Boost Blue!