Readit News logoReadit News
Posted by u/joshdickson 9 months ago
Show HN: OpenNutrition – A free, public nutrition databaseopennutrition.app/search...
Hi HN!

Today I’m excited to launch OpenNutrition: a free, ODbL-licenced nutrition database of everyday generic, branded, and restaurant foods, a search engine that can browse the web to import new foods, and a companion app that bundles the database and search as a free macro tracking app.

Consistently logging the foods you eat has been shown to support long-term health outcomes (1)(2), but doing so easily depends on having a large, accurate, and up-to-date nutrition database. Free, public databases are often out-of-date, hard to navigate, and missing critical coverage (like branded restaurant foods). User-generated databases can be unreliable or closed-source. Commercial databases come with ongoing, often per-seat licensing costs, and usage restrictions that limit innovation.

As an amateur powerlifter and long-term weight loss maintainer, helping others pursue their health goals is something I care about deeply. After exiting my previous startup last year, I wanted to investigate the possibility of using LLMs to create the database and infrastructure required to make a great food logging app that was cost engineered for free and accessible distribution, as I believe that the availability of these tools is a public good. That led to creating the dataset I’m releasing today; nutritional data is public record, and its organization and dissemination should be, too.

What’s in the database?

- 5,287 common everyday foods, 3,836 prepared and generic restaurant foods, and 4,182 distinct menu items from ~50 popular US restaurant chains; foods have standardized naming, consistent numeric serving sizes, estimated micronutrient profiles, descriptions, and citations/groundings to USDA, AUSNUT, FRIDA, CNF, etc, when possible.

- 313,442 of the most popular US branded grocery products with standardized naming, parsed serving sizes, and additive/allergen data, grounded in branded USDA data; the most popular 1% have estimated micronutrient data, with the goal of full coverage.

Even the largest commercial databases can be frustrating to work with when searching for foods or customizations without existing coverage. To solve this, I created a real-time version of the same approach used to build the core database that can browse the web to learn about new foods or food customizations if needed (e.g., a highly customized Starbucks order). There is a limited demo on the web, and in-app you can log foods with text search, via barcode scan, or by image, all of which can search the web to import foods for you if needed. Foods discovered via these searches are fed back into the database, and I plan to publish updated versions as coverage expands.

- Search & Explore: https://www.opennutrition.app/search

- Methodology/About: https://www.opennutrition.app/about

- Get the iOS App: https://apps.apple.com/us/app/opennutrition-macro-tracker/id...

- Download the dataset: https://www.opennutrition.app/download

OpenNutrition’s iOS app offers free essential logging and a limited number of agentic searches, plus expenditure tracking and ongoing diet recommendations like best-in-class paid apps. A paid tier ($49/year) unlocks additional searches and features (data backup, prioritized micronutrient coverage for logged foods), and helps fund further development and broader library coverage.

I’d love to hear your feedback, questions, and suggestions—whether it’s about the database itself, a really great/bad search result, or the app.

1. Burke et al., 2011, https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3268700/

2. Patel et al., 2019, https://mhealth.jmir.org/2019/2/e12209/

Cheer2171 · 9 months ago
> Final nutritional data is generated by providing a reasoning model with a large corpus of grounding data. The LLM is tasked with creating complete nutritional values, explicitly explaining the rationale behind each value it generates. Outputs undergo rigorous validation steps, including cross-checking with advanced auditing models such as OpenAI’s o1-pro, which has proven especially proficient at performing high-quality random audits. In practice, o1-pro frequently provided clearer and more substantive insights than manual audits alone.

This is not a dataset. This is an insult to the very idea of data. This is the most anti-scientific post I have ever seen voted to the top of HN. Truth about the world is not derived from three LLMs stacked on top of each other in a trenchcoat.

creativeCak3 · 9 months ago
I agree so much with you. This is not a dataset. This is the vomit of an LLM making stuff up. Like...why couldn't you just collect the data that already exist?? Why do you need an LLM?

Adding an LLM to this just adds a unnecessary layer of complexity, for what benefit? For street cred?

joshdickson · 9 months ago
There's an in-depth review of the reasoning for undertaking this project in general and this approach in particular in the Methodology/About section below, see "Current State of Nutritional Data".

Millions of people use food logging apps to drive behavioral change and help adhere to healthy lifestyles. I believe there is immense societal good in continuing to offer improved tools to accomplish this, especially for free, and that's why I created the project and chose to open source the data.

https://www.opennutrition.app/about#current-state-of-nutriti...

