Landmark Lens is a mobile application that uses Google Gemini 3 to identify landmarks from photos and provide personalized, interactive travel insights. Users can scan real-world locations and instantly learn about history, culture, and fun facts through AI-powered analysis.
- Identify landmarks using images from camera or gallery
- Real-time image processing with Gemini Multimodal AI
- Personalized fun facts and descriptions based on user age and interests
- Multimodal understanding (image + context)
- Structured JSON responses
- Confidence scoring and uncertainty handling
- Smart caching system for faster responses
- "Wrapped" yearly summary feature
- View past scans and exploration history
- Ask follow-up questions about landmarks
- Natural conversation powered by Gemini
- Nearby restaurant recommendations near landmarks
- Live events nearby (Ticketmaster API)
- Interactive Google Maps integration for exploration history
- Secure authentication via Supabase
- Save interests and preferences
- Text-to-speech (TTS) for landmark descriptions
Frontend
- Flutter (cross-platform mobile)
- Google Maps integration
- Text-to-Speech accessibility
- Supabase Auth
Backend
- FastAPI (Python)
- Google Gemini 3 multimodal API
- Supabase (Database + Storage)
- Google Places API
- Ticketmaster Events API
- Redis caching
Key API Integrations
- Google Gemini 3 for AI-powered landmark analysis
- Google Places for nearby recommendations
- Ticketmaster for live events
- OpenStreetMap for geocoding
📂 Landmark-Lens/
├── 📂 backend/
│ ├── 📂 db/
│ ├── 📂 routes/
│ ├── 📂 schemas/
│ ├── 📂 services/
│ └── 📄 main.py
├── 📂 frontend/
│ ├── 📂 assets/
│ ├── 📂 lib/
│ │ ├── 📂 constants/
│ │ ├── 📂 screens/
│ │ ├── 📂 services/
│ │ └── 📄 main.dart
│ └── 📄 pubspec.yaml
└── 📄 requirements.txt
└── 📄 README.md
git clone <repository-url>
cd Landmark-LensInstall Dependencies
pip install -r requirements.txtSet Environment Variables
Create a .env file:
GEMINI_API_KEY=your_api_key
SUPABASE_URL=your_supabase_url
SUPABASE_PUBLISHABLE_KEY=your_supabase_publishable_key
SUPABASE_SECRET_KEY=your_supabase_secret_key
GOOGLE_PLACES_API_KEY=your_google_places_api_key
TICKETMASTER_API_KEY=your_ticketmaster_api_keyRun Backend Server
cd backend
python main.pyBackend runs at: https://pov-7iec.onrender.com
Install Flutter Packages
cd frontend
flutter pub getRun App
.\run.ps1We use Gemini 3 for:
- Multimodal image understanding
- Landmark identification
- Context-aware reasoning
- Personalized explanations
- Schema-based JSON generation
- Open the app
- Tap the camera or gallery button
- Select an image
- View landmark details
- Explore history and fun facts
- Check wrapped journey history