As a passionate music lover and AI enthusiast, I wanted to create a project that combines these two interests to help others discover new artists based on their listening habits. This repository contains the code and resources for an AI-powered artist recommendation system based on last.fm data. The project is divided into five main steps:
Step 1: Data Collection
- Objective: Collect raw data from last.fm using web scraping techniques.
- Tools Used: Python, BeautifulSoup, Requests
- Description: Scripts are provided to scrape data from last.fm, including artist details, user preferences, and listening history. The collected data is stored in a structured format for further processing.
Step 2: Model Training
- Objective: Train a machine learning model to recommend artists.
- Tools Used: Python, Scikit-learn, joblib
- Description: The data collected in Step 1 is used to train a clustering model. Various clustering algorithms and techniques are explored and evaluated to identify the best-performing model for artist recommendation.
Step 3: JSON Creation for MongoDB
- Objective: Prepare the data for storage in MongoDB.
- Tools Used: Python, Web scraping, JSON, MongoDB
- Description: Additional web scraping is performed to enhance the dataset. The processed data is then converted into JSON format, making it suitable for storage in MongoDB. This step ensures the data is ready for efficient querying and retrieval, where i collected the image of the artist and album.
Step 4: Front-End Development
- Objective: Create a multi-page front-end interface for users to interact with the recommendation system.
- Tools Used: HTML, CSS, JavaScript
- Description: The front-end consists of multiple pages, including a home page, artist recommendation page, and a double user recommendation page. The interface is designed to be user-friendly and visually appealing, allowing users to easily view and interact with recommended artists.
Step 5: Back-End Development
- Objective: Develop the back-end to support the front-end and handle data processing.
- Tools Used: Python, FastAPI
- Description: The back-end is built using Python, providing APIs for data retrieval and processing. It connects to MongoDB to fetch the recommended artists based on the trained model and user inputs.
So, all the skills used in this projects compiled were:
Now, lets see how it works!
And an about page, but i want you to visit the site to see! So, to run the local application, follow these steps:
git clone https://github.com/yourgithubusername/Recommmend.FM.git
cd recommend.fmshould be something like: "mongodb://localhost:27017/"
.env file in the project root and update the following variables:
API_KEY="your_last_fm_api_key" (get the API_KEY in https://www.last.fm/pt/api)
pip install requirements.txt
python -u run app.py



