Inspiration
Hosts and hotels hand every guest the same "top 10 restaurants" list. But a couple from Berlin who love Peggy Gou and natural wine, and a family from Texas who love Taylor Swift and BBQ, want completely different trips from the same flat. Hosts know personal tips earn five-star reviews, but nobody has time to write a new guide for every booking.
What it does
- The host adds a property and their own favourite spots once.
- Each guest gets a private link (or scans a QR code in a hotel room), answers a 20-second taste quiz (music, films and shows, food and vibe) and receives a personal guide:
- where to eat and drink, things to do and a rainy-day plan;
- the host's own spots, ranked for them;
- a playlist and a film shelf for the stay;
- a map with their taste heatmap of the city.
- During the stay, a concierge agent answers questions like "it's raining and the kids are bored" with real places nearby, picked by Qloo for this guest and taking the weather, time and party into account. Answers arrive in 5 to 7 seconds.
- Every pick has a "Why this?" panel showing the Qloo signals behind it and its limits. The guide also shows the guest's "taste twins" ("People who share your taste skew 30–34"), described as a pattern, never as a guess about the guest.
- A compare view puts restaurants from an AI chatbot alone next to the Qloo picks, each checked against Qloo.
How we use Qloo
Qloo is the engine; the LLM never invents a place.
/searchand/v2/tagsturn the guest's quiz into entity IDs and tags./v2/insightswith location filters, taste signals and explainability fills each guide section (restaurants, bars, sights, indoor picks), and the same endpoint gives the artists, films and TV shows.filter.results.entitiesranks the host's own favourites by this guest's taste.- The heatmap output shows which neighbourhoods match the guest, and the demographics output gives the "taste twins" line.
The concierge agent calls Qloo through tools, and the server only renders entity IDs that Qloo returned. Qloo only ever receives entity IDs, tags, an age group and the property's location. It never gets a name or booking detail.
AI alone vs. with Qloo
We measured the difference for the couple at our Lisbon demo flat:
- AI alone suggested 6 restaurants. A Qloo search verified 5 of them near the flat and couldn't find 1, and 1 of the 6 was also suggested to the family staying in the same flat.
- With Qloo, all 6 picks were verified nearby, and all 6 were unique to that guest.
The two Lisbon guests share none of their 19 places.
How we built it
- App: Next.js and TypeScript, hosted on Railway.
- Data: Supabase (Postgres, auth and row-level security).
- Qloo: the hackathon API, through a throttled, cached server-side client.
- LLM: OpenAI (Responses API, strict structured outputs and function tools) writes the guide and runs the concierge, behind a small provider interface.
- Maps and weather: MapLibre with OpenFreeMap tiles, Photon address search and Open-Meteo weather.
A guide is ready 3 to 5 seconds after the quiz, because each section's text is written in parallel as soon as its Qloo results arrive. Built in 11 days by Larinera, a small studio in Turkey.
Challenges we ran into
- Proving the personalisation: we built the compare view to show it, not just claim it.
- Keeping every recommendation grounded in Qloo IDs: the model sees only short references, and the server maps them back and drops anything else.
- Thin data in some areas: we widen the search radius and deduplicate across sections.
- Speed: the first version took 17 seconds per guide. Parallel writing and time limits on optional sections brought it to 3 to 5 seconds.
- API limits: caching and throttling keep us inside them.
Accomplishments that we're proud of
A finished product, not a mock-up: a host dashboard, a guest experience on any phone, a hotel self-serve mode, and a concierge that stays honest about where its picks come from.
What we learned
Taste carries across domains (music to restaurants, films to bars) surprisingly well in hospitality, and showing why a pick was made builds more trust than the pick itself.
What's next
- A pilot with 20 hosts in Istanbul and Lisbon.
- Guides in the guest's language.
- Spotify playlist export.
- Message templates for booking platforms.
Limitations
- Qloo results describe aggregate taste patterns, not a prediction about an individual guest.
- Place data is richer in some cities than others.
- The comparison is one measured run, not a benchmark.
- We don't check live opening hours, and the concierge can't book.
Built With
- maplibre
- nextjs
- open-meteo
- openai
- openfreemap
- photon
- playwright
- postgresql
- qloo
- react
- shadcn-ui
- supabase
- tailwindcss
- typescript
- vitest
- zod
Log in or sign up for Devpost to join the conversation.