Inspiration
We’ve all been there: you open Yelp, see 40 restaurant options, scroll for 20 minutes, and still can’t decide. The problem isn’t finding restaurants—it’s making a decision.
Current apps are built around lists and filters, not around helping users actually choose. We were inspired by the simplicity of dating apps like Tinder, where you make quick decisions one at a time. What if we applied that same “Yes or Next?” approach to restaurant discovery?
What it does
Yes or Next is a conversational, AI-powered restaurant discovery app that never shows a giant list. Instead, it presents one carefully curated restaurant recommendation at a time and asks: “Yes or Next?”
Key features:
- Dual modes: Chat (text) or Talk (voice) — speak or type your cravings
- One-at-a-time: Swipeable restaurant cards (Tinder-style) — no overwhelming lists
- AI learning: Each swipe refines recommendations based on your preferences
- Complete flow: From query → recommendation → selection → reservation/handoff → tracking
- Voice integration: Full voice pipeline using OpenAI Whisper (speech-to-text) and TTS (text-to-speech)
How we built it
Frontend: Next.js 16 + React 19 + TypeScript + Tailwind CSS 4
- Swipeable card interface
- Dual-mode UI (Chat/Talk)
- Real-time conversational experience
- Reservation UI + “lock it in” handoff
Backend: FastAPI + Python 3.11
- Async REST API
- Yelp AI Chat API v2 integration
- OpenAI Whisper for speech-to-text
- OpenAI TTS for text-to-speech
Database: Supabase (PostgreSQL)
- Conversation/session tracking
- User preference signals from swipes
- Restaurant caching
- Reservation records
Infrastructure: Docker + Google Cloud Run
- Containerized deployment
- Scalable API services
APIs: Yelp AI, OpenAI Whisper, OpenAI TTS
Challenges we ran into
- Voice processing pipeline: Integrating browser
MediaRecorderwith Whisper and handling audio formats reliably - State management: Keeping session context consistent across multiple pages and modes (Chat ↔ Talk ↔ Option)
- Yelp AI integration: Understanding the response structure, handling rate limits, and feeding back “Next/Yes” context
- Swipe UX: Creating smooth, native-feeling gestures and animations without jank
- Conversation continuity: Maintaining the same “brain” across turns so it actually improves after each swipe
- Cross-mode navigation: Letting users switch modes without losing the thread or recommendation state
Accomplishments that we’re proud of
- Full Voice + Text dual mode — seamless mode switching with natural voice input/output
- Decision-first UX — eliminated choice paralysis with binary “Yes/Next” decisions
- Intelligent learning loop — swipes become feedback that sharpens the next recommendation
- End-to-end flow — from request → recommendation → reservation/handoff → tracking
- Production-ready architecture — type-safe, scalable, Dockerized, cloud deployed
- Polished UI — modern design with smooth swipe interactions
- Robust handling — graceful failures and user-friendly errors (including API limits)
What we learned
- AI API integration: Prompting + structured parsing matter as much as the model—guardrails make the UX reliable
- Voice UX is product UX: Small details (record/stop timing, latency, audio formats) make or break the experience
- Decision-first design works: Reducing cognitive load with binary choices creates faster, happier outcomes
- Full-stack contracts help speed: TypeScript + Pydantic-style validation makes iteration safer under hackathon time
- Hackathon strategy: Protect the core loop first (“ask → one card → swipe → improve”) before adding polish
What’s next for YesOrNext
Short-term:
- Enhanced personalization and preference learning (“safe bet” vs “try something new”)
- Wishlist feature with AI re-ranking (“Tonight: pick from my list”)
- Deeper booking flow (availability + direct reservation where possible)
- Social sharing and saved history
Long-term:
- Group decision mode (join code + consensus swiping)
- Mobile app
- Advanced ML personalization and better long-term taste profiles
- Real-time voice conversations
- Calendar and payments integrations for a true “plan the night” flow
Demo: https://www.youtube.com/watch?v=k7_M9GHRL2w
Built with ❤️ for the Yelp Hackathon 2025
Built With
- nextjs
- openaiwhisper
- supabase
- yelpapi


Log in or sign up for Devpost to join the conversation.