Building a Vibe-Based Music Recommender with MongoDB and Voyage AI A developer built a vibe-based music recommender using MongoDB Vector Search and Voyage AI. The application takes natural-language descriptions of music moods and returns semantically similar songs from a dataset of 500 tracks from the Free Music Archive. The project is available on GitHub and demonstrates semantic search with vector embeddings. Have you ever found yourself in the mood for a certain type of music but not any specific artists, songs, or genres in mind? Maybe you just had a long day and are looking for something with mellow and relaxing vibes. Or maybe it's a Friday afternoon, and you're ready for something to pump you up for the weekend. In times like these, traditional search experiences won't work. But today, we're going to build something that will. In a traditional search experience, you would search for a term and get back a list of songs or artists that contain keywords from that search term somewhere in their name or description. But that's not what we want here. What we actually want is semantic search: a system that understands what you mean, not just what you typed. That's exactly what we're building. This music recommender takes a natural-language description of the music's “ vibe ” and finds songs that match that feel. And it's all powered by MongoDB Vector Search and Voyage AI. In this tutorial, you’ll learn how to build a working web application where you can type something like "upbeat road trip with the windows down" and get back a ranked list of songs that fit that feeling. Let's get into it Before we write any code, let's go through a quick overview of how the search functionality in this app actually works. The key to all of this is vector embeddings. A vector embedding is a way of representing text or other data like images or audio as an array of numbers, or vectors. Data with similar semantic meanings produces similar vectors, so you can compare all of your vectors mathematically to find data that's similar in meaning. Here's how it actually works in this app: If you want to see the full project with all of the code already written, you can find it on GitHub https://github.com/mongodb-developer/song-vibe-recommendations . I'll explain all the elements throughout this tutorial, and you can clone the repository and follow along as well. Before getting started, you'll need a few things in place: With that out of the way, let’s get going with the actual code. Start by creating a new project directory and initializing it: mkdir music-recommender cd music-recommender npm init -y Then install the dependencies: npm install express mongodb voyageai dotenv Create a .env file in the root of your project with the following variables: MONGODB URI=