Posted by joshdickson 3 days ago
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/
Red Beans
- https://www.opennutrition.app/search/red-beans-canned-and-dr...
- https://www.opennutrition.app/search/red-beans-dry-vIh9Ofhcl...
Rice
- https://www.opennutrition.app/search/enriched-white-rice-tlA...
Nutrient/calorie tracking really only works if you measure the raw inputs or use a packaged product that gives you the info, and I imagine those are also the two cases that the AI can estimate visually.
Logging foods by image is a great way to get started being accountable with eating, and I'll use it if I'm out and don't want to manually figure out all the different components of something, but it's impossible for even the most well-trained human eye to understand food composition visually. A lot of AI-focused diet apps have gone in this direction as their primary method of input because it removes the need for a database, but the marketing these apps run that this is in anyway accurate as a primary search mechanism is, to me, really borders on abject dishonesty and sets users up for long-term failure. Just because an ingredient is invisible when prepared doesn't mean it's not there.
Equating calories is far less useful since you aren't choosing between eating 100cal of raw bacon vs 100cal of cooked bacon.
And the question you're trying to ask is "what nutrients/calories do my 4 strips of bacon have?"
You don't want to have to cook your bacon and then measure its mass before you know how many calories it has when you can just log the raw form before you cook it.
Having to cook your food first, take it out, measure it, and put it back in the dish you're making before you can estimate content doesn't seem like a recipe (pun) for habit forming here. Nor is it viable for anything but the most basic dishes like individually pan frying large ingredients.
Also, looks like the Apple Health option in Settings actually opens the start-of-week settings modal.
Only using the OFF database would be untenable to me as an end user. I think most people do not want to know or care about where the data is coming from, they just want it to be accurate and easy to use. I've listed the usability reasons here for why I can't offer that how I want with only OFF (and that's no dig to OFF, it is a fantastic project, and a primary motivator for this project and its license structure).
I understand that most people probably consume more whole foods that might not have the cut-and-dry numbers on OFF. It just does feel like a big lacking feature to just categorically exclude OFF, if I wanted to use it.
The USDA nutritional database is a nightmare to query.