- Introduction
- Features
- System Architecture
- User Interface
- Meal Planning
- Recipe Management
- Inventory Management
- Nutrition Analysis
- Shopping and Ordering
- Special Diets and Restrictions
- AI and Machine Learning
- Data Sources and Integration
- Privacy and Security
- Customization and Extensibility
- Troubleshooting
- Future Work
- Contributing
- License
Gourmet is an AI-powered meal planning system designed to optimize nutrition, reduce costs, and simplify meal preparation for individuals and families. It aims to democratize access to advanced nutritional planning tools and promote healthier eating habits.
- Individuals seeking to improve their diet
- Families looking to streamline meal planning and preparation
- People with specific dietary needs or restrictions
- Budget-conscious consumers
- Anyone interested in exploring new recipes and cuisines
- Generate a week's worth of balanced, budget-friendly meals
- Plan meals around specific health goals (e.g., weight loss, muscle gain)
- Accommodate multiple dietary restrictions within a household
- Optimize grocery shopping to reduce food waste
- Learn new cooking techniques and explore diverse cuisines
Gourmet is actively developed as part of the Free Life Planner (FLP) project. While many core features are operational, development is ongoing to expand capabilities and improve user experience.
- ✅ Comprehensive food databases integration (Food Data Central, Nutritionix, SOAR Recipe Archive)
- ✅ Barcode scanning for quick product information lookup
- ✅ Basic meal plan generation based on nutritional requirements
- ✅ PGourmet system
- ✅ Door sensor alerts on fridge and freezer for portion control
- ✅ Integration with WordNet and OpenCyc for food ontology
-
[66%]
PDDL-based meal planner -
[50%]
Gourmet-Formalog-Standalone system -
[50%]
Interactive cooking assistant -
[40%]
Seamless integration with FLP's generalized action planning systems -
[40%]
Self-discipline coach software -
[33%]
Food ontology development -
[25%]
Interactive cooking assistant -
[20%]
Logging and planning of macros -
[20%]
Follow-up dialog regarding intent when fridge and freezer accessed
- Meal plan optimization for long-term health outcomes
- Collaborative meal planning for households and groups
- Integration with personal health data for tailored nutrition advice
- Seasonal and local food prioritization
- Freezer cooking support
- Advanced food safety management
- Emergency food and water provision management
Gourmet is built on a modular architecture that allows for easy expansion and integration with other systems. Key components include:
- Core Planning Engine: Prolog-based PDDL planner for meal plan generation
- Data Layer: Manages interactions with various food and recipe databases
- User Interface: Web-based frontend for user interactions
- AI Module: Handles machine learning tasks for personalization and recipe analysis
- Integration Layer: Manages connections with external services (e.g., grocery stores, FLP modules)
- Multiple meal planning and preparation systems
- Gourmet-Formalog-Standalone (using OpenFoodTox, Basket)
- PDDL-based meal planner
- Interactive cooking assistant
- PGourmet
- Gourmet
- st0opkid's MealSolver
- Responsive design for desktop and mobile use
- Dashboard with meal plan overview, shopping lists, and quick actions
- Recipe browser with filtering and search capabilities
- Inventory management interface
- Settings and preference configuration
- 🚧 Native mobile app for iOS and Android (in development)
- Barcode scanning functionality
- Quick meal logging and inventory updates
- Shopping list management
-
[50%]
Basic Alexa skill and Rhasspy interface for querying meal plans and adding items to shopping list -
[25%]
Enhanced voice interactions for hands-free cooking assistance
-
[66%]
PDDL-based meal planner for comprehensive meal contingent plan generation -
[40%]
Seamless integration with FLP's generalized action planning systems -
[20%]
Consideration of leftover ingredients and batch cooking opportunities
-
[50%]
Fine-tuning of nutritional targets and preferences - Food style and preference learning
- Estimating when users might tire of specific recipes or ingredients
- ✅ Basic cost optimization
- Freezer cooking support (reduces cost and prep time by ≥4X)
- 🚧 Advanced multi-objective optimization (nutrition, cost, preparation time, variety)
- ✅ Using FDC CSVs converted to Prolog KB (Food Data Central)
- ✅ Using Nutritionix (working but offline due to air-gapping development server)
- ✅ Integration of 300,000+ recipes (150,000 from SOAR Recipe Archive, additional 150,000 planned)
- 🚧 User ability to add custom recipes
-
[10%]
Automatic nutritional analysis of custom recipes
- 🚧 Recommender system / collaborative filtering over recipes, ingredients, etc.
-
[50%]
Automatic conversion of recipes to Behavior Trees (BTs)- Using CURD (Carnegie Mellon University Recipe Database)
- Open-SESAME parser
- Parser for converting natural language recipes into planning problems
- ✅ Manual inventory input
- ✅ Barcode scanning for quick item addition
- 🚧 Automatic inventory deduction based on meal plan usage
-
[10%]
Tracking of product expiration dates -
[10%]
Smart notifications for items nearing expiration - Planning tool to avoid food spoilage and expiration in various storage conditions
- ✅ Temperature and door sensors for fridges and freezers
- ✅ Tracking pantry inventory changes
- ✅ Ensuring food safety
-
[20%]
Follow-up dialog regarding intent when fridge and freezer accessed
- ✅ Manual addition and removal of items
- 🚧 Automatic list creation based on meal plans and inventory
-
[50%]
Receipt tracker -
[25%]
Bill splitter for shared groceries
- ✅ Calculation of macronutrients (protein, carbs, fats) and calories
-
[20%]
Logging and planning of macros - 🚧 Tracking of essential vitamins and minerals
- 🚧 Consideration of bioavailability and nutrient interactions
- ✅ Basic nutritional overview of meal plans
-
[0%]
Detailed nutritional reports and trend analysis - 🚧 Visual representations of nutritional balance
-
[40%]
Self-discipline coach for hitting macros and understanding food psychology - Checking for common symptoms known to affect the user (e.g., GERD, lactose intolerance)
- Inference of food sensitivities
- Nutritional temporal records with privacy preservation
- Integration with health temporal records for empirical analysis
- Detection and allowance for genetic factors affecting diet and health
-
[10%]
Integration with major online grocery retailers - 🚧 Price comparison across multiple stores
- 🚧 Support for local and specialty stores
- 🚧 Basic order consolidation to minimize delivery fees
- 🚧 Advanced order splitting for cost optimization across stores
- ✅ Basic order status tracking
- 🚧 Integration with delivery services for real-time updates
-
[33%]
Comprehensive food ontology development- Food properties encoded into Prolog factbase
- Medical properties such as allergies
- Food storage duration knowledge
- Food similarity using word embeddings
- Food substitutions (changing, adding, or canceling)
- Normalization / mapping NL descriptions to entities in a KB
- 🚧 Vegetarian and vegan
- 🚧 Gluten-free
- 🚧 Ketogenic
- 🚧 Paleo
- 🚧 Low-FODMAP
- Support for ethical diets (e.g., vegan, pescatarian)
- Support for medical diets (e.g., diabetic, gall bladder issues)
- 🚧 Common allergen avoidance (e.g., nuts, dairy, shellfish)
- 🚧 Customizable allergen profiles
- 🚧 Cross-contamination risk assessment
-
[10%]
Diabetic-friendly meal planning -
[10%]
Low-sodium diet planning - 🚧 Renal diet support
- 🚧 Basic preference learning from user interactions
- 🚧 Advanced taste profile modeling
- 🚧 Predictive modeling of user satisfaction
-
[50%]
Recipe parsing and normalization -
[30%]
Ingredient entity recognition and linking
- ✅ Barcode recognition for product identification
- 🚧 Image-based food recognition and logging
- ✅ USDA Food Data Central
- ✅ Open Food Facts
- ✅ Nutritionix
- 🚧 Specialized databases for international cuisines
- ✅ SOAR Recipe Archive (150,000 recipes)
- 🚧 Integration with popular recipe websites
- 🚧 User-generated recipe repository
-
[0%]
Fitness tracker data for personalized energy requirements -
[0%]
Weather data for seasonal recipe suggestions - Integration with Hetionet for empirical analysis of nutritional factors associated with medical conditions
- 🚧 Encryption of user data at rest and in transit
- Privacy-preserving nutritional temporal records
- 🚧 Granular privacy settings for data sharing
- 🚧 Data export and deletion capabilities
- 🚧 GDPR compliance for EU users
- 🚧 CCPA compliance for California residents
- 🚧 RESTful API for third-party integrations
- 🚧 WebHooks for real-time data updates
- 🚧 Framework for community-developed plugins
- Barcode scanning failures
- Recipe import errors
- Synchronization issues with external services
- ✅ Detailed application logs
- 🚧 User-accessible diagnostic tools
- ✅ Community forums for peer support
- Advanced nutritional modeling for long-term health outcome prediction
- Expansion of the food ontology to cover global cuisines and ingredients
- Development of a companion mobile app for real-time meal tracking and adjustments
- Implementation of a gamification system to encourage healthy eating habits
- Semi-automatic Rapid Knowledge Formation (RKF) of textual knowledge bases regarding food safety
- Integration with transportation and building hours APIs for complex food provision scenarios (e.g., homelessness, lack of transportation)
- Automatic detection of inventory items which have been recalled or linked to disease outbreaks
- Proper handling of food items lacking barcodes
- Emergency food and water provision management
- Stocking enough provisions to survive n-months
- Rotating emergency food and water provisions
- Food pantry patronage support
Gourmet is an open-source project and welcomes contributions from the community. Ways to contribute include:
- Code contributions (see CONTRIBUTING.md for guidelines)
- Recipe submissions and curation
- Translation and localization efforts
- Documentation improvements
- Bug reports and feature suggestions
Gourmet is released under the GNU General Public License v3.0. See the LICENSE file for full details.
This reference manual provides a comprehensive overview of the Gourmet system, its features, and ongoing development efforts. As the project evolves, this manual will be updated to reflect new capabilities and improvements.