Some children can't tell you what they love. But they can choose. Unspoken lets carers of non-speaking children find new favourites: Qloo finds what to try, and the child's choices decide. In our demo session the carer guessed right 1 time in 6; the choices found a new favourite in 6 picks.

Try it in 30 seconds, no account: https://unspoken-mu.vercel.app/?demo=bluey

Inspiration

A child who can't speak still has favourites. New ones give comfort, motivation and something to share, but carers find them by trial and error. Behaviour analysts use preference assessments (paired choice, MSWO), but those rank a fixed set of things. They don't discover anything new.

What it does

The carer names one thing the child loves, say Bluey. Only the title goes to Qloo. An agent (Claude on AWS Bedrock) uses Qloo to find related things that are rated for children and shows two pictures at a time. The carer guesses, the child chooses, the carer logs the pick and the reaction. The agent stays close to what won, branches, or stops: after about 6 choices, once a new favourite is chosen twice, or early if the child stops choosing or is upset (enforced in code). The result is Their world, a map of real cover pictures where Qloo draws the links and only the child's choices colour them, and a one-page profile in the child's voice, Meet me through my choices, to print for school or a therapist. A picture board lets the child say "I want …" by tapping.

How Qloo is essential

Qloo's graph finds the next things to try across shows, films, books, games and music, its content ratings and children's tags keep every card suitable, and its tags explain each link on the map. Measured on 7 pairs of children's favourites: unfiltered, 33 of 210 film, TV and game results were rated teen or adult; of the 191 Unspoken could show, 0 were (CLAIMS.md in the repo).

How we built it

React 19 + TypeScript + Vite on Vercel. An agent loop with budgets (16 turns, 24 Qloo calls), tools qloo_search, qloo_recommend, present_choice, ask_carer, finish, and server-signed session state. An allowlist means only titles and Qloo ids reach Qloo. MSWO scoring is plain code. 91 tests.

Challenges we ran into

Qloo's unfiltered results for a Thomas & Friends fan included true-crime podcasts; search returns hotels and restaurants under show names. Both are filtered in code, and the agent can only show filtered results.

What we learned

A link from Qloo is a reason to try something, not proof the child will like it. Keeping those two layers apart is the design.

What's next

A first pilot with real carers and their children, then a real phone test. Neither has happened yet.

Honest limits

Not therapy or diagnosis. No evidence yet about real children. A plain LLM benchmark did not show Qloo recommending better, so we don't claim it.

Built With

Share this project:

Updates

Submission history