Inspiration

Two people want a Friday movie night but their shelves clash. Averaging tastes invents fake compromises. We wanted honest overlap from Qloo's cultural graph—or an honest empty set.

What it does

Taste Mediator is a focused Friday movie-night demo for two people with different shelves. The live demo uses locked presets (Person A: horror catalog picks; Person B: romance catalog picks)—not free-text arbitrary titles. The app resolves those titles on the Qloo hackathon API (GET /search), then asks for movie insights twice—once per person (GET /v2/insights). Optional taste tags may be requested; they are not required every run. A title reaches the Safe zone only when both pulls return the same entityId. The two pulls are never averaged. If there is no overlap, the page says so and stops; the Safe zone does not insert a fallback film to fill the gap.

How we built it

Next.js + TypeScript on Vercel. Core path: Qloo Hackathon API search, then two independent /v2/insights pulls, then deterministic entityId overlap. Optional Vercel AI SDK agent (via OpenRouter) can narrate zones; if the key is missing or the model call fails, the demo falls back to the fixed Qloo pipeline—Safe-zone rules do not change.

Challenges we ran into

Keeping disagreement honest (no averaging). Separating optional agent narration from code-computed overlap so a failed model call cannot invent a Safe-zone title.

Accomplishments that we're proud of

Evidence-based Safe zone; honest empty states; core mediate works without the optional agent path.

Built With

  • api
  • hackathon
  • next.js
  • qloo
  • then-deterministic-`entityid`-overlap.-optional-vercel-ai-sdk-agent-(via-openrouter)-can-narrate-zones;-if-the-key-is-missing-or-the-model-call-fails
  • then-two-independent-`/v2/insights`-pulls
  • typescript
Share this project:

Updates

Submission history