FoodNoms 2: Launch Retrospective
It has officially been a month since "FoodNoms 2" launched.
I put a crazy amount of work into this update and launch. Mistakes were made and lessons were learned. I'm happy to share that, in the end, it was a success.
In this retrospective, I'll cover details about the launch, share some numbers, and open up about my (complex) feelings about it all.
Background
In case you don't know already, "FoodNoms 2" was the nickname for what ended up being FoodNoms version 2023.1. A free update packed with a suite of new features: a redesigned iPhone and iPad app, macOS Catalyst app, bidirectional Apple Health syncing, macro percentage goals, automatic calorie goals, customizable favorites, and more.
While much of the app looks and feels similar to the previous version, FoodNoms 2 was essentially a rewrite under the hood.
My first code commit for FoodNoms 2 was back in July 2020 – less than a year after the original 1.0 launch. A few months later and FoodNoms transitioned to being a side project as I started a new fulltime job.
I continued to maintain FoodNoms in my spare time. I spent most of this time maintaining the existing app, until March 2021, when I began to switch gears to focus more on FoodNoms 2 development. Progress came in waves, as my time and motivation ebbed and flowed.
I continued to grind and make slow progress into Fall 2022, when I finally achieved feature parity with the core experience of the app. I then kicked off the beta program for FoodNoms 2.
With other people actually using the app and starting to provide feedback, I started to see the light at the end of the tunnel. My motivation increased greatly. I picked up the pace and targeted a tentative release date of December 2022. Despite my aspirations, that date ended up slipping to January.
Launch Prep
I started ramping up preparations for the launch in early December.
I used the same playbook that I used last time I launched FoodNoms. I ran a beta program, reached out to press several weeks in advance, built a press kit, requested a feature from Apple, posted updates on social media, and "launched" on Product Hunt.
Compared to last time, I was better prepared, because I knew more about what to expect. I reached out to more people in the press because I had more connections and credibility. My press kit was much more robust, with inspiration from other folks in the field (particularly Shawn Hickman's Press Kit for Sofa and Sahand Nayebaziz's for DetailsPro).
Despite trying hard to get press coverage, I was quite worried it wasn't going to pan out this time. You never know what to expect with these sorts of things. I had a hard time crafting a pitch that felt widely compelling – none of the features I was delivering on were completely novel or indisputably "the best". It's the trouble with an update that includes a multitude of new features as opposed to one with a clear headliner. I tried my best, regardless.
I worked with a PR consultant in an effort to get coverage from other outlets, particularly those that hadn't ever covered FoodNoms before.
Press Reception
The launch started off with a bang. John Voorhees of MacStories published an in-depth review of the update and Chance Miller coveraged the launch over on 9to5Mac. I was thrilled to be covered by both John and Chance.
I'm a big fan of John's app reviews and this one was no different. It's wonderful to see so many details acknowledged and described in someone else's words.
The traditional PR strategy completely flopped. I had no idea what I was doing, and the consultant ended up being a major disappointment. Several lessons learned.
Apple featured the app in the App Store in a few countries, but not in the US.
Overall, the launch was a success from a PR perspective, largely thanks to the features on MacStories and 9to5Mac.
Customer Reaction
I was not prepared for the deluge of customer feedback and support requests that ensued. For multiple weeks, I was drowning in emails, DMs, tweets, and toots.
Most of the feedback was positive, but some of it wasn't. FoodNoms 2 introduced a variety of UX and visual changes, which upset some folks. I was honestly somewhat taken aback at this. I felt that the changes were, in the grand scheme of things, relatively minor. I also worked hard to provide options and smart defaults to accommodate existing users.
I have realized that even at FoodNom's small scale, there will be people that aren't happy whenever I change something of significance. I can't please everyone. I realize now that it's a mistake to try to make everyone happy, simply because it's impossible.
The few instances of negativity didn't outweigh the positivity shared by many. I greatly appreciate all the constructive emails and positive App Store reviews I have received over the last month. It never gets old to hear when someone is getting value out of FoodNoms and/or "loves" the app. It's also what keeps me going and motivated to keep building.
Bugs, Bugs, Bugs
I felt quite confident in the stability of the app going into the launch. I ran a beta program for several months with over 100 testers. All known, critical bugs had been fixed and the rate of new bug reports had slowed down to a crawl. The general sentiment from the beta testers was that the app was stable.
I've done major rewrites before. I should have known better.
The app suffered every kind of bug in all corners of the app:
- Data migration edge cases
- iCloud syncing bugs
- HealthKit syncing bugs
- Data corruption/loss (the worst kind of bug; thankfully it was relatively minor, but still unfortunate)
- Widgets bugs
- Watch app bugs
- Crashes
- Miscalculations
- Unit conversion bugs
- Issues with the barcode and nutrition label scanners
- Server and database issues
- Performance issues
So yeah… that's what I've been up to for the last 30 days. 🤪 Nine updates later, things are finally calming down and I'm sleeping better at night again.
Lesson learned: if you rewrite an app as complicated as FoodNoms, you will introduce bugs. Be prepared.
Impact on Leading Indicators and User Behavior
People are using the new features and have incorporated them into their daily food logging habits.
I think one of the biggest surprises is to see how much of a hit the new Mac app is. FoodNoms was previously available as an "iPad app" on Apple silicon Macs. It wasn't very popular. It had <50 DAUs and received a grand total of 2 ratings on the Mac App Store ever.
FoodNoms is now available as a Catalyst app. It is still using the iPad idiom, i.e. it looks more like an iPad app than a true Mac app. Surprisingly, this hasn't held the app back too much, as it continues to grow with >300 DAUs. The reception has been more positive than I imagined, with many ⭐️⭐️⭐️⭐️⭐️ reviews and 88 total ratings in the US Mac App Store.
Despite adoption of these new features, it does not seem to be any detectable impact on activation and new user retention. That said, launches bring in different kinds of users with different motivations, so it's not easy to predict how these rates will be impacted long-term.
It is interesting to compare numbers with the FoodNoms 1 launch.
Metric | FoodNoms 1 – First 30 Days | FoodNoms 2 – First 30 Days |
---|---|---|
New users (opened the app at least once) | 5,658 | 11,799 |
Activation rate (logged something at least once) | 36.5% | 48.9% |
Day 1 new user retention | 12.7% | 21% |
Day 1 new user retention, only counting users that activated | 27.7% | 41.8% |
Progress is slow and hard to see on small scales, but it's quite apparent when zooming out to look at the big picture.
This stuff is really hard and takes a ton of work. However, with each little iteration, things get slightly better. Keep iterating and a few years later, the numbers will look dramatically different.
Top-Line Numbers
FoodNoms 2 was a big success when it comes to revenue generation and building up the subscriber base.
Metric | First 30 Days |
---|---|
New activated users (logged something at least once) | 5,065 |
Net new active subscribers | +841 |
Revenue from new subscribers (before Apple's 15% fee) | $19,915 |
Change in MRR (after Apple's 15% fee) | +$1,864 |
Thanks to the launch, FoodNoms narrowly surpassed 3K subscribers and $80K ARR. I share this not to brag or anything, but to provide context that may be helpful to others.
The costs to run FoodNoms today are quite low, so the majority of this revenue is profit. Depending on your personal living situation, cost of living, career alternatives, this can seem like a lot or very little. I'll be frank: considering my opportunity costs and the sheer amount of time I've invested in this little product, this is a very poor outcome on paper.
So why do I keep working on this app? A few reasons:
- I really enjoy it. It's practically my dream job.
- It is the most interesting project I've ever worked on from a technical perspective (and I've worked on some pretty cool projects in the past).
- It sharpens my skills outside of software engineering: design, product, marketing, writing, etc.
- Lots of people, including myself, really love the app.
- I still imagine so much potential with the app. I think, with the right decisions, it can grow to be much larger.
Despite all of these reasons, I still yearn to see the app grow faster. I've already dedicated many hours of my life to FoodNoms, and a large part of that is because of points #4 and #5. If the product plateaus, I'm going to want to switch to working on something else that could have more impact.
Given this, I am going to start making bigger bets in order to learn, and hopefully grow, faster.
My Personal Feelings
The launch has been a whirlwind of emotions.
It was a very different experience compared to the original launch. For obvious reasons, it's quite different launching an entirely new product as a hobby project versus re-launching an existing product with >2K happy customers.
Above all, I'm relieved that it is over. After working on this update/rewrite for literally years, I persevered and shipped it. **frodo_its_done.gif**
What I'd Do Differently
It's easy to say that I shouldn't have embarked on a rewrite in the first place, but I disagree. FoodNoms badly needed a rewrite (a matter, perhaps, I will write more about in a separate blog post). Perhaps I could've perhaps split it into smaller updates, but I'm not convinced this wouldn't have been more painful and overall less successful.
Instead of nitpicking the specific decisions I should've made differently, I feel it's more appropriate to share the larger lessons I have learned:
- Not be so overly ambitious and overcommitting. Time is my most precious resource, and I'm going to be able to solve all of the problems that I'm confronted with.
- Not let customer feedback dictate the product roadmap. It is an extremely valuable resource, don't get me wrong, but I do have a tendency to over-index on some customer feedback.
- Be more metrics focused. Decide on which top-line metrics to focus on, e.g. conversion to paid, and work backwards from that goal.
- Be a better marketer. I've said this before, and apparently still haven't learned my lesson. Tell a better story. Think marketing first. Next time I kick off a major new feature, I promise to write the press release first instead of leaving it as an afterthought.
- Spend more money and ask for help. This is my first experience as a business owner, and I haven't really understood the phrase "you have to spend money to make money" until now.
- Focus on having fun. My productivity is largely dictated by how happy I am. The app would be better off if I simply embrace this fact, instead of fighting it.
Perhaps these all sound like common knowledge or clichés to you. The thing is, there is a difference between knowing something and actually practicing it. I know now that these are things that I naturally struggle with. I need to keep them on top of mind or else risk repeating mistakes and re-forming bad habits.
I feel like I'm being overly critical of myself here, but I do want to reflect and share these thoughts while they are top of mind. Ultimately, the launch was a big success and taught me a ton. I'm extremely grateful.
I hope this post was interesting and/or useful to you. Thanks for reading!
– Ryan, FoodNoms Founder/Creator