Skip to content

BeBecpp/MoodMeal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MoodMeal AI

AI recipe chatbot for mood, ingredients, weather, and daily cooking

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.



Overview

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

Why I Built It

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

The Problem

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.


The Solution

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.


Key Features

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

Architecture

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
Loading

Recommendation Logic

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.

Example User Flow

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.

Tech Stack

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

Project Structure

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.


Quick Start

Clone the repository:

git clone https://github.com/BeBecpp/MoodMeal.git
cd MoodMeal

Install dependencies:

pip install -r requirements.txt

Run the app:

python app.py

Open in browser:

http://127.0.0.1:5000

Environment Variables

Create a .env file if the project uses API keys:

GEMINI_API_KEY=your_api_key_here

Never commit real API keys to GitHub.


Example Prompts

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

What I Learned

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.


Current Limitations

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

Future Improvements

  • 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

Portfolio Summary

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.

AI should help people make better everyday decisions.

About

A warm Mongolian AI recipe chatbot built with Flask, SQLite, TheMealDB, and Gemini 2.5 Flash. It recommends cozy home-style meals based on mood, available ingredients, weather, meal time, and servings.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages