Inspiration

Your child loves Taylor Swift. You want to share a song from your Mexican heritage. You have five minutes together. Where do you start?

Kinora grew from that question. Having access to thousands of songs and films does not necessarily make it easier to introduce someone to your culture. The difficult part is finding a starting point that connects with what they already enjoy.

I wanted to make that first step feel approachable. A familiar taste can lead to an unfamiliar song, and that song can open a conversation about a parent’s memories, language, and heritage.

What it does

Kinora starts with your child’s favorite artists or films and helps you find something from your heritage to share together. The current catalogue contains 60 source-reviewed entries across Hindi, Tamil, and Mexican collections.

You can describe the moment you have, such as finding a Mexican song with no more than five minutes of playback. The agent inspects the catalogue, checks whether the request is feasible, and proposes an activity. If the available data cannot support the request, it asks you to revise it.

After you confirm the plan, Qloo Insights API v2 ranks eligible choices using the listener’s favorites. For music, Qloo ranks artists, while Kinora provides a curated starting recording with a verified duration.

Each result includes context, a listening or viewing link, and a question to help start a conversation. You can save something you want to try, return to your bridge without losing the active plan, and record the experience in a family album. Personal album notes stay on your device.

Kinora also exposes WebMCP tools, allowing a compatible browser assistant to inspect the collection, prepare a visible request, and ask for a plan. Confirmation remains with the person using the app.

How we built it

I built the interface with React, TypeScript, and Vite, supported by a Node.js and Express backend.

Gemini 3.8 Flash handles activity planning through bounded tools. It can inspect catalogue feasibility, propose a supported activity, or ask for clarification. The server independently validates the plan and applies its constraints before ranking.

The integration uses the official Qloo MCP for identity resolution and Qloo Insights API v2 (/v2/insights) for taste-based rankings. Keeping those responsibilities separate helps connect the right catalogue entries to the right ranking signals.

The catalogue uses original summaries and reviewed sources. Twelve starting songs have exact-edition durations from Apple’s public catalogue. Time-limited activities exclude recordings with unknown durations.

WebMCP connects browser assistants to the same workflow people use on screen. Provider credentials stay on the server, while personal album notes remain in browser storage.

Challenges we ran into

The biggest challenge was making the agent’s decisions affect the experience. Calling tools in a fixed sequence was not enough. The planner needed to decide what activity the catalogue could support, and that decision needed to change the candidates sent to Qloo.

Short activities exposed another problem: knowing an artist does not establish whether a particular recording fits a time limit. I added verified recording durations and explicit exclusions for unknown values.

Recommendation claims also needed careful boundaries. Artist affinity does not prove that someone will enjoy a particular song. Kinora distinguishes Qloo’s artist ranking from its curated starting recording and makes supporting evidence visible.

Finally, opening a recommendation originally interrupted the bridge experience. Preserving the active request, plan, and results made exploring a choice feel like part of one continuous journey.

Accomplishments that we're proud of

I’m proud of building a complete path from “I want to share something” to a concrete activity with a conversation starter.

The agent makes a useful, constrained decision before ranking. A short listening request produces a different eligible pool from an unrestricted discovery request.

The demo also includes real browser-mediated WebMCP calls, live Qloo results, verified short-song durations, and a return journey that preserves the plan. Automated checks cover catalogue integrity, planning constraints, validation, and application behavior.

What we learned

Taste and context answer different questions. Qloo helps identify cultural connections through preferences. The planner determines what fits the situation. Both are needed to suggest something practical.

I also learned that uncertainty should change the product’s behavior. Missing duration data should exclude a recording from a timed activity, rather than become a confident guess.

Most importantly, a successful API response is not proof of a meaningful family experience. The prototype demonstrates the technical flow. Testing whether families find it useful is the next step.

What's next for Kinora

The first priority is testing with parents and children to understand which recommendations lead to enjoyable shared moments and which conversation prompts feel natural.

I also want to expand the reviewed collections, improve coverage of recording durations, languages, subtitles, and access information, and make the experience easier to use on mobile.

Future planning could account for preferences such as language comfort and whether a family wants to listen, watch, or talk. Those choices should remain visible and editable.

The goal is to help families find a first thing to share, then give them a reason to come back together.

Built With

Share this project:

Updates

Submission history