Skip to content

kailinxGitHub/Spotify-UnWrapped-Spotify-Content-Based-Recommendation-System-and-Data-Visualization

Repository files navigation

Spotify Content-Based Recommendation System and Data Visualization

Logo

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

Demo.mp4

Features

  • 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.

Tech Stack

  • 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.

Setup

  1. Clone the repository git clone https://github.com/kailinxGitHub/Spotify-UnWrapped-Spotify-Content-Based-Recommendation-System-and-Data-Visualization.git
  2. 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:

  1. Going to Spotify Developer Dashboard

  2. Creating a new application

  3. Copying the Client ID and Client Secret

  4. Adding http://localhost:8501 to the Redirect URIs in your app settings

  5. Conda environment conda env create -f environment.yml

  6. Activate the environment conda activate SpotifyUnWrapped

  7. Run the Streamlit application streamlit run app.py

  8. Open the Streamlit app in your browser at http://localhost:8501

Usage

  • 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.

License

This project is licensed under the MIT License.


Contributing

Contributions are welcome! Please submit a pull request for any improvements or suggestions.


Acknowledgments

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published