Inspiration
Living in San Francisco, California, I’m immersed in one of the world’s most dynamic local business ecosystems. Yet, discovering the right spot — whether a late-night taco truck or a quiet brunch café — often requires switching between apps, filtering reviews, and cross-referencing maps. I wanted a single, conversational interface that feels as natural as asking a local friend. The Yelp AI API changed everything. Its ability to understand intent, maintain conversation context, and return structured business data in real time made it the ideal foundation. My goal: build Yelp AI Recommender — a chat-based tool where users can simply type: “Find me a highly-rated vegan bakery open now near Union Square.” …and get an intelligent, actionable response.
What it does
Yelp AI Recommender is a real-time, natural-language local discovery app powered 100% by the Yelp AI API.
Key Features:
- Conversational search: Ask in plain English — price, cuisine, hours, vibe, location.
- Multi-turn context: Follow-up questions like “What time does the first one close?” are understood.
- Rich business cards: Displays name, rating, address, and real-time hours.
- Smart geolocation: Uses browser location (falls back to San Francisco).
- Zero external data: Strictly Yelp AI API — no Google Maps, no third-party sources.
Try it live: https://yelp-ai-recommender.vercel.app
How we built it
Tech Stack
- Frontend: React (Create React App)
- HTTP Client: Axios
- Core API: Yelp AI API (
POST /ai/chat/v2) - Deployment: Vercel (custom domain:
yelp-ai-recommender.vercel.app) - Version Control: GitHub
- IDE: Visual Studio Code
Architecture
graph TD
A[User Query] --> B[React App.js]
B --> C[sendQuery() → Axios POST]
C --> D[Yelp AI API]
D --> E[JSON: text + entities]
E --> F[Parse & Render]
F --> G[Chat UI + Business Cards]
## Challenges we ran into
1) Challenge: Deeply nested hours data
Solution: Navigated "contextual_info.business_hours[0].business_hours[0]" safely
2) Challenge: Git history conflicts
Solution: Resolved with "--allow-unrelated-histories" and safe "--force push"
3) Challenge: Default long Vercel URL
Solution: Configured custom domain: "yelp-ai-recommender.vercel.app"
4) Challenge: Real-time UI updates
Solution: Managed React state with "useState" and loading indicators
## Accomplishments that we're proud of
Built a fully functional, production-ready app in under 48 hours.
Achieved 100% compliance with hackathon rules: Yelp AI API as sole data source.
Secured custom domain for professional branding: yelp-ai-recommender.vercel.app
Implemented multi-turn conversation with persistent chat_id — a true AI agent feel.
Deployed with CI/CD via Vercel + GitHub — every push goes live instantly.
Clean, responsive UI that works on mobile and desktop.
## What we learned
Yelp AI API is incredibly powerful — it handles comparisons, filtering, and natural language out of the box.
State management is critical in conversational UIs — one missed chat_id breaks context.
Security is non-negotiable — even a single exposed key can compromise a project.
Vercel + GitHub = magic for rapid iteration and professional deployment.
Parsing complex JSON (like Yelp’s nested hours) requires defensive coding and optional chaining.
Most importantly: Great tools lower barriers — with VS Code, GitHub, and Vercel, anyone in San Francisco (or anywhere) can build world-class AI apps.
## What's next for Yelp AI Assistant
The journey is just beginning. Future enhancements include:
Voice input & output using Web Speech API for hands-free discovery.
Yelp Reviews integration — show real user photos and snippets.
Personalized recommendations via saved preferences (e.g., “no chains,” “pet-friendly”).
Mobile PWA with offline fallback and push notifications for “nearby deals.”
Multilingual support — expand beyond English to serve global users.
Business owner dashboard — let venues respond to AI-suggested queries in real time.
Yelp AI Recommender is evolving into Yelp AI Assistant — your always-on, always-smart local guide.
Log in or sign up for Devpost to join the conversation.