What Kindred does. Tell Kindred three to five things you already love — an artist, a film, a book, a neighborhood spot — and it plans a complete evening around them: where to eat, what to watch, what to listen to, what to read next. Every pick arrives with a "why this fits you" line, and that line is not a language model's guess: it is the taste-graph evidence that produced the pick.

What makes it Qloo-powered. Kindred is built entirely on Qloo's Taste AI API, and it stops working the moment Qloo is removed. Favorites are resolved to Qloo entities through /search; the taste profile is enriched with the tags those entities carry via /v2/tags; then the Insights API (/v2/insights) composes the plan across domains — urn:entity:place, urn:entity:movie, urn:entity:artist, urn:entity:book, urn:entity:podcast — using the profile's entities and tags as signals, with per-domain filters (location and price for places, rating for films, popularity windows) validated against Qloo's Entity Type Parameter Guide. Responses are cached privately server-side, as the API terms allow; no Qloo response data appears in the public repository.

The proof, in one click. Kindred includes a comparison mode: the same request planned with the taste graph and without it. The baseline receives only the seed names — no tags, no affinities, no Insights output — and produces the plausible, bland plan a generic recommender gives everyone. The Kindred plan is specific, cross-domain, and evidenced. Judges don't have to take our word for what Qloo adds; they can watch it happen.

Refinement. "Quieter." "Closer to home." "Make it a date night." "Half the budget." Each refinement re-plans with adjusted signals and filters, and the evidence lines update with the plan.

Who it's for. Anyone planning leisure time around their own taste — and, on the receiving end, the small venues and local businesses that popularity-ranked lists bury. Kindred routes people to places that match taste profiles, which is a discovery channel independents cannot buy.

Built with. Python, FastAPI, the Qloo Taste AI API (Search, Tags, Insights), vanilla HTML/CSS/JS frontend, Docker. Narration is optional and demotable by design: picks are always computed from Qloo data deterministically; if the narration model is unavailable, templated narration takes over and nothing structural changes.

Testing instructions

  1. Open the demo link. Three persona chips are pre-seeded — pick one and the full flow (profile build → plan → evidence → refine) runs in under a minute, no typing needed.
  2. Or seed your own: enter 3–5 favorites in any mix of domains and build a plan.
  3. Toggle the comparison mode to see the same request planned without Qloo.
  4. Refine once ("quieter", "closer") and watch the plan and its evidence re-compose.
  5. The badge in the header reports the data transport honestly: "live" when the demo is serving live Qloo data, "fixture" if it is ever running on built-in demonstration data.

Built With

Share this project:

Updates

Submission history