The FoodNoms Origin Story

One year ago, July 4th, 2019, was my last day at my previous employer. It was the end of a dream startup experience. I left having received exactly what I came for: to experience what it’s like to join at an early-stage startup and grow along with the company.

I was awarded many opportunities at my job. I led strategic projects. I grew as both an engineer and a leader. I was able to mentor junior engineers, lead tech talks, and make architectural decisions. However, I pushed myself really hard. Too hard. Despite being rewarded and celebrated for all of my efforts, I burned out at the end of my four years there.

My burn out was a wake up call. It made me realize I had focused too much on my work and lost touch with some of my own personal values. I knew it would be a mistake to jump into another full time job. I needed “me time”.

A normal person might have decided to just kick back, relax, maybe travel the world. I didn't want that though. I just wanted to do one thing: make a product just by myself.

I didn't waste any time. Right away I got to thinking about what to build. I knew I wanted to build something consumer-focused for a change. I did a brief brainstorming exercise: what apps do I use on my phone: (a) I frequently use, (b) makes money, (c) I could build in a few months, and (d) I don’t enjoy using.

This exercise was really effective and immediately led to the idea of building a food tracking app. The food trackers I tried were all slow, ugly, filled with ads and irrelevant content, were obnoxious with upsells, and didn't seem to improve at all over time. I knew it was a good idea because I immediately had a ton of ideas for how I could make something better.

Notes and sketches from one of my earlier brainstorming exercises

I immediately got to work building what would become FoodNoms. Here's the first screenshot I have of the first version of the app, taken a little over a year ago, next to what the app looks like today:

At the start of this journey, I only had one goal: ship an MVP sometime in Fall 2019. I realized this was super ambitious, but I knew I could do it. I grinded really hard those next four months to make it happen.

What happened next really took me by surprise. FoodNoms had a fantastic launch and a great reception. Suddenly I had hundreds of paying customers with lots of feedback.


After the launch in 2019, I decided to commit to spending a few more months focusing 100% of my time on the project. Those next few months evolved into six months, and here I am one year later after I started.

I did not originally plan to still be focusing 100% of my time on FoodNoms a year later after I started it. I also didn't expect it to be really appreciated, downloaded, or supported. These past twelve months have been incredible. I've learned so much and grown in many different ways that I did not expect. Even though I have made many mistakes and the product is far from perfect, I'm extremely proud of what I've built.

I'm writing this post to share some of the things I've learned, celebrate what I'm proud of, and open up about some of my struggles.

Numbers

