Inspiration

Starting over in a new city for study or work is lonely partly because none of your places exist yet. Search results and "top 10" lists recommend what is popular, and a plain LLM guesses. What a newcomer actually has is a set of very specific things they love back home — a hot-pot chain, a singer, a film, a novel — and no way to translate that into "where do people like me go here?". That translation is exactly what a taste graph is for.

What it does

  1. Tell it about home: where you're from, where you live now, 3–8 favourites (a restaurant, music, a film, a TV show, a book, a brand), what you need right now and a budget.
  2. Confirm the matches: each favourite is resolved to a Qloo entity, with alternatives. Restaurants in cities Qloo doesn't cover still work through their branches elsewhere.
  3. Get a city guide:
    • A taste of home — restaurants filtered by the cuisines of your favourite places (read from their Qloo tags: Sichuan, hot pot, dim sum…), ranked by affinity to those places.
    • Cafés, evenings out, books & culture — ranked by the whole taste profile, within budget.
    • Artists and podcasts people with your taste are into.
    • Your taste, in Qloo's words — tag-level taste analysis localised to the city.
    • A first-week plan — five days that ease homesickness first, then build a routine, using only places Qloo returned.
    • Every pick says "because you love …" (Qloo explainability), and places are mapped.
  4. Ask your guide: a tool-calling agent refines anything — "somewhere quiet to study on Sunday", "comfort food under $$", "where would I meet people with my taste?".

In the sample profile (Chengdu → Los Angeles: Chen Mapo Tofu, Haidilao, Jay Chou, In the Mood for Love, The Three-Body Problem), the agent surfaces Sichuan Impression and Pine and Crane for home cooking, The Last Bookstore for weekends, and Blue Bottle as a quiet study spot "because you love The Three-Body Problem".

Why it only works with Qloo

  • The cross-domain jump — a film and a novel you love → a café you'll like — is Qloo's affinity data, not something an LLM can look up.
  • The "because you love …" explanations come straight from feature.explainability.
  • Local grounding (filter.location.query) and real cuisine tags keep every venue real. The agent is forbidden from naming any place a tool didn't return; the first-week plan is validated against Qloo entity ids.

How we built it

  • Qloo: /search (typed entity resolution), /entities (cuisine tags of favourite places), /v2/insights with filter.type=urn:entity:place, filter.location.query, signal.interests.entities, filter.tags + operator.filter.tags=union, filter.price_level.max, filter.hours, filter.exclude.entities, feature.explainability; artists/podcasts with signal.location.query; taste analysis with filter.type=urn:tag; /v2/tags with semantic search to turn needs ("quiet", "late night", "vegetarian") into filters.
  • Agent: four tools (search_entities, find_tags, recommend, taste_profile) driven by Google Gemini through its OpenAI-compatible API, with fallback models when one is overloaded.
  • App: FastAPI + vanilla JS, Leaflet/OpenStreetMap map, hosted on Render. Results are cached to stay within rate limits.

Challenges we ran into

  • Many hometown favourites (e.g. restaurants in mainland China) aren't in Qloo; we fall back to the same brand's branches elsewhere, which carry the same cuisine tags and still work as taste signals.
  • Free-text semantic tag search for broad categories ("bar") returned noisy namespaces; we pinned category tags and kept semantic search for user needs.
  • Non-place favourites dominated restaurant rankings, so "a taste of home" uses only your favourite places as signals and filters by their cuisines.

What we learned

The most useful thing an agent can do with a taste graph is explain itself. "Because you love Haidilao" turns a list into something a homesick person trusts.

What's next

Group mode for flatmates, events and meetups matched by taste, and a "home cooking" mode that finds grocery stores and markets for your cuisine.

Try it

Testing instructions

Open the live demo, click Try a sample profile, then Find my matches → Build my city guide. Then ask the guide a follow-up in the chat. You can also enter your own home city, new city and favourites.

Built With

Share this project:

Updates

Submission history