Bitewise is a smart, AI-powered Streamlit app that helps you discover high-quality local restaurants based on your specific cravings, location, and quality standards. It leverages Google Gemini with live Google Maps grounding to research actual open restaurants, then delivers a beautifully formatted HTML report straight to your email.
No more scrolling through generic lists or low-rated places — get curated, high-value recommendations with transparent scoring.
- Intelligent Restaurant Research: Uses Gemini 2.5 with Google Maps grounding to find real, currently relevant spots.
- Strict Quality Filters: Minimum rating, review count, distance, and openness requirements.
- Value Scoring: Unique 1–10 "Value Score" with clear rationale based on price, portions, quality, and real customer feedback (Google + Reddit insights).
- Email Delivery: Results sent as a clean, responsive HTML table to your inbox.
- Password Protection: Simple app-level access control.
- Live Usage Tracking: Shows token usage and estimated Gemini API cost for full transparency.
- Fully Customizable: Adjust cuisine type, max distance, minimum rating, review threshold, and number of results.
The app is deployed and running on Streamlit Cloud → Try Bitewise
Note: You'll need the app password (stored in secrets) to unlock the full functionality.
- Enter your search parameters (cuisine type, address, distance, min rating, etc.).
- The app sends a carefully crafted prompt to Gemini with Google Maps grounding.
- Gemini returns only qualifying restaurants in a styled HTML table.
- Results are emailed to you and displayed directly in the app.
- You get token usage and cost breakdown for awareness.
flowchart TD
A[User Input\nCuisine, Address, Filters] --> B[Streamlit UI + Password Gate]
B --> C[Gemini API Call\nwith Google Maps Grounding]
C --> D[Process Response\nExtract HTML Table]
D --> E[Send Email\nvia Gmail SMTP]
D --> F[Display Results\nin App]
G[Secrets Manager\n.streamlit/secrets.toml] -->|Provides| B
G -->|Provides| C
G -->|Provides| E
subgraph External Services
C
E
end
classDef ui fill:#e3f2fd,stroke:#1976d2
classDef ai fill:#f3e5f5,stroke:#7b1fa2
classDef email fill:#e8f5e9,stroke:#388e3c
classDef secrets fill:#fff3e0,stroke:#f57c00
class B ui
class C ai
class E email
class G secrets
- Python 3.9+
- Google Gemini API key (with Google Maps grounding enabled)
- Gmail account for sending emails (App Password recommended)
- Streamlit Cloud or any hosting platform that supports secrets
-
Clone the repository
git clone https://github.com/yourusername/bitewise.git cd bitewise -
Install dependencies
pip install -r requirements.txt
-
Set up secrets
Create a
.streamlit/secrets.tomlfile (never commit this file):APP_PASSWORD = "your_secure_app_password" GEMINI_API_KEY = "your_gemini_api_key" GMAIL_USER = "[email protected]" GMAIL_PASS = "your_gmail_app_password"
-
Run Locally
streamlit run mainstream.py
bitewise/
├── app.py # Main Streamlit application
├── images/
│ └── neighborhood_nosh.jpg
├── .streamlit/
│ └── secrets.toml # (never commit this file)
├── requirements.txt
└── README.md
- The app uses a simple password gate for access control.
- API keys and Gmail credentials are stored securely via Streamlit secrets.
- For production use, consider adding rate limiting and better authentication if sharing publicly.
- User accounts and saved searches
- Support for multiple email recipients
- Map visualization of results
- Export results to PDF
- Dark mode and improved mobile responsiveness
- Integration with additional mapping providers
Contributions, issues, and feature requests are welcome!
- Fork the project
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is open-sourced under the MIT License.
Made with ❤️ for food lovers who hate settling.
If you find Bitewise useful, please ⭐ the repo!
