Skip to content

Feature Request: Allow ingredient macros to be entered per arbitrary serving size #1174

@ahanel13

Description

@ahanel13

Proposal

Allow users to select or specify the serving size in grams when creating or editing an ingredient, and enter the macros for that serving size. The app should automatically convert these numbers to per-100g values behind the scenes if needed for internal consistency, so:

  • Users can enter exactly what is on the package/Nutrition Facts label ("serving size: 28g, calories: 120, protein: 6g...")
  • No manual math/conversion is required by the user
  • The feature becomes easier to use by users in other countries

Current Issue

Currently, when creating an ingredient, the app expects the user to input macros per 100 grams.

Image

This assumes the serving size is always 100g, but this is not convenient for many users—especially in America, where nutrition labels almost always report macros per serving, and serving size is rarely 100g as it could be 28g, 40g, 150g, etc.

Example of why I think this issue popped up for me

Image

While it already possible to change the serving amount when adding an ingredient after creation, it still requires users to manually convert the macros from the label's serving size to a "per 100g" basis when first creating the ingredient. This extra math is error-prone and frustrating for users who simply want to copy numbers from a US-style food label.

Image

Additional details

  • The user should also be able to see their original serving size when viewing or editing the ingredient.
  • This change is focused only on the ingredient creation/edit workflow—the existing ability to choose a serving amount when actually logging a meal should not be affected.
  • This could actually help with adding meal/ingredients in a day if for example, I know I had 1 serving of oatmeal as set by the label.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions