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

  1. Voice processing pipeline: Integrating browser MediaRecorder with Whisper and handling audio formats reliably
  2. State management: Keeping session context consistent across multiple pages and modes (Chat ↔ Talk ↔ Option)
  3. Yelp AI integration: Understanding the response structure, handling rate limits, and feeding back “Next/Yes” context
  4. Swipe UX: Creating smooth, native-feeling gestures and animations without jank
  5. Conversation continuity: Maintaining the same “brain” across turns so it actually improves after each swipe
  6. 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
Share this project:

Updates