Inspiration
Partnership deals get pitched off vibes and gut feeling. We wanted to know what happens if the pitch is built only from data: whose fans already overlap with yours.
What it does
Kinship takes any artist, film, or brand and shows whose fans already overlap with it, scored from Qloo's taste graph. You get scored partner cards per category, a side-by-side compare view for two names with shared-fans scores, and a one-page PDF export ready to send to a partner
How we built it
TanStack Start with React 19, deployed on Vercel. Qloo's /search endpoint resolves the name and /v2/insights with signal.interests.entities pulls the fan-overlap graph across artist, brand, place, and destination categories, run in parallel and cached for repeat looks.
The pitch line is written by an agentic loop: a Groq-powered model chooses its own Qloo reads using two tools, find_entity and read_partners, capped at 3 rounds and 6 calls. Its output goes through a grounding validator that rejects any sentence containing names that didn't come from Qloo, digits, or unsupported claims about audiences or partnerships, falling back to a deterministic sentence built from the scores. A visible trace shows the agent's steps.
Challenges we ran into
Grounding. Early versions of the agent wrote plausible-sounding lines like "Adidas fans love high performance sportswear" that no Qloo response ever said. We built a validator that checks every capitalized word against actual Qloo results and rejects trait and partnership claims, so the app never invents context.
Latency was the other one: fan graphs take real time to load. We parallelized the category calls, capped the agent, and added an honest "this can take ~15s" note instead of pretending.
Accomplishments that we're proud of
Shipping a real zero-hallucination agent pipeline. Every partner name and affinity score comes strictly from Qloo's taste graph, backed by a strict grounding validator that blocks invented claims and falls back cleanly. Also proud of the sub-second in-browser vector PDF export that turns raw taste data into an executive-ready pairing one-pager in one tap.
What we learned
Real agentic utility isn't about letting an LLM yap freely; it's about constrained tool-use and deterministic fallbacks. Working with Qloo's high-dimensional taste data showed us that fan overlap tells a much more honest story for brand collaborations than surface-level follower counts or vibes ever could.
What's next for Kinship
Expanding cross-category graph comparisons (e.g., matching indie games directly to fashion labels), team collaboration workspaces to save and pitch shortlisted pairings, and automated outreach sequencing using verified affinity data.
Built With
- groq
- qloo
- react
- tanstackstart
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.