Built in Public

Built in Public #1: Growing an app from $0 to $100K MRR

In this series, Jake documents his journey building an app from scratch and bootstrapping it from $0 to $100K in MRR.

Get tips like these in your inbox weekly :)
Woohoo! We'll keep you in the loop :)
Oops! Something went wrong, please try again
Jake Mor
December 13, 2022

I'm excited to share with you Superwall’s latest blog post series, where I'll be documenting my journey building and growing a new app from scratch. Of course, I'll be using Superwall, our iOS SDK that allows app developers to remotely configure their paywalls and launch experiments. I’ll share tips I learned from growing FitnessAI to over $5M in sales in just under 4 years, scaling its ad-spend to $300,000/mo at its peak, and how I managed to do it almost entirely on my own. I’ll touch on the design tools I used to create ads, the prototyping techniques I used to test features, analytics setups I employed to hold myself accountable, monetization tactics I used to grow revenue and so much more.

Here’s the game plan (what I did for FitnessAI)

  1. Find an idea ✅
  2. Build a prototype ✅
  3. Launch ✅
  4. ASO
  5. Early Signs of Traction
  6. Establishing KPIs & Analytics Dashboard
  7. Add a Paywall
  8. Ads & Scaling
  9. Monetizing
  10. Pulling back Ad Spend while maintaining organic traction

This isn’t the only playbook that works, but it worked well for FitnessAI. When I shut off ads, revenue plateaued at an annual run rate of $800,000 and it held.

One of the reasons I'm doing this is because I believe building in public is a great way to motivate yourself and others. By sharing my progress and challenges, I hope to both inspire others and learn from their feedback and experiences as well. We believe this so deeply at Superwall that we encourage all of our team members to maintain side projects as a way to better understand the needs of app developers. Unless we understand our customers deeply, we will fail — and the easiest way to ensure this is to encourage our team members to become our customers. In fact, our goal is for everyone on the team to make more money from their side projects than from Superwall itself (at least in the short term!).

Another reason I’m doing this is because I haven't started from scratch in a while, and the last time I did, the landscape was very different. Facebook ads were more profitable and attribution was more reliable. I'm excited to dive in and see what challenges and opportunities await. Hopefully by the end of this, I’ll be more in tune with my inner indie dev and the wonderful community I hope to service with Superwall.

You can download my new app here and follow along with my progress in this series. I can’t promise I’ll post too often (I do have a day job) but when I do, I don’t want you to miss it, so subscribe below. What I’ve done so far is publish an MVP on the App Store after around 25 hours of designing and coding. It doesn’t have a paywall and it has no traction (yet!). I’m currently on step 4 in the playbook above.

BEGIN.

Deciding what to work on is much simpler than you think. I invite you to disregard how competitive a space is, and instead choose a topic that you're very interested in. Starting out, all odds will be against you. It will feel as though it makes no logical sense to enter such a competitive space. The easiest way to combat this is removing logic from the equation. For example, if you’re very interested in fitness, you won’t care how many fitness apps there are on the app store, you’ll simply care that your exact needs at the gym are met. This naiveté will allow you to work disproportionately hard on a project with seemingly low chances of success — and chances are, there are more people like you looking for a very specific app to solve the problem at hand. Be careful though, if you’re too naive, you’ll spend 4 weeks working on button animations that nobody will ever use (been there, done that 💅)

Personally, my fiancé (🍾) and I have been obsessed with disposable cameras for the past year. We love the look of the photos they produce and the anticipation of waiting for the results. This inspired me to build a fun app that tries to reproduce that candid, disposable camera look. I’ll eventually call it Candid, but in the short term, I want to lean into some keywords optimization so I’ve named it “Film Filter” (more on that below). Even though there are already many photography apps on the market, our passion for disposable cameras motivated me to pursue this project. I know that I’ll work hard on this, not only to impress Roché, but also so we can capture the memories we make together as we begin our lives together. These external & intrinsic motivators will be what keeps me going when things get tough (as I know they will). I really invite you to do the same!

ASO for new apps

When first launching an app, it’s important to lean into ASO, especially if you aren’t comfortable spending on ads to begin with. Here’s a little algorithm to pick a great starter name — search for a competitor on App Figures and see high popularity keywords they rank for. Divide each keyword’s popularity score by its competitiveness score for a popularity to competition ratio. High values will have relatively low competition given its popularity. Next, see if that exact keyword is available on the app store. You can do this easily by trying to create an app in App Store Connect with that exact name. If it’s available, you’ve got a contender. For me, I landed on “Film Filter”. My first goal is to rank organically in the top 10 for this exact search. Originally I started with “Disposable Camera Filter+” because when you begin to search “Disposa” on the app store, “Disposable Camera Filter” is the second suggestion. I had to add the + for uniqueness. Assuming many people tap that suggestion, I hoped an exact match would sling shot my app to the top (it didn’t). To my surprise though, the name “Film Filter” is available so I updated the app’s name and will report back soon.

Regardless, it did 25 installs on day 1.

As I hinted before, I eventually plan on calling the app Candid (Roché’s idea) but in the short term, ASO is more important. Here are a few more pro tips for early ASO:

Next steps…

In general, my advice is to add a paywall to your app immediately — but only if you're willing to spend money on ads or if your app has some traction. With Candid, my first goal is to eclipse around 100 installs per day organically, which would be a good signal that the app is on the right track. If I don't reach this goal, I'll either start over with a new idea or add more features / tweak my ASO.

Assuming a 10% trial start rate, a 30-40% trial conversion rate and a proven out market, you can expect around $2,625 per month in proceeds on a $29.99/yr product. This amount isn't huge, but it's enough to start experimenting with ads.

Once Candid starts generating ~$50 per day organically, we'll test ads on Apple Search, Facebook/Instagram, and TikTok, each with a $50 per day budget.

When ads become profitable, we'll keep scaling up while maintaining a positive return on investment. At this point, our goal will be to reach ~100 new trials / subscribers a day while maintaining a return on ad spend (ROAS) of around 1x.

We'll then use a paywall optimization tool like Superwall to run tests, discounts, winback campaigns & sales to push our ROAS up above 1x.

Finally, we’ll scale ads, optimize paywalls, rinse and repeat until Candid ranks organically for a ton of high competition keywords. At that point, we’ll run tests cutting ad-spend while maintaining organic rankings.

If all goes well, Candid will generate $50-$100K in sales a month, with no spend and we can start over with a new app 🙂

Until then, sign up below to stay in the loop and tweet this article to motivate me!

Hungry for more tips? Subscribe to our blog!

Woohoo! We'll keep you in the loop :)
Oops! Something went wrong while submitting the form.
Jake Mor
December 13, 2022