An intelligent recipe generator powered by AI that creates personalized meals based on what you already have at home
Features β’ Demo β’ Installation β’ Tech Stack
|
Generate custom recipes using Google Gemma's advanced AI model through OpenRouter API. Speak your ingredients - our voice input feature converts speech to text seamlessly. Save favorite recipes and access your complete recipe history anytime. |
Get instant cooking help, substitution suggestions, and tips from our AI chatbot. Firebase-powered authentication with Google Sign-In for seamless access. Customize by cuisine type, dietary restrictions, spice levels, portion sizes, and more. |
Note: This project is for educational and portfolio purposes.
What makes SAVORA AI special:
- Real-time recipe generation based on available ingredients
- Multi-cuisine support (Indian, Chinese, Italian, Mexican, Thai, and more)
- Dietary restriction awareness (Vegetarian, Vegan, Gluten-Free, etc.)
- Smart spice level customization
- Cooking time estimation
- Nutritional information and meal planning
Before you begin, ensure you have the following installed:
- Python 3.8+ - Download
- Node.js 16+ - Download
- Firebase Account - Sign up
- OpenRouter API Key - Get yours
# Navigate to backend folder
cd backend
# Create virtual environment
python -m venv venv
# Activate virtual environment
# Windows:
venv\Scripts\activate
# Mac/Linux:
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Setup environment variables
# Copy .env.example to .env
cp .env.example .env
# Edit .env and add your OpenRouter API key
# OPENROUTER_API_KEY=your_api_key_here
# Run the Flask server
python app.pyBackend runs on http://localhost:5000
# Navigate to frontend folder
cd frontend
# Install dependencies
npm install
# Setup environment variables
# Copy .env.example to .env
cp .env.example .env
# Edit .env and add your Firebase credentials
# VITE_FIREBASE_API_KEY=your_firebase_api_key
# VITE_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
# etc...
# Run the development server
npm run devFrontend runs on http://localhost:5173
OpenRouter API Key:
- Sign up at OpenRouter
- Go to the Keys section and generate a new key
- Add it to
backend/.envfile
Firebase Setup:
- Create a project in Firebase Console
- Enable Authentication (Email/Password and Google Sign-In)
- Create a Firestore Database
- Go to Project Settings and add a web app
- Copy the config values to
frontend/.env
SavoraAI/
βββ backend/
β βββ app.py # Flask API server
β βββ requirements.txt # Python dependencies
β βββ .env.example # Example environment file
β βββ firestore.rules # Firestore security rules
β
βββ frontend/
β βββ src/
β β βββ App.jsx # Main app component
β β βββ firebase.js # Firebase configuration
β π οΈ Tech Stack
<table>
<tr>
<td align="center" width="50%">
**Frontend**
- βοΈ React 18
- β‘ Vite
- π₯ Firebase (Auth & Firestore)
- π€ Web Speech API
- π¨ Custom CSS
</td>
<td align="center" width="50%">
**Backend**
- π Flask
- π Flask-CORS
- π€ OpenRouter API
- π§ Google Gemma 2 9B IT
- π Python dotenv
</td>
</tr>
</table>
β β βββ components/ # Reusable components
β β βββ Navbar.jsx
β β βββ RecipeCard.jsx
β β βββ Filters.jsx
β β βββ VoiceInput.jsx
β β βββ Chatbot.jsx
β βββ package.json
β βββ vite.config.js
β βββ .env.example
β
βββ README.md
Frontend: React 18, Vite, Firebase (Auth & Firestore), Web Speech API
Backend: Flask, Flask-CORS, OpenRouter API, Google Gemma 2 9B IT, Python dotenv
This project was collaboratively developed by:
![]() Suraj |
![]() Yashica Thanekar |
We appreciate feedback and suggestions! If you find any bugs or have ideas for improvements:
- Open an issue describing the bug or feature request
- Feel free to fork and experiment
- Share your feedback
Β© 2026 Suraj & Yashica Thanekar. All Rights Reserved.
This project is provided for educational and demonstration purposes only.
- You may view and study the code for learning purposes
- You may not redistribute, modify, or use this code for commercial purposes
- You may not claim this work as your own
- Contact us for permission if you wish to use any part of this project
For collaboration or licensing inquiries, please open an issue or reach out directly.
Made by Suraj & Yashica Thanekar
If you found this project interesting, give it a β!
GET /- Health checkPOST /generate- Generate recipe from ingredientsPOST /chat- Chat with AI assistantPOST /rescue- Get help with cooking problemsPOST /nutrition- Get nutrition infoPOST /meal-plan- Generate meal plans
Backend: Deploy to Heroku, Railway, or Render. Make sure to set your OPENROUTER_API_KEY environment variable.
Frontend: Deploy to Vercel or Netlify. Build with npm run build and deploy the dist folder. Don't forget to add all your Firebase environment variables.
Pull requests are welcome. Feel free to open an issue if you find bugs or have suggestions.
MIT License - feel free to use this project however you'd like.

