Inspiration

Most recommendation apps are kind of boring.

You like one artist - they show you five similar artists. You like one type of food - they show you more of the same. After a while everything starts feeling repetitive.

We wanted to try the opposite approach.

TasteShift is built around a simple idea: instead of only showing people what already fits their taste, help them discover things that are a little outside of it, but still make sense for them.

Not random recommendations. Not "you like techno, here is more techno."

Something more like: "You like dark electronic music, brutalist architecture and Japanese design, so maybe you would actually enjoy this gallery, this restaurant, or this completely different music scene."

That was the idea behind the project.

What it does

The user gives TasteShift a few things they already like.

It can be anything: music, movies, fashion, food, places, visual styles.

From that, we build a rough taste profile and use Qloo to find connections between different categories.

Then the user can choose how far they want to go outside their comfort zone.

For example:

  • safe
  • curious
  • experimental
  • wild

The further they move the slider, the more unexpected the recommendations become.

The important part is that every recommendation still has a reason behind it.

We want the user to be able to understand:

"Why did the app suggest this to me?"

Taste DNA

We also wanted the profile itself to be interesting to look at, so we created the idea of a "Taste DNA".

It shows patterns in the user's preferences, for example:

  • dark vs bright
  • minimal vs expressive
  • mainstream vs underground
  • familiar vs experimental

It can also generate a temporary label for the user's current taste, something like:

Neo-Noir Minimalist

or

Digital Romantic

The label is not supposed to define the person. It is just a fun way to describe the current profile.

Taste Frontier

One of the main ideas in the project is the "Taste Frontier".

Instead of only showing what matches the user, TasteShift tries to find the closest area of taste that the user has not explored yet.

For example:

Current taste: dark minimalism
Next frontier: experimental Mediterranean

This gives the recommendations more direction.

Taste Mutation

We also added a more playful feature where users can change their taste profile with prompts like:

  • "make my taste more experimental"
  • "what would I like if I lived in Tokyo?"
  • "show me something opposite to my usual taste"
  • "make my recommendations more underground"

The system then shifts the profile and generates new recommendations based on that version.

How we built it

The backend is written in Python.

We use Qloo as the main source of taste relationships between different categories.

That is important for the project because we did not want to build a system where music only affects music, or movies only affect movies.

The interesting part is when categories start influencing each other.

A movie can affect a restaurant recommendation. Fashion can influence nightlife. Architecture can influence travel. Music can influence visual style.

We use an LLM on top of that to understand the user's request, combine the signals, and explain the final recommendations in a natural way.

Challenges

The hardest part was figuring out how to make recommendations surprising without making them random.

If everything is too similar, the app feels boring.

If everything is too different, the user stops trusting it.

So we started treating novelty as something that can be controlled.

Another problem was generic AI output.

It is very easy to build a recommendation app that sounds personalized but gives almost the same results to everyone.

To avoid that, we try to connect each recommendation to several different preferences from the user instead of just one.

We also wanted the explanation to matter.

If the system recommends something unexpected, it should be able to explain why that recommendation came from the user's taste.

What we learned

The most interesting thing we noticed is that taste works better as a graph than as a list.

People do not really have completely separate preferences for music, fashion, movies, food and travel.

They overlap.

That is what made Qloo interesting for this project.

Instead of asking only:

"What does this person already like?"

we can ask:

"What could they like next?"

What's next

We would like to turn TasteShift into something that works with real cities and real experiences.

Some ideas we want to explore next:

  • city recommendations
  • travel planning
  • date ideas
  • group taste profiles
  • shared taste for couples
  • taste history
  • discovery challenges
  • maps based on personal taste

The long-term idea is simple:

recommendation systems should not only keep people inside their comfort zone.

Sometimes the best recommendation is something they would never have searched for themselves.

Built With

Share this project:

Updates

Submission history