justsid · 9 months ago
I find this actually very upsetting. My wife does calorie counting and all of the apps for it are horrible, especially the market leaders. But those have one thing going for them: Databases of nutritional information, which can be used for easy meal calorie counting. Just enter the ingredients (usually you can scan a barcode) and how much you ate of the total and it tells you where you are standing on caloric and nutritional intake. But even those datasets aren’t always bang on, especially here in Canada where some products share bar codes with US products but they have different nutritional values. Reading the title, I was very excited about the ability to make my wife a better app to support her needs. Unfortunately this is not at all usable for this use case or really any? What’s the point of having data that you just can’t trust at all?

Dead Comment

ZunarJ5 · 9 months ago
As soon as I saw "AI enhanced for Accuracy" I laughed and wondered if this was a belated April Fools joke.
tmpz22 · 9 months ago
Imagine how much more efficient government would be if we just generate all the data with LLMs.

Dead Comment

yamihere · 9 months ago
>> User-generated databases can be unreliable

>> Foods discovered via these searches are fed back into the database,

Aren’t LLMs also unreliable? How do you ensure the new content is from an authoritative, accurate source? How do you ensure the numbers that make it into the database are actually what the source provided?

According to the Methodology/About page

>> The LLM is tasked with creating complete nutritional values, explicitly explaining the rationale behind each value it generates. Outputs undergo rigorous validation steps,

Those rigorous validation steps were also created with LLMs, correct?

>> whose core innovations leveraged AI but didn’t explicitly market themselves as “AI products.”

Odd choice for an entirely AI based service. First thought I had after reading that was: must be because people don’t trust AI generated information. Seems disengenuous to minimize the AI aspect in marketing while this product only exists because of AI.

Great idea though, thanks for giving it a shot!

joshdickson · 9 months ago
> Those rigorous validation steps were also created with LLMs, correct?

Not really. I do explain in the methodology post how good o1-pro is at the task, but there was a lot of manual effort involved in coming to that conclusion with my own effort to review the LLM's reasoning, and even still, o1-pro is not perfect.

yamihere · 9 months ago
Nice! Thanks for responding.

>> Outputs undergo rigorous validation steps, including cross-checking with advanced auditing models such as OpenAI’s o1-pro, which has proven especially proficient at performing high-quality random audits.

>> there was a lot of manual effort involved in coming to that conclusion with my own effort to review the LLM's reasoning

So, the randomly audited entries seemed reasonable to you – not even the data itself, just the reasoning about the generated data. Did the manual reviews stop once things started looking good enough? Are the audits ongoing, to fill out the rest of the dataset? Would those be manually double-checked as well?

>> I became interested in exploring how recent advances in generative AI could enable entirely new kinds of consumer products—ones whose core innovations leveraged AI but didn’t explicitly market themselves as “AI products.”

Once again: Why not market this as an AI product? This is LLMs all the way down.

People are already interested in using this dataset. I was. Now, LLM generated “usually close enough to not be actively harmful” data is being distributed as a source for any and all to use. I think your disclaimer is excellent. Does your license require an equivalent disclaimer be provided by those using this data?

rob · 9 months ago
Not really sure how the author thinks anybody who tracks their calories/macros seriously is going to trust a website that literally just makes up values for the vitamins, minerals, etc:

> TL;DR: They are estimates from giving an LLM (generally o3 mini high due to cost, some o1 preview) a large corpus of grounding data to reason over and asking it to use its general world knowledge to return estimates it was confident in, which, when escalating to better LLMs like o1-pro and manual verification, proved to be good enough that I thought they warranted release.

yamihere · 9 months ago
That’s the best part! People don’t care and won’t check! They’ll just pay money!

Most of the data being close enough to be better than nothing and not actively harmful + a disclaimer and the author is absolved of all responsibility!

Even better, this will now be used in all sorts of other apps, analyses, and for training other LLMs! And I expect all those will also prominently include an “all of this was genereated by an LLM” disclamers. For sure.

XorNot · 9 months ago
Also https://world.openfoodfacts.org/ exists, and has an app with everything you'd need. And is just crowd sourcing nutrition labels and barcodes.
joshdickson · 9 months ago
I have tracked my macro intake seriously for years and use the database every day, as do many folks who used the initial app releases. It's actually more valuable to me to have the data in this format, even estimated, because what happens with other apps is you get gaps in macronutrient reporting on things like Omega 3's, and you wonder 'Am I not eating any Omega 3's or does the database containing the food I ate just not include them?'. In that case I'd much rather have an LLM that had access to as much relevant data as I could feed it reason through approximate nutrient distribution and give me the best estimate it could.

Appreciate the feedback!

