FoodNoms 2020.5 is now available! I feel like I say this with every other release, but this is seriously the biggest update yet. This version includes a ton of fixes and improvements, but mainly focuses on four big changes:

  • Macro and micronutrient goals are now free! (Water, alcohol, caffeine, intermittent fasting goals remain exclusive to FoodNoms Plus.)
  • Goals are more powerful with historical charts and more stats, including a list of your top foods and entries.
  • The onboarding experience has been completely overhauled.
  • New users can now sign up for FoodNoms Plus with a free trial.

In this post I'll explain why I decided to focus on these changes and what I hope to achieve.

The Big Experiment

Building a successful product is incredibly hard – especially in a highly-competitive, crowded market. How well can an indie dev compete against larger, well-established players in the food tracking space?

As I explained in my previous post, FoodNoms had a fantastic launch but lately growth has stalled. For these next few months, I'm 100% focused on solving the problems that are holding the app back.

It's impossible to be 100% certain why a product is struggling. The best you can do is form hypotheses, make product changes, and iterate.

Here are my hypotheses for why FoodNoms is currently struggling, separated into four categories: discovery (why haven't more people heard about FoodNoms?), conversion (why haven't more people who heard about the app downloaded it?), activation (why haven't more people who downloaded the app started to actually use it?), and retention (why haven't more people kept using the app?).

Discovery:

  • I'm not advertising or promoting the app other than on Twitter (and I have a pretty small following).
  • The food tracking market is highly competitive, which makes it expensive to buy ads and difficult to achieve high search rankings.
  • Apple isn't featuring or promoting the app in any way (for likely legitimate reasons).

Conversion:

  • Perhaps… the product doesn't look compelling from the screenshots, description, name, reviews, etc.
  • Perhaps… people are hesitant to use a food tracking app they haven't heard of before or has few ratings.
  • Perhaps… people who have heard about the app have heard negative things.

Activation:

  • Perhaps… the UI is confusing for new users, causing them not to activate.
  • Perhaps… the food database is inferior to a point that a significant number of users are turned off and leave.
  • Perhaps… users don't want to pay for a subscription and want features exclusive to FoodNoms Plus.
  • Perhaps… the long tail of features that I have yet to build cause a significant number of users to not activate.

Retention:

  • There is no re-engagement loop for the app (e.g. notifications, emails).
  • Perhaps… the user experience has too much friction.
  • Perhaps… for many people, the first impressions of the food database were positive, but over time they change their mind.
  • Perhaps… all food tracking apps have unavoidable high churn rate.

There's many complex relationships between these problems, for example:

  • Retained users will rate and tell their friends about the app. Ratings and downloads impact search result rankings.
  • Low retention means low lifetime value. If I'm not making enough money per user, I can't afford to pay for marketing.

Even though I'm currently suffering from issues related to discovery and conversion, I have to focus on shoring up my activation and retention problems first. Hence the focus areas for 2020.5: overhauled onboarding, more free features, improvements to Goals, and free trials.

Big Bet #1: Overhauled Onboarding

Looking at my analytics data, it's painfully clear that FoodNoms onboarding was terrible. I originally thought that a minimal onboarding experience would work fine – that most people would want to dive into the core experience as quickly as possible. I didn't really have a choice anyways, as I didn't have any time to build anything more sophisticated. Here's what the onboarding UI looked like previously:

The new onboarding experience in 2020.5 follows a conventional pattern for health and fitness apps. It asks about your goals, asks a series of profile questions in order to estimate your TDEE (total daily energy expenditure), and sets up the app so that it's personalized. At the end, there's a new FoodNoms Plus upsell screen and a final step that encourages you to log something.

This has two main benefits: (1) new users who have no clue where to start are given some guidance, and (2) the app is personalized and filled with more content from the start, leaving a better first impression.

Initial screen after onboarding. For new users that haven't logged before, I also swap out the standard "+" icon with explicit "Log Food" text.

I could write an entire post about all the decisions that I made as I designed the new onboarding experience. There are a total of 13 different screen types and several different possible flows with this new design. I had to take into account localization (different units of measurement) and different preferences. I had to carefully consider how goals were calculated. Most importantly, I wanted the user to feel comfortable during the process and by the end of the experience, feel a strong sense of trust with the app.

I won't know if all of this effort was worth it until I look at the numbers, do more user testing, and get feedback. It's not perfect, but it's by far the most thoughtful onboarding UI for any piece of software that I've worked on. I'm quite proud, regardless of the outcome.

Big Bet #2: Giving Away More Goal Types

Until now, you could only create a goal for calories/energy without a Plus subscription. This meant that you couldn't view charts for macros or any other nutrient.

I realized pretty early that in order to build a great onboarding experience, I would need to do more than just create a calorie goal.

Besides the app's design, I think Goals is the biggest differentiator between FoodNoms and the competition. I have never seen an app that offered such a clear and powerful way to track the nutrients you care about. I want more users to experience that.

This change is quite risky, as I'm removing one of the most significant reasons users upgrade to FoodNoms Plus. But I'm totally ok with that. At this point, I'm more concerned about improving download rates than increasing revenue. Goals is central to the future of the app, and I can't limit it to paid users anymore.

Big Bet #3: Historical Charts and Stats

I actually didn't feel right shipping FoodNoms 1.0 without the ability to view more than 7 days in the past for each of your goals. However, during the beta and even for several months after launch, no one asked for it! I got tons of emails asking for saved meals, recipes, a better database, but didn't get a single email asking for historical charts.

As I stated above, I really feel like Goals has a massive potential and is central to my strategy going forwards. I hope with this release that I can demonstrate that vision with these two new features1:

  1. View data from more than seven days ago on a weekly or monthly basis.
  2. Top Foods and Top Entries – learn which foods had the biggest impact on that goal.

I hope that customers see the value in these new features and benefit from them. I personally have learned a few things about my own nutrition.

Big Bet #4: Free Trials

This was another feature I originally wanted to offer with FoodNoms 1.0, but didn't get around to it until now.

App Store review is notorious for rejecting apps due to upsell screens and trials. I carefully followed design and copy conventions from other successful subscription apps, and I didn't have any issues.

I'm not sure whether trials will be net-negative or net-positive financially. Regardless, I think it's the right thing to do.

What's Next?

I will be evaluating the outcomes from these changes and making adjustments as necessary. Besides that, my next big focus will be addressing other issues impacting activation and retention. Specifically, I plan to focus on improvements to the food database and the "Log Food" screen. Talk about big bets!

I hope you found this post informative and insightful. Let me know if you did! Also, please consider rating or reviewing FoodNoms on the App Store if you haven't already. I'd really appreciate it.


  1. With 2020.5, I had to completely rebuild how FoodNoms queries data to generate charts and statistics. These new features necessitated a more flexible abstraction, one that could be easily optimized, tested, and extended for new features. This was a large effort, but I knew this release was the right time to do it. Hopefully you shouldn't notice anything different, unless you previously had multiple goals – then you should see much better performance in the Goals tab.