This is a web application that provides users with personalized Spotify music recommendations based on their listening history and music preferences. Using a combination of TensorFlow for machine learning and the Spotify API for data collection, the Streamlit application displays engaging visualizations of popular and user-specific music trends. The application is built with a Taipy or Streamlit GUI for an interactive and user-friendly experience.
Demo.mp4
- Global Spotify Statistics: View the most-streamed songs, trending artists, and popular albums.
- User-Specific Insights: Discover your most listened-to songs, favorite artists, and recent listening trends.
- Content-Based Recommendations: Get personalized song recommendations based on your listening history using a content-based recommendation model built with TensorFlow.
- Interactive UI: Explore data through a visually appealing and interactive web interface.
- Frontend: Streamlit for an interactive and responsive user interface.
- Machine Learning: TensorFlow for building a content-based recommendation model.
- Backend:
- APIs: Spotify API for collecting user listening data.
- Visualization: plotly for interactive visualizations.
- Data Visualization: Matplotlib, Seaborn, and Pandas for statistical visualization.
- Clone the repository
git clone https://github.com/kailinxGitHub/Spotify-UnWrapped-Spotify-Content-Based-Recommendation-System-and-Data-Visualization.git
- Create a
.env
file in the root directory with the following Spotify API credentials:
SPOTIPY_CLIENT_ID='your_client_id'
SPOTIPY_CLIENT_SECRET='your_client_secret'
SPOTIPY_REDIRECT_URI='http://localhost:8501'
You can obtain these credentials by:
-
Going to Spotify Developer Dashboard
-
Creating a new application
-
Copying the Client ID and Client Secret
-
Adding
http://localhost:8501
to the Redirect URIs in your app settings -
Conda environment
conda env create -f environment.yml
-
Activate the environment
conda activate SpotifyUnWrapped
-
Run the Streamlit application
streamlit run app.py
-
Open the Streamlit app in your browser at
http://localhost:8501
- Home: The Welcoming Page
- Explore: Explore global music trends and statistics.
- User Profile: Log in with your Spotify account to view your personal listening stats.
- Recommendations: Discover new music tailored to your taste based on song features.
This project is licensed under the MIT License.
Contributions are welcome! Please submit a pull request for any improvements or suggestions.