lm28469 · 9 months ago
The search is broken on safari, every time it refreshes you lose the focus on the text input, which means you have to click on the search bar after every single character you type. The filters are broken, type "chocolate", chose the M&M's brand, none of the labels return a result despite showing (xxx)

> I wanted to investigate the possibility of using LLMs

ah, yeah, I guess it makes sense then...

joshdickson · 9 months ago
Ah that is an embarrassing bug. Mobile safari does not do that. Thank you for the report, looking to see why that is now.

Edit: Should be patched in Desktop Safari now.

jonesy827 · 9 months ago
It's still erroring in Firefox on macOS and Windows. I see a CORS error on the XHR request
fastball · 9 months ago
The search/filtering is broken in Chrome as well, seems to be a deeper issue than something browser-specific.
bhatfiel · 9 months ago
LLM generated nutrition for accuracy.

The first item I manually look up is has about double calories listed in the "dataset" versus reality. Honey bunches of oats honey roasted.

joshdickson · 9 months ago
Both products show a 1 cup (41g) and 160 calorie serving size to me?

OpenNutrition: https://www.opennutrition.app/search/honey-bunches-of-oats-h...

Via Manufacturer: https://www.honeybunchesofoats.com/product/honey-bunches-of-...

If you wouldn't mind DM'ing me the barcode you're looking at that would be helpful to understand what the nature of the discrepancy is.

bhatfiel · 9 months ago
so the dataset published is different from the data on the website.

line 13669: fd_AX4PUMF1h0RU Honey Bunches of Oats Honey Roasted by Post ["Post Honey Bunches of Oats Honey Roasted Cereal"] Honey Bunches of Oats Honey Roasted is a popular breakfast cereal combining crispy whole grain flakes with clusters of honey-roasted oats. This Post cereal features a distinctive mix of textures and a sweet honey flavor profile, created through a specialized roasting process. While providing some dietary fiber, it contains a relatively high sugar content typical of sweetened breakfast cereals, with honey-roasted clusters being its signature component. grocery [] {"common":{"unit":"cup","quantity":1},"metric":{"unit":"g","quantity":41}} {"iron":39.5,"zinc":3.66,"water":3.6585,"biotin":4.878,"copper":0.4878,"iodine":4.878,"lysine":0.3902,"niacin":19.5,"serine":0.3171,"sodium":463,"valine":0.5366,"alanine":0.3171,"calcium":24,"choline":12.1951,"cystine":0.0976,"glycine":0.2195,"leucine":0.6341,"omega_3":0,"omega_6":0,"omega_9":2.44,"proline":0.4146,"protein":7.32,"taurine":0,"thiamin":1,"xylitol":0,"arginine":0.4146,"caffeine":0,"calories":390,"chlorine":0,"chromium":2.439,"cysteine":0.0976,"selenium":12.1951,"sorbitol":0,"tyrosine":0.2195,"histidine":0.2195,"magnesium":59,"manganese":0.7317,"potassium":146,"threonine":0.3171,"total_fat":4.88,"vitamin_a":243.9024,"vitamin_c":0,"vitamin_d":5,"vitamin_e":1.2195,"vitamin_k":0.4878,"folate_dfe":243.9024,"isoleucine":0.4146,"methionine":0.122,"molybdenum":7.3171,"oleic_acid":2.44,"phosphorus":146,"riboflavin":1.24,"trans_fats":0,"tryptophan":0.0976,"vitamin_b6":1.95,"capric_acid":0,"cholesterol":0,"erucic_acid":0,"lauric_acid":0,"vitamin_b12":14.6,"added_sugars":19.5,"stearic_acid":0,"total_sugars":22,"aspartic_acid":0.6341,"caprylic_acid":0,"carbohydrates":82.9,"dietary_fiber":4.9,"ethyl_alcohol":0,"glutamic_acid":1.4634,"linoleic_acid":0,"myristic_acid":0,"palmitic_acid":0,"phenylalanine":0.4146,"soluble_fiber":1.2195,"linolenic_acid":0,"saturated_fats":0,"sugar_alcohols":0,"eicosenoic_acid":0,"insoluble_fiber":3.6805,"arachidonic_acid":0,"pantothenic_acid":1.2195,"other_carbohydrates":0,"alpha_linolenic_acid":0,"docosahexaenoic_acid":0,"gamma_linolenic_acid":0,"monounsaturated_fats":2.44,"polyunsaturated_fats":0,"docosapentaenoic_acid":0,"eicosapentaenoic_acid":0,"dihomo_gamma_linolenic_acid":0} 0884912359155 ["sweetened"] {"common":{"unit":"oz","quantity":12},"metric":{"unit":"g","quantity":340}} Corn, whole grain wheat, sugar, whole grain rolled oats, rice, canola and/or soybean oil, wheat flour, malted barley flour, corn syrup, salt, molasses, honey, caramel color, barley malt extract, natural and artificial flavor, annatto extract (color), bht added to preserve freshness, vitamins and minerals: reduced iron, niacinamide (vitamin b3), vitamin a palmitate, pyridoxine hydrochloride (vitamin b6), zinc oxide, thiamin mononitrate (vitamin b1), riboflavin (vitamin b2), folic acid, vitamin d3, vitamin b12 {"gluten":["wheat","barley","malt"],"food_dyes":["caramel color","annatto"],"added_sugars":["sugar","corn syrup"],"allergen_wheat":["wheat"],"allergen_soybeans":["soybean"],"artificial_flavors":["artificial flavor"],"artificial_preservatives":["bht"]}