I wish I could proudly start off the rest of this post boasting about my massive amounts of downloads and financial success. If you've been following along my story, you already know that the reality is FoodNoms has a long way to go in these departments. Here is where the app is at today:

  • Days on the App Store: 240
  • Downloads: 12,397 (average 52/day)
  • Total revenue (post Apple's cut): $7,694
  • Current DAU (note, active usage means logging food): 200-300+
  • Total app updates shipped: 20
  • Current subscription churn rate: ~10%
  • US App Store: 4.8 stars with 203 ratings
  • App Store International Average: 4.7 stars with 304 ratings

Here's a chart of downloads over time where you can see just how big of a launch FoodNoms had, as well as the impact of the recent exposure FoodNoms has received on Twitter and ATP:

Downloads over time since launch

However, if you exclude the launch and recent days, FoodNoms has only received 3,581 downloads, or an average of 17 per day.

Downloads over time, excluding launch and recent events

For an app with very cheap subscription plans, without large downloads, it's incredibly hard to build a sustainable business. No matter how good your conversion and retention rate is.

One positive note here is that I currently have 492 active subscription trials, thanks to all of the recent exposure. I have a fairly high conversion rate, so I expect MRR to shoot up quite a bit in the coming weeks.

While I wish that I had made more than just $7.5k in my first year doing indie development, I am more concerned about the lack of downloads and growth.

The main metric I look at is the the number of users that log food every day on a rolling average. On the left, you can clearly see the climb and fall of all the initial adopters that churned after the launch. This metric continued to decline until it bottomed out at 97 users in mid-March. Since then, it's been climbing slowly upwards until July where it has started to spike some.

7-Day moving average of active users (note, absolute numbers are a lower bound)

What caused the slow rebound in March? I'm attributing it to some combination of COVID-19 and improvements to the app that have improved user retention.

While these numbers aren't the most impressive, I'm still proud of what I've been able to achieve from a quantitative perspective. It demonstrates that I'm doing some things right and have been able to sustain interest and get things moving back in the right direction.

I am sharing these numbers for two reasons: to help other indie devs and prospective indie devs, and to put the rest of this post in context. I hope that you can learn from my lessons, but also take what I have to say with a grain of salt. I still have a lot to learn.

Highlights

Highlight #1 – Press Features and Reviews

I had no expectations that the app I was going to build would be featured by so many respected publications and podcasts. Some of which I have been reading and listening to for 5+ years, including MacStories, MacLife Magazine, iMore, 9to5Mac, MacBreak Weekly, and most recently ATP. My thirteen-year old self would be *so proud*.

Highlight #2 – Customer Appreciation

I’ve received countless emails telling me they “love the app” and “thanks so much for building this.” I really did not expect this – I thought if anything all my customer interaction would be negative. Instead, customer interaction is always an energy booster and keeps me motivated.

As mentioned above, FoodNoms currently has 4.8 stars from 192 ratings in the US App Store and 4.69 from 296 ratings worldwide.

These reviews are awesome! Thank you!

It’s also incredible that I’ve been able to build up a following on Twitter for my app with over 650 followers. For comparison, a year ago my personal account had like ~350 followers, if I remember correctly. Incredible!

Highlight #3 – Improving The Product

I have shipped 20 updates to my customers since launch. These haven't been small updates either – FoodNoms has come a long way since last November.

Just shipping new features isn't something to be proud of on its own. How do you know you're actually solving real problems and helping people?

App Store ratings and press are great signals that you're doing something right, but they are singularities and don’t directly impact revenue. I like to look at retention and subscription churn for quantitative metrics that reflect how effectively I have been improving the app. Here is a chart of subscription churn over time, which tells me that I am providing more value to subscribers today than I was six months ago:

Monthly subscription decreasing churn over time

Highlight #4 – Making a Difference

It's one thing to get press and downloads, but a whole other thing to actually see your work help people reach their goals.

Highlight #5 – Personal Growth and Happiness

It’s been a lifelong dream of mine to craft something 100% by myself, put it out in the world, and have it to be appreciated. I’ve been proud of many things I’ve built in my life, but FoodNoms will always been a special project to me.

Trust me, there’s nothing like starting your own independent company to really understand your value, skills, and weaknesses. In this past year, I’ve challenged myself to become a better engineer, designer, product manager, and marketer. I’ve mostly succeeded in improving in all of these areas, but I’ve also learned which aspects I enjoy more and which I would really appreciate help with (*cough* marketing *cough*).

Most importantly, I am so much happier today and than I was a year ago. I was not in a good place a year ago, and with the help of therapy and time to myself, I’ve rediscovered what’s really important to me.

I’m proud to share that I’ve improved my health and fitness over these past twelve months. After many years of trying and failing, I’ve lost weight – ten pounds! I’m happier with how I look, I sleep better and feel more energized.

Learnings

Learning #1 – Perseverance is Key

For indie developers, being able to push through hard times and difficult challenges is not only important, but absolutely necessary. It's tough. Especially when you're solo.

Even though I’m way happier than I was a year ago, doesn’t mean this year hasn’t been an emotional rollercoaster. I have to fight through frustrations, difficult decisions, and challenges all by myself. I don't have a partner to hash things out with. I wish I had someone who would challenge me and push me to keep going.

I think in the past, I've gotten used to relying on coworkers for working through difficult problems. With FoodNoms, I've had to learn to deal with these problems all by myself. I do think I'm getting better at this, but it's still one of the toughest parts of the job.

Learning #2 – Getting Exposure and Acquiring Users Takes Strategy

Before FoodNoms launched, I didn't expect many to care about it, let alone download it and actually use it. However, after launching and seeing the initial hype, I set my expectations way too high for what to expect in the next several months.

You hear stories about paid apps that teeter off into oblivion after having a successful launch, but for some reason I didn't think this would apply as much to freemium apps. I mean, it's free right?

I recognize that FoodNoms is in one of the most (the most?) competitive spaces in the App Store. This makes everything harder – ranking in search results, getting featured, the affordability of App Store search ads.

You have to work really hard for those downloads. Build differentiating features, solve real, unique problems in an elegant way, and spread your message the best you can.

One practical tip I’ll offer here is if you’re building an iOS app, make sure to put in a prompt to review your app. Reviews and ratings have a significant impact on your search results ranking and image, and many users will never rate your app otherwise.

Learning #3 – Customer Feedback Is The Most Valuable Resource

I receive feedback constantly. Never do I get a request that is completely wrong. In every question or complaint is a kernel of truth that should be understood.

Even when I receive suggestions or feedback that I disagreed with, I always try to fully understand their problems, pain and confusion. On multiple occasions I’ve come back around to feature requests and complaints that I initially disregarded, sometimes months later, wishing I had better understood and listened earlier.

If I hadn’t received a single piece of feedback this past year, I wouldn’t have built many key features and improvements like saved meals, recipes, sharing, the community database, onboarding, etc. I would’ve focused on the wrong things.

I strongly encourage indie developers to aggressively ask for feedback. Consider placing a prominent button in your user interface to contact you directly. Always be friendly and thoughtful in your responses. Your early customers will definitely appreciate it.

Learning #4 – Dogfooding Is Incredibly Important

It’s a cliché in the tech industry, I know. But as an indie, it’s even more important.

It’s not good enough to just dogfood the app in one way. You need to experiment with all the different ways your app could be used.

There’s many ways to use a food tracking app. Everyone has different personal health and fitness goals, and different strategies for achieving them. Some do keto, others practice intermittent fasting, some are losing weight, others are gaining, etc. Throughout this past year, I've tried things I wouldn't have otherwise.

You should consider using your product in a way that you didn't intend. Think critically about what it's like to be a struggling or novice user. Do the same for power users. Actively change the way that you dogfood to fit those personas. Feel their struggles, and identify what paint points in your app are unique to that persona.

For FoodNoms, I've realized how the app is missing a lot of features that would be useful for "power users" – athletes and those that are very diligent about their food tracking. At the opposite end of the spectrum, I've realized that there are many issues with the app if you don't consistently track your food. Dogfooding the app in various ways have given me more empathy for my customers, which has impacted what features I've prioritized and given me ideas for future enhancements.

Learning #5 – Time and Planning Is Not Correlated With Impact

The most significant feature of my app was built in a single weekend as a spontaneous idea. I thought to myself, “hey I should try out that cool computer vision API that they announced at WWDC.” I hacked up a prototype and tweeted it out on Monday. Without that experiment, FoodNoms wouldn’t have gotten noticed. Very few would’ve cared about its launch, which means it would’ve never gotten any sort of traction at all.

Conversely, some of the most planned and time-intensive updates are not appreciated or celebrated as much. I honestly thought the 2020.5 update where I gave away more goal types and shipped a bunch of other improvements was going to be a much bigger hit than it was. Does this mean this update was a giant failure? No. It laid a strong technical foundation for future features and fixed key issues negatively impacting retention. Still, I learned that I shouldn’t build something up in your mind as a big deal just because you spent a lot of time on it.

Learning #6 – Strike a Balance Between Updating Frequently and Splashy Updates

After having a really successful launch, I wanted to keep the momentum going and prove that I was serious about the app. I did this by focusing most of my time on improving the product, addressing bugs and customer requests.

Frequent updates have had a positive impact on retention and customer happiness, however it has come at a cost. I haven't been strategic enough about using product updates to help with marketing the app. It’s hard to get press or bloggers to cover your app when you ship iterative update every two weeks. As an engineer who loves iterating as quickly as possible, this feels extremely frustrating.

Going forwards, I have to start thinking about what makes the most sense for marketing my product, even if it comes at a cost of short-term customer satisfaction.

Learning #7 – Find Your Angle

Marketing remains my biggest weakness as an indie product owner. I have a lot of things left to learn about marketing, but one thing I do understand now is the importance of a clear message that resonates: Why does FoodNoms exist? Why should anyone care to get excited about this app?

The answer to these questions need to be something more than just “it’s like X but slightly better”. That may be good enough to sell to people who really hate X, but that is a hard audience to target and grab. It also pressures you to reach 100% feature parity of X.

Your message ideally should be viscerally exciting to some niche out there. If you can't answer this question confidently and clearly, it's going to be at least ten times harder to get press to write about your product and customers to download it.

In the search for the answer to these questions, I have experimented with several different ideas over the past year. I've released minimum viable features and experimented with messaging to see what gets people excited, things things like accuracy settings, privacy-oriented design, Shortcuts integration, and automatic fasting tracking. All of these features have fans, but none of them have resonated strongly enough for me to consider them a candidate to become a key unique selling proposition.

FoodNoms has done just fine even without a really solid angle so far. However, I don't think I can take it to the next level of growth without making big improvements in this area quickly.

Learning #8 – Keep Short-Term Goals Focused On Inputs

After my initial launch in November last year, I wanted to spend at least a few more months working on FoodNoms full time. I decided to set some ambitious goals: increase revenue and number of users by some amount. This didn't happen.

If you’re just starting out, you have conviction and some initial market excitement, just focus on the things you can actually control. Set goals for how many experiments you’ll try, features you’ll build, or bugs you’ll fix. Wait some time before you understand just how your business is affected from focusing on the inputs before setting goals on the outputs. Otherwise you may find yourself distracted and frustrated, like I was.

Learning #9 – Don't Let Blockers Stop You

I had actually thought of building a food tracking app many times over the past several years. However, I never thought it was an idea worth pursuing because I knew food databases were expensive and I wouldn’t be able to build a good app without a “good” database.

Turns out I was able to build my own food database, build features that worked around the problem, and launch a highly-rated food tracking app without having to pay anyone but AWS.

I know it’s a cliché, but challenge yourself to think outside the box. How can you work around your problems that are preventing you from building the thing you want to build?

A Year Well Spent

I followed my heart in building FoodNoms. It all started out as a fun passion project and has turned into something much more.

This past year has been full of ups and downs, but it's been extremely rewarding. Deciding to take a full year off was one of the best decisions of my life. I’m amazed at how far FoodNoms has come and how much I have learned and grown.

Having the opportunity to build something like FoodNoms has been a lifelong dream. Thank you to all of my followers, customers, and friends who have helped make it happen.

I am still working through exactly what my plans are for the next six months. Lots of big decisions and planning to do. FoodNoms has an exciting roadmap and future ahead – especially with some of the recent announcements from WWDC. If you want to follow along and stay up to date on the latest, I recommend following me (@ryanashcraft) on Twitter. 😎

🧡🍕