Byte-2-Bite is a smart, intuitive AI recipe generator designed to help users decide what to cook based on the ingredients they already have and the cuisine they crave. Built using Gemini Studio, this project seamlessly combines Prompt Engineering, Retrieval-Augmented Generation (RAG), Structured Outputs, and Function Calling to deliver accurate, creative, and delicious recipe suggestions.
-
🧠 Prompting: Custom-designed prompts ensure clear understanding of user intent — whether listing ingredients or specifying a cuisine.
-
📚 RAG (Retrieval-Augmented Generation): Integrates dynamic retrieval from a curated recipe database and external culinary sources.
-
📦 Structured Output: Consistent JSON schema for each recipe with fields like:
title
ingredients
instructions
prep_time
cook_time
cuisine
difficulty
-
🔧 Function Calling: Modular operations for fetching, filtering, and regenerating recipe options.
-
🌐 GitHub Pages: Live demo hosted at Byte-2-Bite.
-
Input Ingredients: User enters available ingredients.
-
Select Cuisine (optional): Choose from various cuisines (e.g., Italian, Indian, Korean).
-
AI Generation: Gemini processes inputs with structured prompts and retrieves recipes via RAG.
-
Structured Display: Recipes rendered in a clear JSON format on the UI.
-
Optional Actions:
- 🔄 Regenerate new recipes
- 💾 Save/share favorites
- ⚖️ Filter by dietary preferences (vegan, gluten-free, etc.)
- Gemini Studio — Core AI orchestration platform
- Prompt Engineering — Tailored prompts for high-fidelity responses
- Retrieval-Augmented Generation — Integrating external recipe data
- Function Calling — Controlled, modular API-like operations
- Structured Output APIs — Consistent recipe JSON schema
- React & Tailwind CSS — Frontend UI
- GitHub Actions — CI/CD for build & Pages deployment
{
"title": "Creamy Tomato Basil Pasta",
"ingredients": [
"Pasta",
"Tomatoes",
"Garlic",
"Basil",
"Cream",
"Salt",
"Olive Oil"
],
"instructions": "Boil pasta. Sauté garlic and tomatoes in olive oil. Add cream and basil. Mix with pasta. Serve hot.",
"cuisine": "Italian",
"prep_time": "10 minutes",
"cook_time": "20 minutes",
"difficulty": "Easy"
}
-
Clone the repo:
git clone https://github.com/kalviumcommunity/Byte-2-Bite_MayurKSetty_S68_GenAI.git cd byte-2-bite
-
Install dependencies:
npm install
-
Configure Gemini Studio:
- Set your API credentials in
./config/gemini.json
.
- Set your API credentials in
-
Run locally:
npm start
-
Deploy to GitHub Pages:
npm run build npm run deploy
View live demo at: Byte-2-Bite
Contributions are welcome! To contribute:
- Fork the repo
- Create a feature branch (
git checkout -b feature/YourFeature
) - Commit your changes (
git commit -m 'Add YourFeature'
) - Push to the branch (
git push origin feature/YourFeature
) - Open a Pull Request
We appreciate ideas for new features (meal planning, calorie tracking, grocery integration).
This project is licensed under the MIT License. See the LICENSE file for details.
- 🎤 Voice-based input
- 🌎 Multi-language support
- 🔖 User accounts & bookmarks
- 🛒 Integration with grocery APIs