GastroLens is a mobile application designed to help individuals reduce food waste and find culinary inspiration by utilizing ingredients they already have at home. By simply taking a photo of their fridge or pantry, users receive personalized recipe suggestions powered by AI.
Students and people with limited time or cooking experience often struggle to effectively use ingredients they have at home. This leads to:
- Food waste.
- Frequent reliance on fast food.
- A lack of inspiration for creating meals with simple ingredients.
GastroLens solves this by offering:
- Visual Recognition: Identification of available ingredients via photo.
- Smart Matching: Personalized recipe proposals based on the percentage of matching ingredients.
- Creativity: Suggestions for enrichment with extra ingredients to encourage experimentation.
- 📸 Ingredient Detection: Capture a photo using the device camera or upload from the gallery to automatically detect ingredients using the Gemini API.
- 📝 List Management: Edit, add, or remove ingredients from the detected list to ensure accuracy.
- 🍳 Recipe Recommendations: View recipes sorted by ingredient match percentage (e.g., 100%, 85%, 34%).
- 📖 Detailed Instructions: Step-by-step cooking instructions and links to original recipe sources.
- 🖼️ Image Editing: Basic crop and rotate functionality to improve recognition accuracy.
The project utilizes a modern stack separating the mobile frontend from the AI-powered backend.
- Framework: React Native with Expo.
- Language: TypeScript.
- Navigation: Expo Router (
file-based routing). - UI Components: React Native Paper, Expo Image Picker.
- Framework: Python (FastAPI).
- AI/ML Model: Google Gemini API (via
google-genai) for image analysis. - Database: SQLite (with FTS for fast recipe search).
- Server: Uvicorn.
- Michael Selvesakis: Backend, Design, Database.
- Dimitrios Manos: Backend, Build/Compile, Testing.
- Gerasimos Charizanis: Frontend.
- Node.js and npm
- Python 3.x
- Google Gemini API Key
Navigate to the backend directory and install dependencies.
cd Backend
pip install -r requirements.txtCreate a .env file in the Backend root and add your API key:
GOOGLE_API_KEY=your_api_key_here
Start the server:
python main.py
The API describes an endpoint /process-image used to analyze photos.
Navigate to the mobile app directory.
cd MobileApp/GastroLens
npm installStart the Expo development server:
npx expo startYou can run the app using the Expo Go app on your physical device or via an Android/iOS emulator.
The team has identified several areas for future expansion:
- Enhanced Dataset: Incorporating cooking videos and higher-quality recipes.
- Personalization: Tailoring recipes to user dietary preferences.
- Health Metrics: Calculation of calories for every recipe.
- Brand Mapping: Mapping specific brand names (e.g., "Hellman's") to generic ingredient names (e.g., "Mayonnaise").