throwway120385 · 9 months ago
Oof. That makes it completely useless for counting calories. It would be especially bad because the labeling for a lot of ready-made products is available from the manufacturer's website so it should be pretty easy to get it right.
johnisgood · 9 months ago
Just at a quick glance...

How can a large egg (50 g) contain 147 g choline?

https://www.opennutrition.app/search/eggs-eeG7JQCQipwf

Additionally, on https://www.opennutrition.app/search/brown-lentils-VwKWF7CQq... it says:

> Unlike larger legumes, they require no pre-soaking and cook in 20-30 minutes, making them ideal for soups, stews, and salads

That is not necessarily true. Based on my experience, it does require pre-soaking, otherwise you will have to cook it for a long time, as opposed to red lentils (which is done under 15 minutes, no pre-soaking needed), although red lentils taste more like yellow peas.

In any case, I think this could be really useful, once accurate enough. One could even implement other features on top, such as a calorie tracker and so forth, but that is a huge project on its own.

I wish you luck!

joshdickson · 9 months ago
That is missing a milligram label, thank you for pointing that out. Fix uploading now.
johnisgood · 9 months ago
That is what I thought.

BTW when you hover over the ingredients, you just get back the name. Are you guys going to do something with it in the future? Right now there is a visual feedback (the cursor changes), but it is not useful yet. I am not entirely sure what I would have expected, perhaps a description of what it is, and upon clicking on it, it could have information gathered from various sources, like examine.com and what have you, but that would be a huge change on its own, the short description upon mouse hover-over should work for now and may not be a huge change.

Deleted Comment

ramon156 · 9 months ago
I think they meant mg. Eggs are 293/100gr

Deleted Comment

diggan · 9 months ago
As this seems US focused, I'll share an alternative that works really well with European products (and a lot of US ones too, apparently): https://yuka.io/en/

Really easy to use (just scan the barcode and you get easily digested data about the product) has every product imaginable, also analyzes cosmetics and best of all, all the basic functionality is free.

Not affiliated, been using it for years at this point and now it's an essential partner when going shopping. That they let people decide their own premium pricing per year is just icing on the cake.

lippihom · 9 months ago
Love Yuka - phenomenal app.
briandoll · 9 months ago
Real and open nutritional datasources exist: https://support.cronometer.com/hc/en-us/articles/36001823947...
joshdickson · 9 months ago
OpenNutrition uses many of the same open datasources included there, including USDA SR, CNF, AUSNUT, etc. The other datasources are licensed and not open, and I do not use those so that I can deliver a free app with a more generous set of features.
adamas · 9 months ago
What's the main difference between this and OpenFoodFacts really ?
masijo · 9 months ago
Well, OpenFoodFacts are actual facts. This seems to rely on LLMs to do the job.
adamas · 9 months ago
Oh, it's worse then.
hombre_fatal · 9 months ago
The problem with OpenFoodFacts is that it just has nutrition label info for packaged goods.

So, very little nutrient info beyond calories and protein. No info about micronutrients. No info about minerals, vitamins, amino acids, fatty acids.

It's useless for nutrition tracking since if you're eating packaged food, then you already have that information yourself.

It doesn't answer basic questions like "I ate 100g of extra firm tofu, how did it move me towards my daily mineral/vitamin targets?"

sodality2 · 9 months ago
> So, very little nutrient info beyond calories and protein. No info about micronutrients. No info about minerals, vitamins, amino acids, fatty acids.

Many items do have these things.

https://world.openfoodfacts.org/product/5060495116377/huel-b...

NewJazz · 9 months ago
You can add micro nutrients to those foods, they just don't always have them. Or so I thought.