Skip to content
llarall edited this page Nov 25, 2025 · 1 revision

Project Description: OpenFoodScan

Overview

OpenFoodScan is an app designed to support citizen scientists who test food products and want to share their ingredient findings. The goal of the app is to make it easy for people to record, compare, and explore independently collected ingredient reports, creating a transparent, community-driven picture of what's actually in the foods we eat.

App Concept

OpenFoodScan allows users to submit structured reports from their own food tests, such as detected ingredients, additives, unexpected compounds, or observations about labeling accuracy. Each submission will include the food item, brand or source, testing method (if applicable), and the discovered ingredients in a standardized format.

Users can browse reports contributed by others, search by ingredient or product type, and view aggregated insights that highlight trends or recurring additives. The app supports the idea of grassroots food transparency by treating every user as a contributor to a shared scientific dataset.

Technical Approach

The system is built using a microservices architecture connected through ZeroMQ for lightweight, high-performance messaging. Each major feature is handled by its own microservice. For example:

  • Submission Service: Receives and validates new ingredient reports.
  • Storage Service: Stores data in a simple, queryable format.
  • Analysis Service: Generates summaries, ingredient frequencies, and comparisons.
  • Frontend Service: Retrieves processed data and displays it to the user.

ZeroMQ handles communication between these microservices, allowing them to stay decoupled while still coordinating efficiently.

As part of the project, I’ll document the messaging patterns used (e.g., request–reply, pub–sub), how the services interact, and why microservices provide flexibility for scaling community-driven scientific tools.

Deliverables

By the end of the project, I plan to provide:

  • A working prototype using multiple ZeroMQ-connected microservices
  • Sample ingredient reports demonstrating user submissions
  • Interface mockups or screenshots showing how users browse and contribute data
  • A short write-up reflecting on the architecture, the challenges of designing citizen science tools, and what I learned about transparency in food systems

Clone this wiki locally