Foodnoms in 2025: Year in Review

December 31, 2025

Hi, my name is Ryan and I'm the creator of Foodnoms. I started building Foodnoms over 6 years ago as a solo developer, and it has since grown into my full-time business. While I now work with contractors and support staff on specific projects, I'm still the primary developer behind the app.

One year ago, I started making plans for what I wanted to do with Foodnoms in 2025. The main theme was to be more bold: to ship a lot and not let old decisions hold back the app.

Now that the year is coming to a close, I feel like reflecting on the journey and evaluating how it all went: from all the features we shipped, the challenges we faced, and the stuff that happened behind the scenes worth celebrating.

Liquid Glass and iOS 26

For better or for worse, 2025 was dominated by Liquid Glass and iOS 26.

I decided to take a radical approach with the new design language. Instead of trying to tweak the existing app to look acceptable on iOS 26, I was going to start from scratch and redesign and rebuild the entire UI. The existing codebase was tedious to work with, and SwiftUI was finally ready for prime time. More importantly, there were major design changes I had been longing to make, and this felt like the moment to make a clean break.

To mitigate risk, I didn't change the experience for users on iOS 17 and iOS 18. I shipped two versions of the UI in one bundle: iOS 17/18 users saw the classic experience, iOS 26 users got the new design. This let me iterate and fix bugs with a subset of users—early adopters who I assumed would be more tolerant of major changes.

Two Steps Forward, One Step Back

In the spirit of being bold, I took some major risks with the iOS 26 redesign. I aspired to ship a UI that was simple, friendly to new users, and was harmonious with the new OS design language.

Halfway through the summer, I shipped the first TestFlight beta of the new design. Initial feedback was mixed, naturally, given that most people are resistant to change.

As more beta testers upgraded, the tone of the feedback didn't improve. Foodnoms users care a lot about the app, because they use it every day, multiple times a day. My TestFlight beta testers are especially caring and opinionated, which is a great asset. But this group also doesn't reflect the entire Foodnoms userbase, so I was intent not to over-index on their opinion and stick with what I believed was right for the app as a whole.

However, after shipping the update to a larger group of people and getting more feedback, it became clear that I needed to make a course correction. And quick.

I promptly shipped many "fast follow" updates to the app that fixed bugs and brought back the main things that users missed from the old design.

Lessons and Takeaways

This experience was several things all at once: exciting, extremely stressful, and demotivating. However, I learned a lot and I'm glad I went through it. Here are my main takeaways:

  • It's great to be ambitious every once in a while. Let all caution go to the wind. Heck yeah we're going to completely redesign and rewrite the app in a few months, why not?

  • Design your roadmap around your priorities, not the hope of being featured on "day 1." That's a trap. Be realistic about what sort of bump you'll actually experience, if any.

  • You never really know what's important to your users until you take it away from them. I now have a much better understanding of what my users appreciate about the app, and it's made me more confident about its positioning and direction.

  • Deciding what feedback to listen to is an art, not a science. It's extremely challenging, and I'm still learning.

  • Now that I'm on the other side of the rewrite, I'm really glad I have a new UI codebase in SwiftUI. I can ship features much faster than before, and the overall product quality is higher. SwiftUI still has nasty quirks, but the tradeoff is worth it.

And We Kept Shipping

The iOS 26 update wasn't the only major update of the year. Looking back, I'm surprised by how much I actually shipped. Here are the highlights.

Shortcuts & Automation

It's crazy to think this also happened this year, but I completely overhauled our Shortcuts actions to make them way more powerful. You can now log your food, manage your library, query and manipulate your food log, change your goals, and more without opening the app. It was a massive undertaking that fundamentally changed how people could interact with Foodnoms.

I also adopted app intents to make it easier to integrate Shortcuts into common workflows. All of this work was in collaboration with Matthew Cassinelli, who helped architect the actions and made some custom shortcuts for users to try out.

The response has been incredible. Power users have built some truly wild automations that I never would have imagined.

Foodnoms Cloud

I have been working on Foodnoms Cloud for years. It was a great weight lifted off my shoulders when it finally launched.

