Flutter + Firebase + Generative AI (Gemini/OpenAI)
Pakistani cooking assistant combining deterministic rule-based pantry logic with generative AI intelligence.
STEP 1 — Rule Engine (deterministic)
├── Pantry inventory & expiry
├── Ingredient matching & scores
├── Grocery list generation
└── Meal scheduling
STEP 2 — AI Layer (generative)
├── AI Chef chatbot
├── Recipe generation
├── Recommendation explanations
├── Ingredient substitutions
├── Cooking guidance
└── Meal suggestions
| Feature | Layer |
|---|---|
| Pantry CRUD, expiry alerts | Rule-based |
| Recipe % match ranking | Rule-based |
| Auto grocery list | Rule-based |
| AI Chef chat | Gemini / OpenAI |
| AI recipe generator | Gemini / OpenAI |
| Why recommended? | Hybrid |
| AI substitutions | Generative |
| Step-by-step AI tips | Generative + TTS |
| Barcode / image scan | On-device |
flutterfire configureEnable Auth (Email), Firestore, Storage.
Profile → AI Settings or:
flutter run --dart-define=GEMINI_API_KEY=your_key_hereGet Gemini key: https://aistudio.google.com/apikey
flutter pub get
flutter runlib/
├── ai_services/ # Gemini, OpenAI, AiChef, Hybrid
├── repositories/ # ai_repository (Firestore history)
├── services/ # recipe_engine, firestore (rules)
├── providers/
├── models/
├── screens/
│ ├── ai_chef_screen.dart
│ ├── ai_recipe_generator_screen.dart
│ └── ai_settings_screen.dart
└── widgets/
├── ai_explanation_card.dart
└── ai_recipe_card.dart
users,pantry_items,recipes,grocery_list,meal_plansai_interactions— chat & generation history
- Login → add pantry (Chicken, Rice, Milk with expiry)
- Home — see hybrid AI Smart Picks with explanations
- AI Chef — ask "What can I cook with eggs and potatoes?"
- AI Recipe Generator — create hostel dinner from pantry
- Recipe detail — "AI: Why this recipe?" + substitution button
- Cooking mode — AI tip per step + TTS
- Flutter, Provider, Firebase
google_generative_ai(Gemini)http(OpenAI fallback)- Rule engine unchanged in
services/recipe_engine.dart