Issue #55 - Ryan Ashcraft
Happy Monday, everyone!
We made it to Issue #55! Thank you to everyone who read last week’s issue ❤️
Two weeks out of the three week celebration of Indie Dev Monday’s one year anniversary are over! 😛
If you missed the news two weeks ago, I released three official Indie Dev Monday shirts for sale. You can go check them out at indiedevmonday.com/merch. All profits ($6 from each shirt) will be donated to Girls Who Code.
The following companies have also agreed to match donations to Girls Who Code from the first three weeks of sales 🙌
This means that for every shirt you all order, $30 will be donated to Girls Who Code 🤯
Our totals for Week 2 are…
Shirts sold: 94
Amount to be donated: $3,384
I can’t thank all of you enough who have already ordered and helped support Girls Who Code ❤️ All shirt profits will always be donated but make sure to order in the next two weeks to take advantage of the donation matching!
And I’d like to give a big thank you to Jonathon Ruiz who gave the Indie Dev Monday one year anniversary shirts a shoutout on his podcast, Everyday Robots 🙌 You may also recognize Jonathon’s name from his appearance in Indie Dev Monday Issue #5 😊
One Year Anniversary Celebration
Order shirts at 👉 indiedevmonday.com/merch
More details at 👉 indiedevmonday.com/one-year-anniversary
Today’s Spotlighted Indie Devs
📆 Today I’m featuring Ryan Ashcraft.
👉 Please make sure to follow them or support them anyway you can! 😇 I’m excited to share their indie dev stories.
Software engineer at Confluent and creator of FoodNoms
1) What is your name? Where do you live?
Ryan Ashcraft. San Francisco Bay Area.
2) Introduce yourself. Education? Background? Main job? Interests outside of tech? Interests inside of tech?
I’m a 29-year old software engineer, husband, and cat dad who grew up on the east coast and now lives in California. I met my husband at my alma mater, Georgia Tech, and we’ve been happily together for over ten years.
I discovered programming at an early age. I started making websites when I was twelve years old. Not long after, I started designing and building websites for my dad’s business, and then other small businesses. When the original iPhone SDK came out, I was eager to learn how to make my own apps, and learned a ton building a few small apps. I made some decent money too (for a teenager)! I really fell in love with programming during this time, and I knew then that I wanted to study computer science and make programming my life’s career.
Since Georgia Tech, I’ve been working on the West Coast as a software engineer. I worked at Yahoo, then Amplitude, and now I’m employed at Confluent. I’ve drifted away from consumer tech and mobile development, and have become focused on web development and B2B SaaS products. I have learned to enjoy working in this space, but around two years ago, I realized I missed making iOS consumer apps. That’s what led to FoodNoms!
Outside of work, I enjoy hiking, running, cooking, and eating good food! I also spend a decent amount of time watching YouTube, Netflix, and Twitch when I really want to unwind.
3) Have you ever considered yourself an indie developer?
With FoodNoms, definitely!
4) How do you balance your time between friends/family, work, hobbies, and indie dev?
One of the best exercises I did a few years ago was explicitly write down a list of my core values and prioritize them. I value health, so I always make sure to get good sleep, eat well, and exercise. I also value my relationships with my family and friends, so I make sure to check in on them regularly and prioritize them above work and other things. This includes my relationship with my husband – I put him first before my work, and I don’t let work get in the way of our favorite activities.
Indie work with FoodNoms is ultimately last in the priority list, but it still represents an important value for me – and that’s creativity. I look at it as my main hobby. FoodNoms is my main creative outlet, and it that allows me to express myself and it constantly challenges me to learn new things. While it’s last in the priority list, I still have plenty of time to devote to it.
5) FoodNoms - I am a huge fan of FoodNoms 🙌 I’ve tried to use other food trackers in the past I get zero enjoyment out of using them. I feel like maybe I shouldn’t expect enjoyment since I’m really doing this for my health but I want a food tracker that I’m excited to use… and FoodNoms is exactly that! I’m a relatively new FoodNoms user so I don’t know the history. When did you start FoodNoms and why? What did your first release look like?
First, that’s awesome! I love to hear that.
A little over two year ago I quit my job because I was burnt out and wanted a lengthy sabbatical. For years, I had long fantasized about building my own app and starting my own indie business. The first thing I did after quitting was brainstorm a bunch of ideas and stack rank them based on several criteria: feasibility, financial risk, originality, and market size. One other requirement I had was that I wanted it to be a subscription-based business.
One of the ideas on my list was building a competitor to MyFitnessPal. I had tried to use MFP on several occasions, but it never stuck. I thought calorie counting was a really useful practice, but I was so frustrated with the app’s design and the way it made me feel. I researched other apps and never found one I really liked. No other idea made me nearly as excited.
Building a competing app in the food tracking space seemed daunting, yet feasible. I gave myself only four months to ship the first version – and I did it! I was so proud of myself, but it was incredibly difficult and stressful. There was no way I could’ve done it if I hadn’t quit my job.
I had very low expectations for my launch, but it ended up going above and beyond my wildest dreams. I remember vividly that morning, seeing FoodNoms featured in MacStories, 9to5Mac, and iMore. It was both amazing and terrifying! It did well on Product Hunt and Reddit later that week, as well. I’m so thankful to the writers who featured FoodNoms on launch day, because without them, I’m not sure I’d still be working on FoodNoms today.
The app really took off and I was both elated and terrified. The sudden influx of customers and feedback was really exciting, but it also put a ton of pressure on me to follow through and keep iterating on the product. So I extended my sabbatical to continue shipping updates and see where things would go.
6) FoodNoms - Privacy is important and being transparent about privacy feels even more important. I love that the onboarding screens all have a button for “How is this information used?” when asking for some personal information or preferences. I think that is a great way to show honesty and gain trust upfront. Is this something that you thought to add on your own or is this something that evolved from users’ needs and questions? I don’t think I’ve seen too often in apps so I’m curious how it came about because I think its great ❤️
I believe that what you eat and drink is one of the most personal things in your life. One of the things that offended me about other food tracking apps were its intrusive ads and data collection policies. I felt anxious and uncomfortable sharing something so personal with them, when they didn’t seem to feel the same way about it.
One thing to note here is that I don’t subscribe to a black-and-white “privacy means no data collected” philosophy. Qualitative feedback from users is still the most valuable form of feedback, but it’s often important to look at quantitative metrics in order to make smart, well- informed decisions that help me build a better product. I always stick to these principles with regards to data collection and FoodNoms: don’t collect personal information or any sort of dynamic values, allow users to opt out, and be transparent with how data is used. That’s why I made the “Data & Privacy” screen the first screen in the onboarding flow!
7) FoodNoms - The accuracy feature when logging a quick entry might be my favorite feature 🙃 I’ve always struggled logging foods when they aren’t 100% correct so I feel like I’m lying when I log it 😅 I can’t say I’ve seen this on other food trackers so it’s really refreshing to essentially log a “🤷♂️” with my entry. How does this accuracy get used when showing charts and goals? Did the accuracy feature add a lot of complexity when you added it?
Love to hear that! I was pretty proud of this idea – I’m pretty sure FoodNoms was the first to offer something like it. To be honest, this feature didn’t get as much appreciation as I would’ve thought, but it is still used quite a lot!
Drawing from my experience using MyFitnessPal, I had the same exact feeling of frustration that my food diary wasn’t accurate enough. I really just wanted to free myself of this feeling and embrace the fact that often times, you don’t know exactly how many calories or grams of protein something had.
I honestly think the main benefit to the accuracy field is relieving this “logging anxiety”. It still has a utility – in charts you will see error bars to visualize the total accumulated range for that nutrient for that day. So when I’m looking at my charts for the last week, I typically look at which days I ate well and which ones I didn’t. The error bars are another useful signal. In general, I like to see days without error bars or with very small ones, so that I can be confident in my data.
8) FoodNoms - What was one of the most fun features to make on FoodNoms? What was the hardest?
I’ve had so much fun building this app, but if I were to just pick one feature it’d probably be the nutrition label scanner. It is by-far the most “magical” UI I’ve built, and I love seeing people’s reaction to it.
The hardest feature has certainly been the FoodNoms Community Database, which builds on top of the default FoodNoms database to include foods submitted by FoodNoms users. This feature involved a lot of backend work, making a ton of difficult decisions, and finding people to help with content moderation. That said, this work has really paid off and has made a huge impact. The Community Database receives over a thousand submissions a week, and barcode success rate in the US is now at 84% versus just 30% a year ago.
I knew from the start that the food database was going to be my biggest challenge, because many consider this to be the most important aspect to a food tracking app and they simple won’t use one if it doesn’t offer a robust database. This will always be an uphill battle for FoodNoms, but thanks to the Community Database and the wonderful users that help improve it, FoodNoms continues to get better and become more suitable for more people every day.
9) FoodNoms - One topic I don’t usually ask (that I think I’m going to ask more) is about marketing. I think I like to build developer related tools because that is the community I know and the community I know how to market to. How do you go about marketing FoodNoms? What tactics have worked best for you? What tactics haven’t? Is there any advice you can give other indie developers on how to find what marketing technique will work for them?
It’s really difficult. 😅
I actually don’t think I’ve done particularly well with marketing FoodNoms to date. I think I’ve gotten extremely lucky with a few key events. That said, all of those events occurred because I did these three things: I built a product people really wanted, found a community on Twitter, and worked hard to make customers happy when handling support requests. I think back to all of the key inflection points in FoodNoms’ growth, all of them were driven by being featured by someone with a much-larger audience that discovered FoodNoms through “word of mouth.”
I constantly study other successful apps, and often think about the sort of tradeoffs and decisions their creators have made. I particularly focus on apps that are a stage I’d love to see FoodNoms be at in a few years time. Typically, these apps either have a vibrant community or they nail their messaging. The most successful apps do both!
One current focus of mine is to really clarify FoodNoms’ value, voice, and target audience. I’m trying to treat marketing more as a continuous part of the feature development process, as opposed to a todo item after each feature release.
One thing that has worked out for me is being open about FoodNoms successes and failures. People particularly enjoy my blog posts, which I honestly didn’t really expect. People value transparency and enjoy hearing from indie creators. I recommend others to take advantage of this. Experiment, embrace failure, and be vulnerable.
10) FoodNoms - What’s next?! Do you have any future features in the works that you can talk about?
I’ve been working on a HUGE update to FoodNoms – the biggest yet. It’s going to include many of the top feature requests: bidirectional Apple Health syncing, a redesigned iPad app, a Mac Catalyst app, tons of new options for goals, lots of UI refinements, and more.
I’ve actually been working on this update for over a year now. It’s actually a near-complete rewrite of the entire app! Some people might be surprised to hear this, but the current FoodNoms codebase is a real mess. As I mentioned earlier, I wrote the first version of FoodNoms in just four months. Naturally, I had to cut a lot of corners to make that happen. In addition, I was new to Swift and not up-to-date on best practices with iOS programming, so I made some poor decisions that I now regret. At first, the tech debt was manageable, but it became increasingly difficult to ship new features. Some of these new features my next update is going to bring, such as bidirectional Apple Health syncing, would have been impossible to build with the old codebase in a way that would be robust and performant.
The new update, which I refer to as “FoodNoms 2”, is something I’m really proud of and can’t wait to ship. I hope FoodNoms users will enjoy it. The update still has a ways to go, but I’ve made a ton of progress on it, especially recently.
11) What’s been the hardest part of being an indie dev? What the most fun part of being an indie dev?
The most fun part of being an indie dev is having 100% control over the vision and execution. FoodNoms is a pure reflection of my values and my skills, which is not something you can find when working on a team.
On the other hand, the hardest part of being an indie dev is not having a business partner. Sometimes I really wish I had someone who I can trust to bounce ideas off of, or talk through a difficult decision.
12) Is there anything else you’d like to tell the indie dev community about you?
No, I feel like these questions were sufficient! 😅
13) Do you have any other indie devs that readers should follow / lookout for?
Russ Shanahan, creator of Happy Scale. He’s a really kind and thoughtful person, and I really look up to him and his success with his app, Happy Scale.
Dan Gauthier, creator of Oh Bother. Dan has written a lot of great blog posts about indie development and I really admire his work.
Newly Released and Updated Indie Apps
Here are some newly released and newly updated apps from this past week! If you would like to possibly see your app in this list, please submit your app to the look at me form 👀
Thank you to everybody who made it to this footer! You either spent the time to read or took the effort to scroll 😊
Make sure to visit https://indiedevmonday.com/subscribe to get an email of future issues!
And go to Twitter and give @IndieDevMonday a follow… or multiple follows if you manage more than one Twitter account 😜