I built Foodnoms Cloud primarily to remove the hard dependency on an Apple service for a core capability of the app. I realize I sound totally paranoid and perhaps unreasonable about this, but only supporting iCloud felt like a major liability. What happens if Apple changes their terms? What happens if there's a prolonged outage? I wanted control.

Foodnoms Cloud also solved real problems for real users. Some people could not or did not want to use iCloud for data syncing. The two most common reasons were not enough storage or using an MDM-managed device. Foodnoms Cloud also opens up new possibilities down the road for cross-platform or server-side-based solutions.

The launch and transition has been smoother than I expected, thankfully. And I want to reiterate: iCloud sync is still 100% supported. These are two options. Choose the one that works best for you.

Smarter Ways to Log Food

I shipped several major improvements to how you get food into Foodnoms:

Nutrition label scanner: The old on-device scanner had its strengths, but it didn't work for everyone and was often slow and tedious. The new server-based scanner delivers a "just works" experience. It now scans serving sizes, product names, and brands automatically. The difference in accuracy and speed is night and day.

Voice entry: Just speak what you ate. Simple as that.

Smart scale support: Use a compatible Bluetooth-enabled kitchen scale to seamlessly weigh exact portion sizes. It's honestly somewhat magical.

Meal scanner improvements: You can now select a photo from your library instead of only taking a new one, and you can add notes to provide context.

Share images to Foodnoms: Share photos from other apps to Foodnoms to have them scanned by Foodnoms AI.

Shortcuts improvements: As mentioned above, there are more ways to automate how you log what you eat.

Each of these felt like major improvements during development, but together they represent a significant leap in how flexible and fast the logging experience can be.

Insights

For years, many people had been wanting to track consumption of various nutrients without having to set a goal. It was a simple request that required a surprisingly complex solution (to do it right). I extended the goals tab to make it more powerful and way more customizable. The end result is a beautiful dashboard tab where you can freely explore your data, without having to configure any goals.

Revamped Charts

Charts in Foodnoms got a huge upgrade this year. You can now freely scroll them, which is more intuitive and flexible. It matches the experience in first-party apps like Apple Health, which is the standard users expect.

I also added the ability to view month-by-month averages in the new year time period option. This was a highly requested feature that gives you a better sense of long-term trends.

It took a serious amount of engineering effort to make these charts work reliably and performantly. There were so many edge cases and performance gotchas. I'm really happy with where they ended up.

watchOS and Widgets

The Apple Watch app got meaningful updates this year. I added support for Smart Stack widgets (finally). I also introduced the ability to log your favorites from your wrist. These features may seem obvious, but both required a lot of foundational work to get right.

I also shipped new and redesigned Home Screen widgets. They're cleaner, more informative, and most importantly: truly useful.

Shareable Images

A recent update added the ability to share charts, your daily progress, and your streak with your friends as an image. It's a small feature that has proven surprisingly popular. People like celebrating their wins, and now they can do it easily.

And More

Beyond the major features, I shipped several other updates that users have been asking for:

Collapsible meals: Compact your food log throughout the day.

Multi-select mode: Select multiple food entries to batch edit, delete, or re-log.

Customizable nutrient summaries: Choose which nutrients appear in food previews, like net carbs or fiber.

Active energy scaling: Scale Apple Health active energy by a percentage. This is perfect for people who don't trust their watch's calorie burn estimates.

Streak detail view: Browse your monthly and yearly streak history in beautiful grid views.

Under the Hood: Reliability and Technical Wins

A lot of the work this year was invisible to users but critical to the long-term health of the app.

Crash fixes: For a few years, Foodnoms had a crash problem. Most people didn't notice it because the crashes mostly occurred when the app was in the background, so there was little user impact. I finally fixed the main issue by moving the app's databases to within the main app process' directory. This was only possible thanks to the work I did with the new App Intents architecture. The volume of crashes dropped dramatically.

Sync reliability: I fixed a major issue causing data syncing to get stuck on a device if you hadn't used it in a few weeks. This issue had haunted me in the support system for years. Tracking down the root cause felt like detective work, but I finally nailed it.

