Skip to content

Generate suggested song playlists via "Tinder like process". Leverage Spotify recommendation API and ML

Notifications You must be signed in to change notification settings

yennanliu/spotify_recommend_playlist

Repository files navigation

Spotify_Recommend_Playlist

Build Status

Intro

  • Build an UI grab user's song taste via Tinder like process, then train a ML model from user taste data, then predict the potentail users liked songs via the classification from ML model, finally call the Spotify recommendation API then get the playlist of the songs that fit such user classification

Architecture

  • Architecture Idea

    • dev
  • Workflow

User rate the songs ---> detector ---> Model_training  ---> Spotify_ML_API ---> recommended_playlist ---> Web_UI 

FILE STRUCTURE

├── [1.8k]  README.md
├── [3.1k]  collect_data.py  : Script collect data (/data)
├── [ 160]  data             : Scraped data for model training 
├── [ 613]  install.sh       : Bash help install needed environment 
├── [3.3k]  server.py        : Script hold server-side services (Python flask)
├── [ 192]  templates	     
│   ├── [9.4k]  client.js    : Script hold client-side services (playlist..) (JS)
│   ├── [4.0k]  index.html   : Main html file 
│   └── [3.6k]  style.css    : Main CSS file 
├── [4.6k]  utility.js       : Backup JS help script 
└── [2.8k]  utility.py       : Python script query spotify API 

QUICK START

Prerequisites

Prerequisites

Method 1) Run (manually)

Method 2) Run (docker)

TECH

  • Backend : Python3 flask, spotipy, sklearn
  • Frontend : Javascript, Ajax, HTML, CSS, Bootstrap

REF

REF

TODO

TODO
  • Fix JS Ajax call API part
  • Fix frontend layout
  • Dockerize the project

About

Generate suggested song playlists via "Tinder like process". Leverage Spotify recommendation API and ML

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published