
Open Food Facts is a database of food products with ingredients, allergens, nutrition facts and all the tidbits of information we can find on product labels.
Open Food Facts is a non-profit association of volunteers. 25.000+ contributors like you have added 4 million products from 150 countries using our cross-platform Flutter app for Android & iPhone or their camera to scan barcodes and upload pictures of products and their labels.
Data about food is of public interest and has to be open. The complete database is published as open data and can be reused by anyone and for any use. Check-out the cool reuses or make your own!
You can help translate the Open Food Facts web version and the app at : https://translate.openfoodfacts.org/ (no technical knowledge required, takes a minute to signup)
Here are the main development projects, under active development:
-
Open Food Facts servers (Perl | HTML/CSS | JS)
This repository is the main website (openfoodfacts.org) and the API used by other applications.
Due to the implementation of the new design, there is a bunch of small CSS issues to be fixed, and some UX improvements.
-
Mobile app (Flutter | Dart)
This is the official mobile application, a very important tool that help people in their everyday choices about food and also invite them to contribute to the database.
The repository | What can I work on?
Its companion project is the dart-sdk
-
Taxonomy editor (Python/React)
An application made with Python/React that simplifies manipulation of the taxonomy (the Knowledge Graph explaining that - for example - the yogurt is a kind of milk food).
This project has the advantage of being well scoped, and new (development started in 2022). The disadvantage being the complexity of the taxonomy which can take some time to fully understand.
-
Robotoff (Python)
This project groups the machine learning pipelines used by Open Food Facts to simplify contribution. Detecting labels, extracting ingredients…
Most of the code is written in Python, and there's a need for both improving machine learning methods, but also improving data management and API interface.
A lot of experiments have already been done. Some of them failed, others need refinement. Better ask before starting an issue to avoid rabbit holes 🐰😉
The repository | What can I work on?
ML research and models can be found in openfoodfacts-ai repository
-
Hunger Games (React)
A web app used to gamify contribution. It's a React web app that asks questions based on predictions made by Robotoff.
-
Other currently important projects:
- Open Food Facts Explorer - A new experimental web frontend for Open Food Facts, written in Svelte
- Open Food Facts Events could be the bare bone of gamification, user dashboard, data moderation, but needs help to fix some bug and extend it
- Folksonomy engine can help extend product data with with free attributes (especially useful for Open Products Facts). Bug fixes are needed as well as some extensions
- Open Food Facts Explorer (Svelte) (What can I work on ?)
- Open Food Facts Web Components (Lit) (What can I work on ?)
- Server (Perl, HTML, CSS, Dockerized) (What can I work on ?) (Server-side project management)
- Content pages for the web server (HTML/CSS) (What can I work on ?)
🔖 Folksonomy Engine - K/V system to describe products in a flexible way - Especially useful for Open Products Facts.
- Folksonomy Engine cross platform project management
- Folksonomy Engine (Python/FastAPI) (Server (What can I work on ?)
- Demo app (What can I work on ?)
- Frontend (What can I work on ? )
- Infrastructure (What can I work on ?) / Monitoring (What can I work on ?) (Infrastructure & Monitoring project management
- New official app (Android/iPhone) in Flutter - Codename Smoothie (Cross platform: Dart/Flutter) (What can I work on ?) (Mobile app project management
- Artificial intelligence project management - Cross repository
- Robotoff (Python, Dockerized) (What can I work on ?)
- Open Food Facts AI - research (Python, mostly) (What can I work on ?)
- Hunger Games (React) (What can I work on ?) (Hunger Games project management)
- Knowledge Panels for Facets (Python/FastAPI) (What can I work on ?)
- 🧬 Taxonomy Editor (Python/Neo4J) (What can I work on ?)
- DriveOFF - Chrome and Firefox extension for e-commerce (Pure JS) (What can I work on ?)
- Gamification (Python/FastAPI) (What can I work on ?)
- Power User Script - enhance OFF on Chrome and Firefox (JS) (What can I work on ?)
- Nutri-Patrol (frontend - backend) (What can I work on (backend) ?) - (What can I work on (frontend) ?)
- Wiki page
- Consolidated issue management for all SDKs: https://github.com/orgs/openfoodfacts/projects/26/views/1
- JavaScript / NodeJS (What can I work on ?) - React Native code snippet (What can I work on ?) - 🐍 Python (What can I work on ?) - Minimal Python Server (What can I work on ?) - ☕️ Java (and its demo) (What can I work on ?) (What can I work on ?) - Go (What can I work on ?) - 🦀 RUST (What can I work on ?) 🐘 PHP (What can I work on ?) - Laravel (What can I work on ?) Dart (What can I work on ?) - R (What can I work on ?) - 💎 Ruby (What can I work on ?) - Ruby (OBF) (What can I work on ?) - Elixir (What can I work on ?) - Kotlin (What can I work on ?) - Swift (What can I work on ?)
- 📢 Marketing coordination - Project management - Wiki page
- Classic app - Android (Kotlin) (What can I work on ?) (Classic app - Android project management - Classic app - iPhone (Swift) (What can I work on ?) (Classic app - iPhone project management - Ubuntu Mobile (What can I work on ?) - Vintage app - FirefoxOS - Vintage app - Cordova - Vintage app - Cordova - Open Beauty Facts - Folksonomy mobile demo app (What can I work on ?)
- 🧴 Cosmetics - Open Beauty Facts project management - Wiki page
- 📸 Products - Open Products Facts project management - Wiki page
- 🐾 Pet Food - Open Pet Food Facts project management - Wiki page