Yint | Yelp Intelligence for Travel & Dining
![]()
An AI-powered dining assistant that identifies restaurants through your camera, layers in Yelp intelligence, plans budget-aware itineraries, and compares meal value right on your phone.
Executive Summary
Yint is an AI-driven food and travel companion that helps users make smarter dining decisions instantly. By scanning restaurants, generating AI-powered reviews, and planning personalized food itineraries, Yint removes the guesswork from discovering where and what to eat. Using Yelp AI, it also estimates meal costs and compares calorie impact based on user preferences, budget, and health goals turning food exploration into a data-driven, personalized experience.
Highlights
- AR Restaurant Recognition: OCR + Yelp intelligence in one tap.
- AI-style Insights: Summaries, popular dishes, dietary labels, and review highlights.
- Smart Food Itineraries: Budget/diet/cuisine-aware plans saved to Supabase.
- Cost Estimator Chat: Compare two restaurants or dishes on calories, quantity, and value.
- Favorites & Saved Trips: Persisted across sessions; offline-friendly fallbacks.
Screenshots







How It’s Built
- Frontend: Expo + React Native + Expo Router, Moti/Reanimated for motion, Blur/LinearGradient for glassy UI, Lucide icons.
- AR & Vision Pipeline:
CameraRecognitionEngineorchestrates Google Vision OCR → Yelp Fusion enrichment → personalization via Supabase preferences. - Restaurant Intelligence:
YelpServiceandYelpItineraryServicefetch details, reviews, dishes, dietary labels, and nearby search results. - Smart Itineraries (no external AI calls):
SmartItineraryEngineoptimizes meals per day against budget, party size, and meal types;supabaseItineraryServicepersists trips. - Cost Estimator:
CostEstimatorServicecompares two options (restaurants or dishes) on estimated cost, calories, quantity, and value score. - Data Layer: Supabase (schema in
supabase/schema.sql) for itineraries, saved trips, and personalization.
Architecture

The application is built on a client-server architecture with the Expo app serving as the client layer, providing AR camera functionality, chat interface, and integration with Yelp Fusion API for business information and reviews. The core logic is handled by service modules located in the services/ directory, which include the recognition pipeline for restaurant identification, an itinerary optimizer for generating travel plans, and a cost estimator for comparing dining options. Data persistence is managed through Supabase for storing trips and favorites, while AsyncStorage provides local caching capabilities for offline-friendly functionality.
What Makes YelpAI Different
Yint distinguishes itself through vision-first discovery, allowing users to identify restaurants simply by looking at them through their camera. The platform leverages Yelp intelligence without relying on heavy LLM calls, making it fast, deterministic, and cost-aware. Its trip planning capabilities intelligently respect budget constraints, dietary needs, cuisine variety, and party size to create personalized dining experiences. The cost-comparison chat feature transforms free-form text queries into structured value analysis, helping users make informed decisions. The mobile experience is enhanced with delightful UI elements including haptics, glassmorphism design, and micro-animations that create an engaging and intuitive user interface.
Setup & Installation
git clone https://github.com/anishganapathi/Y-INT.git # or your own fork
cd Y-INT
npm install
Create a .env in the project root (Expo reads EXPO_PUBLIC_* at runtime):
EXPO_PUBLIC_GOOGLE_VISION_API_KEY=your_google_vision_key
EXPO_PUBLIC_YELP_API_KEY=your_yelp_fusion_key
EXPO_PUBLIC_SUPABASE_URL=your_supabase_url
EXPO_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
Note:
config/env.tscontains placeholder keys for local development. Replace them with your own credentials before shipping.
Supabase
- Create a Supabase project.
- Run the SQL in
supabase/schema.sqlto create tables/policies. - Set the URL and anon key in
.envas above.
Run the app
npx expo start
Open on iOS Simulator, Android Emulator, or a development build. The app uses Expo Router with file-based navigation under app/.
Core Flows (Code Pointers)
- AR recognition:
services/cameraRecognitionEngine.ts - Yelp enrichment:
services/yelpService.ts - Itinerary planning:
services/aiItineraryEngine.ts,services/yelpItineraryService.ts,services/supabaseItineraryService.ts - Cost comparison chat:
app/chat/index.tsx,services/costEstimatorService.ts - Itinerary UI:
app/itinerary/* - Explore & home feeds:
app/home/index.tsx,app/explore/index.tsx
Challenges & Learnings
Building Yint presented several technical challenges that required innovative solutions. Matching OCR text to real places proved difficult when dealing with noisy storefront images, where lighting conditions, angles, and partial text visibility could lead to incorrect restaurant identification. The deterministic itinerary generation system required careful balancing of multiple constraints including budget limitations, dietary preferences, and cuisine variety to create optimal meal plans without relying on expensive AI calls. Extracting meaningful insights like popular dishes and dietary labels from sparse Yelp review text demanded sophisticated text parsing and pattern recognition techniques. Perhaps most critically, maintaining smooth AR flows while orchestrating multiple external APIs on-device required careful optimization of network requests, caching strategies, and error handling to ensure a responsive user experience even under varying network conditions.
Roadmap
The future development of Yint will focus on enhancing real-time functionality and user experience. Planned features include integration with live reservation systems and wait-time signals to help users make more informed dining decisions. Offline-friendly caching for frequent neighborhoods will improve performance in areas with poor connectivity, ensuring the app remains functional even without constant internet access. Push notifications will be implemented for itinerary reminders and table hold confirmations, keeping users informed about their planned dining experiences. The platform will also expand its health and dietary features with better dish-level nutrition estimates and comprehensive allergen flags, helping users make choices aligned with their health goals. Finally, deeper personalization through Supabase user profiles will enable more tailored recommendations based on dining history, preferences, and behavior patterns.
License
MIT License.
Developed with ❤️ by
| Anish Ganapathi | |
|---|---|
| ✉️ anishganapathi03@gmail.com 🐱 GitHub |
Built With
- expo.io
- react-native
- supabase
- yelp
Log in or sign up for Devpost to join the conversation.