New Features for Carb Cycling, Cheat Days, Plus Other Usability Improvements

New Features for Carb Cycling, Cheat Days, Plus Other Usability Improvements

Today I'm happy to announce FoodNoms' 21st update this year. All of the changes in this update were motivated by feedback from FoodNoms users, but the main inspiration for this update comes from my own recent experiences using the app.

A few weeks ago, I joined a new local gym. As part of my membership, I receive nutrition counseling from my fitness coach. This is the first time I've ever had any sort of nutrition coach before. I know many FoodNoms users have or have previously had a nutrition coach, so I felt like it was a great opportunity to learn exactly what it's like to use FoodNoms in that situation.

I'm a huge proponent of actually using the product you build, aka "dogfooding". The issue about dogfooding as an indie, however, is that you are only getting a single person's perspective. To counteract this, it's necessary to listen to your customers and sort of "roleplay" different user scenarios. Or even better, go beyond roleplaying and actually change your behavior to match different usage patterns. I've found this to be the absolute best way to gain true empathy for different types of users. Listening isn't enough.

I'm so glad I joined this gym and started this new program, because it's giving me a whole new perspective on food tracking. This perspective helps me realize a number of gaps and friction points in the app that I was unaware of. Well, actually, that's not true. I was aware of these issues, because I've heard all of them before from customer feedback, but I didn't really understand their importance until now.

This update aims to fix some of the most egregious issues I found after starting this program, plus several small usability tweaks that aim to make the app more intuitive. Read on to learn more.

One-Day Exceptions for Goals

You can now tweak a goal for a specific day, without influencing the goals of subsequent days.

Two screenshots: one of the carbohydrate goal screen with fluctuating goal amounts and the other showing a screen that shows the history of the goal's settings and exceptions

As part of my new program, I started "carb cycling". This means on most days, I eat high protein, high fat, and low carb. Then every 4 days I increase my carbohydrate goal +200g.

Previous versions of FoodNoms could technically handle such scenarios, but the experience really wasn't great. The worst part was that you always remember to change your goals on the day of, because there was no way to change your goals for previous days.

After a week or two of going through my new program, I felt highly motivated to implement a solution that makes this easier and more intuitive.

Instead of explicitly adding support for "carb cycling", where the goal automatically adjusts based on the day of the week, I decided to go with this generalized solution. One-day exceptions can work for any goal, and you can use them for any reason.

There are other reasons besides carb cycling for why you might want a one-day exception. For example, some people increase their calorie goal a fixed amount of heavy lifting days. Meanwhile, some increase their goals on the weekend. Another is cheat days. When I shared this with my beta testers, one of them was excited about the feature: "I'm going to a BBQ on Saturday which is an excellent use case for this 😁".

I know some of you may be asking, "Why not make it so this can be automated?" I considered this, but it would be really hard to build a UI that supports automating all of these various use cases. That said, I'm considering adding support to automate these exceptions using Shortcuts. If you're interested in this, please let me know.

To create a one-day exception, tap on the new "…" menu in the goal details screen in the Goals tab, then select "Set One-Day Exception".

Screenshot of the new context menu open on the goal details screen in the Goals tab

Goals Settings History

Ever wished that you could go back in time and modify what your goals were in the past? Now, you can.

To access this screen, tap on the new "…" menu in the goal details screen and select "Show Settings History".

You have full control over the history of your goal settings. You can even alter when a specific goal setting starts, for scenarios when you want to "backdate" a specific goal without having to completely reset it.

Pro tip: From the new goals setting screen, you can tap-and-hold on a setting or exception to quickly duplicate it. This makes it even easier to repeatedly cycle specific settings and exceptions.

Goal Impact List

When you're entering in your food, wouldn't it be helpful to know how your goals will be impacted before you actually log it? Maybe it's late at night and you're wondering if you should eat another slice of pie. Or you're trying to decide how big of a portion to eat so you stay track to hit your protein target. This is now much easier with the new "Goals" view in the food entry detail screen.

Below where you input how much you're eating, you'll notice the "Nutrients" header is now a dropdown. If you tap on that, you can switch to a new "Goals" view. This new view focuses just on your goals. For each goal, it will show your current percentage completion along with the the hypothetical percentage completion with the current portion size selected.

Screenshot of the new Goals view on the food entry screen

I've found this to be especially useful when I'm not sure how much I should eat in order to hit my macro goals.

You can tap on the labels to switch to the specific gram amounts along with the relative percentage towards the overall goal.

Default Meal Type for Favorites

By popular request, you can now specify a default meal type for your favorites. You'll find a new "Meal Type" setting when creating or editing a favorite.

Screenshot of a screen editing a 'Water' favorite that shows a Meal Type field set to 'Water'

I know many people wish FoodNoms had a dedicated "Water" section in the food log tab. While that isn't what this feature is about, this feature can help you achieve that.

New Portion Size Picker Design

Screenshot of the new portion picker

To optimize space and make it easier to scroll on the food entry screen, the portion picker has been updated to use a pop-up menu design.

I hope this new design is more intuitive for new users, as the previous design was confusing to many. This design is more typical to what you might see in other apps. I hope it's also welcomed by experienced FoodNoms users.

Pro tip: Tap, hold, then drag down on the menu to select a different unit without having to lift up your finger.

Other Minor Usability Improvements

There is a decent amount of small usability improvements in this update. Most are very minor and focused on making the app more intuitive for new users. One change you will likely notice is the date picker no longer requires that you tap "Done" to switch dates.


I hope you enjoy these updates. If you do, I'd appreciate it if you left a review on the App Store. If not, I'd love to hear from you at feedback@foodnoms.com. Stay tuned for more updates this year aimed at refining the user experience even further.