Inspiration

Group plans often become a vote won by the most vocal person. Crowd Pleaser asks a different question: which option gives the least-satisfied friend the best available match?

What it does

Enter two to five friends, one to four favorite artists, movies or brands per person, and a city. The tool resolves favorites through Qloo, retrieves restaurant, artist and movie recommendations, then compares the group candidate pool against each person's recommendation list. It returns three dinner options, five artists and three movies, with visible per-person ranking scores and a short suggested plan.

How we built it

A dependency-free Node.js server exposes a POST /api/plan tool backed by Qloo's hackathon API. The workflow resolves entities, fetches a shared candidate pool, evaluates individual recommendation lists, and sorts candidates by their minimum individual score, then by their average. Scores are relative positions in returned lists, not probabilities or guarantees. An optional Gemma model, accessed through Google's free API, turns the selected options into brief text. The server accepts only complete, valid JSON that preserves the selected candidates. If the model is unavailable or its output fails validation, a deterministic explanation uses the same ranking facts. The live demo may therefore show a ranking-template explanation.

Agentic tool integration

The public POST endpoint performs a complete multi-step taste-planning workflow behind a single structured request. An assistant or other agent can call it as a tool; the browser is a direct interface to that same endpoint. This submission is a planning tool, rather than an autonomous booking agent: it does not reserve tables, buy tickets or make purchases.

Challenges and what we learned

Concurrent taste-data requests triggered rate limits. We added a serial request queue, paced calls, bounded retries, timeouts, duplicate-request protection and clear retry messages. We also filtered places to restaurants and rejected incomplete model responses instead of presenting them as factual recommendations. Two local test suites cover 18 checks, including rate-limit retries and safe model fallback.

Accomplishments

The project has a public, functional demo and MIT-licensed source. Real Qloo requests produced recommendations in all three categories. Development and reliability improvements were made during this hackathon's submission period. AI assisted implementation and optional explanation generation; the ranking algorithm and fallback are explicit in the repository.

Try it

Open the demo, use the fictional sample friends, and click Plan. Taste-data requests can take a minute or longer. The free host can also take around a minute to wake up after inactivity. Favorites are sent to Qloo and, if configured, Google for processing; no favorites are written to a database.

All example characters and scenarios are fictional and unrelated to any real person or company. Recommendations are taste suggestions; availability and opening hours should be checked separately.

Built With

Share this project:

Updates

Submission history