Inspiration

In Nigeria, graduates in the National Youth Service Corps (NYSC) are often posted to a state they have never lived in. They arrive in a new city and have to find a bank, a church, a place to eat, a place that feels a bit like home, with no one to ask. Students and people who move for work go through the same thing everywhere. Most "best places in this city" lists show what is popular. I wanted something that starts from what you already love.

What it does

You tell Taste Transplant the city you moved from, the city or state you moved to, and 2 to 8 places you loved back home. It finds the closest matches in your new city.

Taste Transplant home page with the form filled in You fill in one sentence, then list the places you miss.

For each place, it builds a section in your new city:

  • Same brand first. If you loved First Bank or Chicken Republic, you see up to 4 branches near you, the best known first.
  • Then similar places of the same kind, matched to the taste behind your place. A stadium gives you stadiums, a church gives you churches.
  • A reason on every card. Each card shows the tags it shares with your place, and has an Open in Maps link.
  • Matched vs popular. A switch lets you compare "Matched to your taste" with "Popular in your city". The page tells you how many of your matches would not show up on a popular list.
  • Share trip. One tap opens your phone's share sheet with the place and a map link, and your location only if you choose to add it. Nothing is stored. It lets someone know where you planned to go. It is not tracking and it is not protection.
  • No made-up matches. If a place is not found, you get "Did you mean" buttons. If nothing close exists in your new city, the page says so.

Results page with a photo of the new city and the number of matches found Results open with a photo of your new city and a count of matches.

Section of same-brand places marked Same brand Same-brand places come first and carry a "Same brand" label.

A place card showing what it has in common, Open in Maps and Share trip Every card says what it has in common with your place.

The Popular in the city view for comparison The switch shows what a plain popular list would give you instead.

Did you mean suggestions for a place that was not found If a place is not found, you get suggestions, not a guess.

The phone share sheet with a trip message Share trip sends the place and a map link to someone you trust.

I tested it with Nigerian cities like Uyo, Eket and Lagos, and with Toronto to Chicago.

How I built it

Taste Transplant is a Next.js and TypeScript app, styled with Tailwind and hosted on Vercel. The Qloo key stays on the server.

Diagram of how a search flows from the browser to the server to the Qloo API How a search flows through the app and the Qloo endpoints.

Qloo is the core of it:

  • /search finds your places by name within a radius of your home city's map point, and finds same-brand places near your new city.
  • /entities reads each place's tags and photos.
  • /v2/insights returns places in the new city with similar taste. It uses your place as the signal (signal.interests.entities), the new city as the location, the kind of place as a tag filter, and bias.content_based to keep matches close to the original.
  • /v2/tags helped me find the right tag IDs while building.

The "in common" line comes from comparing the tags of your place and each match. City photos and map points come from the Wikipedia API. Without Qloo's taste data, there is nothing to connect a place in Uyo to a place in Lagos.

Challenges we ran into

  • Fuzzy search. Qloo's search sometimes returns a different place that shares one word. "Nimasa Office" once matched an image diagnostics office because both had the word "office". I wrote a stricter name check: every distinctive word must match, small typos are fine, and generic words like "office" or "global" are ignored.
  • Cities Qloo cannot find by name. The app checks the new city first, falls back to its map coordinates, and gives a clear message if both fail.
  • Rate limits. Early versions sent too many calls at once and got blocked. Calls are now spaced out, retried, and cached.
  • Odd tags. A bus company can be tagged as something unrelated. The app tries a few readings and keeps the one whose matches share the most tags with your place.
  • Filler results. My first version filled empty sections with unrelated places. I removed that. An honest "nothing close here" is better than a bad match.

Accomplishments that we're proud of

  • It works from small cities, not just famous ones.
  • Same-brand matches come first, which is what people look for when they move.
  • Every match has a reason, and the matched vs popular switch shows what taste adds.
  • It is live, open source, and the key never reaches the browser.

What we learned

  • Searching by name within a map area works much better than searching by a city name.
  • Qloo's tags are rich but messy, so it pays to check them against the results.
  • People trust a tool more when it says "I did not find that" than when it guesses.

What's next for Taste Transplant

  • A neighborhood map from Qloo's heatmap data, to show which parts of the new city fit your taste.
  • Music, shows and podcasts that people in the new city like, using Qloo's other entity types.
  • On-device check-in reminders for trips, with no tracking server.
  • A simple first-month plan built from your matches.
  • Testing in more countries and with more kinds of places.

Built With

Share this project:

Updates

Submission history