MoodMeal AI is a Mongolian-focused recipe chatbot that recommends meals based on the user's mood, available ingredients, weather, meal time, and serving count.
It is designed to feel like a practical AI assistant for everyday home cooking, not just a generic chatbot.
MoodMeal AI is a recipe recommendation chatbot that helps users decide what to cook.
Instead of only asking for ingredients, it considers multiple real-life factors:
| Input | Why It Matters |
|---|---|
| Mood | Food choices often depend on how the user feels |
| Ingredients | Recommendations should match what the user has |
| Weather | Cold, hot, rainy, or snowy weather can affect meal preference |
| Meal time | Breakfast, lunch, dinner, or snack changes the recommendation |
| Serving count | Recipe portions should match the number of people |
| Local context | Mongolian users may prefer familiar and practical meals |
I wanted to build an AI app that feels useful in daily life.
Many AI chatbots can generate recipes, but they often feel too generic. MoodMeal AI tries to make food recommendations more personal by using mood, ingredients, weather, and meal time together.
I also wanted to build something that can be useful for Mongolian users and home cooking.
This project helped me practice:
- AI API integration
- backend development with Flask
- SQLite data handling
- recipe recommendation logic
- prompt design
- user-focused product thinking
Choosing what to cook can be surprisingly hard.
Users may think:
| Problem | Example |
|---|---|
| I do not know what to cook | “Өнөөдөр юу хийх вэ?” |
| I only have a few ingredients | “Надад өндөг, гурил, мах байна” |
| I want food that matches my mood | “Ядарсан байна, амархан хоол хэрэгтэй” |
| Weather affects what I want | “Хүйтэн өдөр халуун хоол идмээр байна” |
| Normal recipe apps are too broad | Too many results, not enough personalization |
MoodMeal AI tries to reduce this friction by acting like a small food decision assistant.
MoodMeal AI recommends recipes using user context.
User input
↓
Mood + ingredients + weather + meal time + serving count
↓
Backend processing
↓
Recipe / ingredient data
↓
Gemini AI response
↓
Personalized meal recommendation
The goal is to make recipe suggestions feel more personal and practical.
| Feature | Description |
|---|---|
| Mood-based recommendation | Suggests meals based on how the user feels |
| Ingredient-aware suggestions | Uses available ingredients to guide recipes |
| Weather context | Adjusts recommendations based on weather |
| Meal-time awareness | Breakfast, lunch, dinner, or snack context |
| Serving count | Considers how many people the recipe is for |
| AI chatbot interface | User can ask naturally |
| SQLite storage | Stores or manages app data locally |
| Gemini AI integration | Generates personalized recipe responses |
| Mongolian user focus | Designed with local users and daily cooking in mind |
flowchart TD
U[User] --> UI[Chat Interface]
UI --> API[Flask Backend]
API --> INPUT[Input Processor]
INPUT --> MOOD[Mood Context]
INPUT --> ING[Ingredient Context]
INPUT --> WEATHER[Weather Context]
INPUT --> TIME[Meal Time Context]
INPUT --> SERVE[Serving Count]
API --> DB[(SQLite Database)]
API --> RECIPE[Recipe Data / TheMealDB]
API --> PROMPT[Prompt Builder]
MOOD --> PROMPT
ING --> PROMPT
WEATHER --> PROMPT
TIME --> PROMPT
SERVE --> PROMPT
DB --> PROMPT
RECIPE --> PROMPT
PROMPT --> AI[Gemini AI]
AI --> RESPONSE[Personalized Recipe Recommendation]
RESPONSE --> UI
UI --> U
MoodMeal AI combines user context before generating a recommendation.
| Context | Example |
|---|---|
| Mood | tired, happy, stressed, hungry |
| Ingredients | egg, flour, beef, rice, potato |
| Weather | cold, hot, rainy, snowy |
| Meal time | breakfast, lunch, dinner |
| Serving count | 1 person, 2 people, family |
| Preference | easy, warm, healthy, quick |
Example:
User:
I feel tired, it is cold outside, and I have beef, potato, and onion.
MoodMeal:
Suggests a warm, filling, easy dinner using those ingredients.
1. User opens MoodMeal AI.
2. User enters mood and ingredients.
3. App collects meal time, serving count, and weather context.
4. Backend builds a structured prompt.
5. Gemini AI generates a recipe suggestion.
6. User receives a practical meal recommendation.
| Area | Tools |
|---|---|
| Backend | Python, Flask |
| Database | SQLite |
| AI | Gemini AI |
| Recipe Data | TheMealDB / recipe data |
| UI | HTML, CSS, JavaScript |
| Product Type | AI recipe chatbot |
| Target Users | Mongolian home cooking users |
MoodMeal/
├── app.py
├── database/
│ └── moodmeal.db
├── templates/
│ └── index.html
├── static/
│ ├── style.css
│ └── script.js
├── data/
│ └── recipe / ingredient data
├── requirements.txt
└── README.md
Folder names may vary depending on the current version of the project.
Clone the repository:
git clone https://github.com/BeBecpp/MoodMeal.git
cd MoodMealInstall dependencies:
pip install -r requirements.txtRun the app:
python app.pyOpen in browser:
http://127.0.0.1:5000
Create a .env file if the project uses API keys:
GEMINI_API_KEY=your_api_key_hereNever commit real API keys to GitHub.
| User Input | Expected Output |
|---|---|
| “I am tired and want something warm” | Easy warm meal recommendation |
| “I have eggs, flour, and milk” | Recipe using available ingredients |
| “It is cold today” | Warm soup or filling meal idea |
| “I need dinner for 3 people” | Dinner recommendation with portions |
| “Надад мах, төмс, сонгино байна” | Mongolian-friendly recipe suggestion |
While building MoodMeal AI, I learned how to turn a simple chatbot idea into a more useful product.
The hardest parts were:
- making recommendations feel personal
- combining multiple user inputs
- designing better prompts
- connecting backend logic with AI output
- thinking about local users
- making the app useful instead of just “AI for fun”
This project helped me understand that AI apps should not only generate text.
They should help users make decisions.
| Limitation | Future Fix |
|---|---|
| Recipe data can be limited | Add more local Mongolian recipes |
| AI output may vary | Add stronger response formatting |
| Weather context may be basic | Add real weather API integration |
| No user accounts yet | Add saved preferences and history |
| Limited nutrition info | Add calorie and nutrition estimates |
| UI can be improved | Add cleaner mobile-first design |
- Add more Mongolian recipes
- Add real-time weather API
- Save user favorite meals
- Add dietary preferences
- Add allergy warnings
- Add nutrition information
- Add weekly meal planning
- Add grocery list generation
- Add voice input
- Improve mobile UI
- Add multilingual support
MoodMeal AI is a practical AI recipe chatbot focused on personalized daily cooking.
It demonstrates:
- Flask backend development
- SQLite data handling
- Gemini AI integration
- prompt engineering
- recommendation logic
- local user-focused product thinking
- AI app design for everyday use
This project represents my interest in building AI tools that are simple, useful, and connected to real daily problems.