Eunice · StewardAI
· 6 min read
- #health
- #climate
- #teardown
Open Food Facts: The Open-Source Nutrition Database App
Open Food Facts is a nonprofit, volunteer-run app whose Nutri-Score and Green-Score grades run on public code, not a black box — verified from GitHub repos.
Scan a barcode in a grocery-scoring app and a letter grade pops up — A for a good nutritional profile, F for a bad one. Almost nobody checks where that letter actually comes from. Open Food Facts is the rare case where you can: it's a nonprofit, open-source database and app whose scoring code — the actual formulas, not a marketing description of them — sits in a public GitHub repo anyone can read.
That's the thing worth checking rather than taking on faith: is "open" here a real, auditable claim, or just a badge? The openfoodfacts-server repository answers that in license text, module comments, and commit history — not press copy.
What it is, in the project's own words
The server repo's README states plainly: "Open Food Facts is a non-profit association of volunteers." Its stated principle is that "Food data is of public interest and must be open (i.e., available to everyone)." The complete database is published as open data, reusable by anyone for any purpose — scientific studies, other apps, or a competitor's product, all fair game under the same terms.
The org's own GitHub profile lists Paris, France as its base, shows 127 public repositories, and has 1,600 followers — not a two-person side project, but a genuine open-source organization with its infrastructure split across many repos rather than one monolith.
How you'd actually use it
The consumer-facing product is smooth-app, described in its own repo as "The new Open Food Facts mobile application for Android and iOS, crafted with Flutter and Dart." Scan a barcode and it pulls a product's ingredients, allergens, and nutrition facts from the shared database. The releases page shows the most recent build, v4.24.0, published August 24, 2026 — about a month before this was checked — with release notes covering a Flutter 3.44 upgrade, a redesigned food-preferences flow, and an image-quality fix for what the notes call the "hunger games" feature.
Notably, the app itself ships under a different license than the database engine behind it: smooth-app's LICENSE file is the permissive Apache License 2.0, while the server's LICENSE is the copyleft GNU Affero GPL v3 — a deliberate split that lets anyone build a commercial app on top of the client code, while the shared data engine itself stays protected from being forked into a closed, paid clone.
The score is code, not a black box
This is the part that separates Open Food Facts from most "healthy eating" apps: the grading formulas are readable source files, not proprietary logic. The Nutriscore.pm module states its own purpose as being "used to compute the Nutriscore score and grade of a food product," adding that "the modules implements the Nutri-Score computation as defined by Santé publique France" — France's public health agency, not Open Food Facts itself. The code supports two versions of the formula, a 2021 algorithm and a "significantly different" 2023 revision, tracking the same regulatory updates a shopper would otherwise have no way to know about.
The environmental counterpart, EnvironmentalScore.pm, computes what the September 2026 release rebranded from "Eco-Score" to "Green-Score." Its own header comment says it "implements the Environmental-Score computation as defined by a collective that Open Food Facts is part of," and that it's "based on the French AgriBalyse V3 database that contains environmental impact values for 2500 food product categories," with adjustments for a specific product's labels, ingredient origins, and packaging. Both scores, in other words, trace back to outside public-interest standards bodies rather than an in-house algorithm nobody can inspect.
Volunteers plus AI, not a closed team
A database this size can't be filled in by staff alone. The README credits "25,000+ contributors" for the data, and a separate AI layer helps triage it: robotoff, described in its own repo as a "real-time and batch prediction service for Open Food Facts," generates predictions on category, brand, packaging, and expiration dates from photos and text, then either auto-applies high-confidence updates or queues them for a human to confirm. It's a much smaller project than the flagship app — 114 stars against the server repo's 1,200 — a reminder that the machine-learning layer here is an assist to volunteer labor, not a replacement for it.
Funded through donations, as far as the repo shows
The project's FUNDING.yml lists Open Collective as its main funding channel, alongside a GitHub Sponsors listing — a public ledger model rather than a hidden revenue line. That fits the nonprofit structure the README describes, though it's worth being precise about what is and isn't verified here: this piece confirms which funding channels the repo itself declares, not the amounts raised through them or whether other revenue lines exist outside what's declared here. Open Collective's own dashboard wasn't reachable during this check.
Still shipping, with an honest asterisk
The server's commit history showed a commit dated September 17, 2026 — the day before this was checked — with roughly 30 commits in the preceding three days alone, spanning taxonomy fixes, image handling, and a "Forest Footprint 2026" feature expansion. The latest tagged release, v2.105.0, shipped the same week. That's an actively worked project, not one coasting on an old headline.
The honest caveat: the server repo also carries roughly 1,600 open issues against 212 open pull requests — a large backlog relative to the pace of merges, which is normal for a project this size but worth naming rather than glossing over. And the project's own numbers don't fully agree with each other: the server repo's README claims "1.7 million+ products," while the organization's separate profile README claims "4 million products" from the same "25,000+ contributors" and "150 countries." Both are self-reported and neither was independently audited for this piece — a small but real reminder that even an organization built on the premise of open data doesn't always keep its own headline numbers in sync across repos.
There's also a limit to what an open formula fixes. A public Nutri-Score module still needs correct, complete input to produce a correct grade — and that input comes from 25,000+ volunteer contributors, not a lab. Open code means you can audit the math; it doesn't mean every product in the database has been checked for accuracy.
What this open-source nutrition database app generalizes to
Open Food Facts is a useful test case for any app that hands you a health or environmental grade: ask whether the formula is published somewhere you can read, or whether you're just trusting a color and a letter. The same discipline that works for checking whether a screen reader is actually still maintained or whether a climate data map's engine is really open source applies here — read the license, read the module comments, read the commit graph. It's the same logic behind publishing a spaced-repetition algorithm in the open: a formula you can't read isn't a fact, it's a claim.
If you're evaluating any food, health, or ESG app that shows you a score, that's the concrete step: find out whether the code that produces the number is something you — or anyone — can actually open and read, the way Open Food Facts's is.
Sources
Every link below was fetched and checked before publishing.
- 1.GitHub — openfoodfacts organization profile · checked
- 2.GitHub raw — openfoodfacts-server README · checked
- 3.GitHub raw — org profile README (.github) · checked
- 4.GitHub — openfoodfacts-server repo · checked
- 5.GitHub — openfoodfacts org repository list · checked
- 6.GitHub — smooth-app repo (mobile client) · checked
- 7.GitHub — smooth-app releases · checked
- 8.GitHub raw — smooth-app LICENSE (Apache-2.0) · checked
- 9.GitHub — openfoodfacts-server latest release (v2.105.0) · checked
- 10.GitHub — openfoodfacts-server commit history (main) · checked
- 11.GitHub raw — openfoodfacts-server LICENSE (AGPL-3.0) · checked
- 12.GitHub raw — FUNDING.yml · checked
- 13.GitHub — robotoff repo (AI prediction service) · checked
- 14.GitHub — lib/ProductOpener directory listing · checked
- 15.GitHub raw — EnvironmentalScore.pm (Green-Score module) · checked
- 16.GitHub raw — Nutriscore.pm (Nutri-Score module) · checked