Inspiration

Choosing where to go with friends should be exciting, but different tastes can turn it into a negotiation. One person loves indie music, another prefers films and pop culture, and someone else just wants somewhere new to explore. Generic recommendations often favor what's popular rather than what could bring a particular group together.

We wanted to build something that treats those differences as an opportunity, not an obstacle. That led to Common Thread: a cultural-bridge agent that uses Qloo's taste intelligence to help people discover experiences they might enjoy together, even when their interests don't initially overlap.

What it does

Common Thread helps groups discover shared local experiences based on their cultural interests, destination, and optional budget.

Participants contribute interests spanning areas such as music, films, and television. Qloo's cultural intelligence helps resolve those interests into entities and surface culturally informed place recommendations. Common Thread then applies its own group-level ranking and evidence-aware workflow to organize the results into three kinds of discovery:

  • Shared Ground: options with stronger relevance across the group.
  • Cultural Bridge: experiences connected to multiple participants through available cultural evidence.
  • Stretch Choice: a more exploratory option that offers a credible connection to the group's tastes.

Groups can create collaborative plans, invite others to join, and generate recommendations from their combined preferences. Ambiguous cultural entities require user confirmation rather than being silently guessed. Destination-aware budgeting also supports currencies such as INR, USD, and GBP.

The goal isn't to predict that everyone will love the same place. It's to help a group find more thoughtful starting points for deciding together.

How we built it

We built Common Thread as a full-stack application, with a React, TypeScript, and Vite frontend; a Python and FastAPI backend; and PostgreSQL persistence through SQLAlchemy. LangGraph structures the bounded recommendation workflow, while Qloo's Search and Insights APIs provide cultural entity and recommendation signals.

Qloo does the cultural discovery work; our application handles participant-aware ranking, confirmation of ambiguous interests, evidence-aware explanations, and the collaborative planning experience. This separation keeps the recommendation process grounded in retrieved information rather than relying on a general-purpose language model to invent candidate places or explanations.

We deployed the frontend and backend on Render and integrated persistent collaborative plans, API validation, currency-aware budgets, and a tested frontend-to-backend workflow.

Challenges we ran into

The main challenge was making recommendations useful for a group without flattening everyone's preferences into a single generic profile.

Cultural entities can be ambiguous, and an affinity signal is not a guarantee that someone will enjoy an experience. We addressed these challenges through explicit entity confirmation, evidence-aware result handling, and a separate group-ranking layer.

We also had to make collaborative plans persist across sessions and browsers, preserve their budget and currency, and coordinate frontend and backend releases as the application evolved.

Accomplishments that we're proud of

We turned the concept into a deployed, interactive product rather than stopping at a mockup or an isolated API call.

We're proud of the live Qloo integration, the collaborative plan lifecycle, persistent group state, the three-part discovery experience, and the safeguards around ambiguous cultural interests. We also brought the international experience into the same product, including destination-aware currency selection, without making users choose between separate regional versions.

Most importantly, Qloo has a meaningful role in the recommendation pipeline: it supplies cultural discovery signals that our application uses to build more thoughtful group recommendations.

What we learned

We learned that cultural intelligence is most valuable when it informs decisions rather than pretending to know the answer.

Affinity signals should be treated as evidence, not probabilities of enjoyment. Entity identity matters, group fairness cannot be reduced to one person's preferences, and explanations should never claim more than the available data supports.

We also learned that a useful agent needs clear boundaries: it should gather evidence, handle ambiguity, apply explicit rules, and communicate uncertainty instead of making unsupported guesses.

What's next for Common Thread

We want to evaluate Common Thread across more cities, cultural profiles, and group configurations, including comparisons against a generic LLM-only approach. We also plan to improve recommendation evidence coverage, gather feedback from real groups, and strengthen the verification of practical venue details.

Our long-term goal is to make Common Thread a go-to way for friends, families, travelers, and communities to discover experiences that help different tastes meet in the middle.

Built With

Share this project:

Updates

Submission history