AI Ingredient Scanner

A multi-agent AI system for analyzing food and cosmetic ingredient safety. Features a Streamlit web interface, React Native mobile app, and RESTful API powered by Google Gemini 2.0 Flash and LangGraph orchestration.

πŸ“¦
Source Code
GitHub Repository
πŸ“±
Mobile App
React Native + Expo

What It Does

The AI Ingredient Safety Analyzer helps users understand product ingredient safety by:

  • Parsing ingredient lists from any food or cosmetic product
  • Researching each ingredient via vector database and Google Search
  • Generating personalized safety reports based on user allergies and skin type
  • Providing actionable recommendations (SAFE / CAUTION / AVOID)

Key Features

Core Capabilities

Personalized Analysis

Safety reports tailored to your allergies and skin type

Beginner/Expert Modes

Simple or technical explanations based on preference

Allergen Matching

Prominent AVOID warnings for matched allergens

Quality Validation

5-gate critic agent with automatic retry loop

Mobile App (Phase 2)

  • Native camera integration for label scanning
  • Multi-language OCR with auto-translation (9+ languages)
  • Dark/Light theme toggle
  • Expandable ingredient cards with detailed safety metrics

Authentication & User Management (Phase 3)

  • Google Sign-In with Firebase Authentication
  • User profile with ProfileAvatar (photo or initial)
  • PreferencesContext with Firestore sync (debounced)
  • Guest mode with AsyncStorage fallback
  • In-app Privacy Policy modal
  • Collapsible Danger Zone for account deletion

Supported OCR Languages

EnglishFrenchSpanishGermanItalianKoreanJapaneseChinesePortuguese

Architecture Preview

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                         User Input                               β”‚
β”‚                              β”‚                                   β”‚
β”‚                              β–Ό                                   β”‚
β”‚                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                          β”‚
β”‚                    β”‚   Supervisor    β”‚                          β”‚
β”‚                    β”‚     Agent       β”‚                          β”‚
β”‚                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜                          β”‚
β”‚                             β”‚                                    β”‚
β”‚         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”               β”‚
β”‚         β–Ό                   β–Ό                   β–Ό               β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”        β”‚
β”‚  β”‚  Research   β”‚    β”‚  Analysis   β”‚    β”‚   Critic    β”‚        β”‚
β”‚  β”‚   Agent     β”‚    β”‚   Agent     β”‚    β”‚   Agent     β”‚        β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜        β”‚
β”‚         β”‚                                      β”‚                 β”‚
β”‚         β–Ό                                      β–Ό                 β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”        β”‚
β”‚  β”‚Qdrant + Web β”‚                        β”‚  APPROVED   β”‚        β”‚
β”‚  β”‚   Search    β”‚                        β”‚  REJECTED   β”‚        β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                        β”‚  ESCALATED  β”‚        β”‚
β”‚                                         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Project Metrics

191
Tests
83%
Coverage
9+
Languages
v3.1
Version

Version History

VersionDescription
v3.1.0ProfileAvatar, PreferencesContext, Danger Zone, Privacy Modal
v3.0.0Firebase Authentication, user profiles, premium login UI
v2.0.0Mobile app, REST API, multi-language OCR
v1.0.0Initial release with Streamlit web interface

Documentation