Widget refresh reliability: I recently made some key improvements to try to get widgets to refresh more frequently. This required some clever caching and optimization strategies, as well as a few key bug fixes.

Authentication improvements: I continued to improve the experience for signed-in users to avoid them from getting logged out prematurely. Nothing more frustrating than being unexpectedly signed out.

Modernization: I went all in on App Intents. I killed several app targets and extensions. The legacy intents file is gone. All widget settings now use App Intents, and I did this migration without breaking peoples' widgets. I also migrated from ClockKit to WidgetKit on watchOS without breaking complications. These migrations were risky but necessary.

Better debugging: I switched from OSLog to swift-log and added back persistent logs, so that I could more effectively investigate support issues. I also migrated and modernized several packages to Swift 6.

None of this is glamorous, but it all matters when it comes to making a product people love.

New Branding and Website

Just recently I relaunched foodnoms.com. Along with it is a new logo and refined pitch of the app. Eli Johnson led the rebrand and redesign, and he did a fantastic job. The website feels modern and fresh, and the branding feels cohesive with the product. It's something I've been wanting to do for years, and I'm so happy we got it done.

Doubling Down on Support

At the start of the year, I hired my first customer support representative. It started out as an experiment and has ended up being a huge success.

We get a ton of support and feedback inquiries. I cannot manage the volume all by myself. I've also learned that it's best for me to be partially removed from customers because it can weigh on me emotionally. Reading every complaint, every frustration, every misunderstanding takes a toll.

The current system has been working quite well. I can be more focused on my day-to-day obligations and making the product better, and I'm more motivated to do so. Having support handled means I can actually focus on building.

The Business Side

This has been a great year from the business perspective. Subscription revenue grew 24%. I dramatically cut ad spending, which has slowed down growth to some degree, but has made a huge difference in terms of profitability. Even with having to pay multiple contractors for their contributions, the app is profitable. For the first time, I'm actually making withdrawals (i.e. paying myself). It feels great.

I've found great partners to work with and help me achieve my vision for several projects. Working with talented people makes everything better.

AI-Assisted Coding

I would be remiss not to mention this. This year I went all-in on AI-assisted coding and it has paid off well. I feel more productive, more inspired, more creative. I find myself saying "yes" more often whereas before I would've said "no" because something was too complicated or would take too long to implement. It's been transformational, especially to my motivation and focus.

Looking Forward to 2026

I see both opportunities and challenges in the upcoming year.

The main challenge: retention. Specifically, subscription retention. How can I encourage more people to stick around and keep paying for the app after one month or one year? I have several ideas, some big and some small. This won't be easy, but it will be critical to solve to get the app to the next level of growth.

Competition: There's an explosion of vibecoded and AI-built food trackers on the market now. As the cost of shipping a new Foodnoms competitor goes down significantly, it's more important than ever that Foodnoms continues to improve and differentiate itself.

The opportunities: Continue to quickly iterate on the product and make it easier to learn, more personalized, and more helpful. Continue to improve reliability and invest in long-term health of the app. Continue to improve the database. Continue to solidify the branding and positioning as the simple, powerful food tracking app that Apple hasn't made (yet?). Spend more time on monetization and ASO: improving download conversion, paywalls, and upsells.

Thank You

I owe many thanks to others who have helped Foodnoms get to where it's at:

  • Support contractors who have been on the front lines with Foodnoms users

  • Eli Johnson for his fantastic contributions to the iOS 26 redesign, rebrand, and website redesign

  • Harshil Shah for all of his contributions to the app

  • Matthew Cassinelli for his contributions to the new Shortcuts support and App Intents

  • TestFlight users who have shared valuable, candid feedback

  • Foodnoms users who continuously share their feedback and are patient with us as we iterate based on that feedback

I'm very proud of all we accomplished in 2025. It was a year of taking risks, learning hard lessons, and finally shipping projects that had been years in the making. I'm equally excited about what's ahead in 2026.

(C) Copyright 2025 Algebraic Labs, LLC. All rights reserved.

Get Started with Foodnoms Today

No account required. Optional paid subscription.