Chooseasy

Inspiration

We've all been there. The group chat lights up: "Where should we eat tonight?" What follows is 47 messages of "I'm fine with anything," "Not pizza again," and "idk, what do you want?"—ending with someone reluctantly picking a place that nobody's truly excited about.

This universal frustration inspired Chooseasy. We wanted to democratize dining decisions by giving everyone an equal, anonymous voice—then letting AI find the consensus nobody could reach on their own.

What It Does

Chooseasy is an AI-powered group restaurant decision platform that eliminates the "where should we eat?" debate in under 5 minutes.

How it works:

  1. Host sets the scene — Location, date, budget, group size, and any accessibility needs. The host curates a shortlist of restaurants from Yelp results.

  2. Everyone shares preferences privately — The host shares a simple link (e.g., chooseasy.com/join/ABC123). Each person answers 5–7 smart questions about their vibe, cuisine mood, and dietary needs—anonymously and in under 60 seconds. These questions are generated by AI to maximally differentiate between these specific options

  3. AI finds the winner — Our scoring algorithm analyzes every restaurant against every person's preferences, calculates a group consensus score, and returns the Top 3 recommendations with AI-generated reasoning explaining why each pick works for the group.

  4. The host reviews the AI recommendations — complete with per-person match scores and potential concerns—and makes the final call.

Everyone shows up knowing the restaurant was chosen fairly, based on what they actually want.

How We Built It

Frontend: Next.js 16 with React 19, styled with Tailwind CSS. We built a mobile-first, dark-mode UI with warm coral accents and the Fraunces serif font for a friendly, distinctive look.

Backend: Next.js API routes handle session management, Yelp API calls, and AI processing.

Database: MongoDB for storing sessions, participant responses, and AI recommendations.

Yelp Integration:

  • Yelp AI API — Conversational assistant to help hosts compare restaurants while curating the shortlist and helping the host make the final decision
  • Yelp Business Details API — Rich attributes like ambience, noise level, good-for-groups, outdoor seating, parking, to dynamically generate questions to differentiate between potential options

AI/LLM (Groq):

  • Dynamic Question Generation — Analyzes the actual restaurant candidates and generates survey questions that maximize information gain (e.g., only asks about cuisine if options vary)
  • Recommendation Reasoning — Generates natural language explanations for why each restaurant is a good fit

Location Services: Mapbox for address autocomplete, geolocation, and interactive maps showing search radius.

Key Libraries: @dnd-kit for drag-to-rank questions, mapbox-gl for to type-as-you go locations.

Challenges We Ran Into

AI Question Quality — Early versions generated generic questions that didn't discriminate between options. We solved this by feeding the AI rich restaurant attributes (ambience, noise level, features) and explicitly instructing it to only ask about factors that vary across candidates.

Scoring Complexity — Balancing hard constraints (dietary restrictions = dealbreaker) vs. soft preferences (outdoor seating = nice-to-have) required careful weighting. We iterated on a formula that prioritizes "suitable for everyone" over "high average score."

Accomplishments We're Proud Of

Intelligent Question Generation — Our AI ask dynamic questions to stack rank the options. It analyzes the actual restaurants and generates discriminating questions. For example, if all options are Italian, it won't ask about cuisine preference.

Per-Person Transparency — Unlike black-box recommendations, we show exactly how each restaurant scored for each participant, building trust in the AI's decision.

Seamless Share Flow — The 6-character session code and shareable link make it dead simple to get your group involved.

What We Learned

Yelp's data is incredibly rich —We were surprised by the depth of data provided by the Chat and Business Details APIs, including ambience (trendy, romantic, casual), noise levels, group suitability, and parking options. The natural language capabilities of the Chat API made these features incredibly easy to integrate

Hackathon scoping is hard — We had plans for real-time personalized email notifications and Yelp Reservations integration. Learning to ship a complete V1 instead of a broken V2 was a valuable lesson.

Built With

Share this project:

Updates