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.

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, popular or rising. A switch lets you compare "Matched to your taste" with "Popular in your city" and with places that are gaining attention. The page tells you how many of your matches would not show up on a popular list.
- 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 open with a photo of your new city and a count of matches.
Same-brand places come first and carry a "Same brand" label.

Every card says what it has in common with your place.

The switch shows what a plain popular list would give you instead.

If a place is not found, you get suggestions, not a guess.
Beyond the matches, Taste Transplant helps you settle in:
- Where in the city fits you. A street map with a dot for each match, over a glow from Qloo's heatmap. You can look at all your places or one at a time.
- Your first month. A plan in four stages: days 1 to 3, week 1, weeks 2 and 3, and week 4. Your own matches go first. Then come well-rated basics like a pharmacy, a clinic and a supermarket. Each place appears once, you can tick things off, and you can print it.
- Music, shows and podcasts that fit your places, tuned to what people in the new city like.
- Miss a dish? Type foods you miss. It finds places in your new city known for them. If none are, it shows the closest cuisine and says so.
- Which city fits you better? Choosing between two cities? It runs the same places through both and compares the counts.
- Share as picture. A card of your matches that you can post to WhatsApp or social media.
- 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. Your location goes into the message on your phone and never to our server. It lets someone know where you planned to go. It is not tracking and it is not protection.

Share trip sends the place and a map link to someone you trust.
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.
How a search flows through the app and the Qloo endpoints.
Qloo is the core of it:
/searchfinds your places by name within a radius of your home city's map point, and finds same-brand places near your new city./entitiesreads each place's tags and photos./v2/insightsreturns 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 (filter.tags), andbias.content_based,bias.qualityandbias.trendsto shape the ranking./v2/insightswith the heatmap type draws the taste map./v2/insightswith the artist, TV show and podcast types gives the music, shows and podcasts./v2/tagsfinds tag IDs for kinds of places, dishes and cuisines.
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, and the map uses Leaflet with OpenStreetMap. 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.
- Matches from the wrong city. A search for hotels in Afikpo once returned golf hotels from Aba, Calabar and Port Harcourt, because I searched 100 miles around the city and treated "golf" as a brand. Now a city gets 25 miles, a state gets more, and one common word is no longer a brand.
- 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.
- A boring first-month plan. My first version repeated places and put a mall under "clinic". Now the basics are ranked by quality, the fun things by your taste, and each place appears once.
- 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 and from a state, not just famous cities.
- Same-brand matches come first, which is what people look for when they move.
- Every match has a reason, and the matched, popular and rising views show what taste adds.
- It goes past recommendations: a map, a first-month plan, a dish finder and a two-city comparison, all built on Qloo's data.
- 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.
- For the basics, a well-rated place helps more than a place that matches your taste. For the fun things, taste wins.
- People trust a tool more when it says "I did not find that" than when it guesses.
- Qloo's music matches a city well. Its TV and podcast data leans American, and some regional dishes are thin, so the app says so instead of hiding it.
What's next for Taste Transplant
- A share link, so a search can be reopened from a web address.
- On-device check-in reminders for trips.
- More local shows and podcasts, as Qloo's data grows.
Built With
- github
- google-fonts
- lucide
- next.js
- node.js
- qloo-api
- react
- tailwind-css
- typescript
- vercel
- web-share-api
- wikipedia-api

Log in or sign up for Devpost to join the conversation.