Skip to content
/ Flow Public

Welcome to Flow, a service designed to curate a playlist based on your current mood and Spotify history. Simply capture a selfie showing how you feel, and we’ll do the work for you!

License

Notifications You must be signed in to change notification settings

ericrkuo/Flow

Repository files navigation

Contributors Forks Stargazers Issues MIT License

Welcome to Flow, a service designed to curate a playlist based on your current mood and Spotify history. Simply capture a selfie showing how you feel, and we’ll do the work for you!

Table of Contents

About The Project

Flow Logo

We love music and are avid Spotify users, however, we wanted a more personalized experience and we thought this was the perfect opportunity to gain firsthand experience in machine learning as well! Flow is inspired by our passion for creating innovative and exciting software projects- specifically our desire to learn new concepts, frameworks, libraries, and tools used in the present tech industry.

Flow utilizes Azure Cognitive Services to detect the user’s dominant mood and Spotify Developer's Web API to collect the user’s Spotify history such as their favourite songs, recently played, relevant albums/artists and more. Once all the necessary information is collected, the data is passed to a machine learning algorithm we implemented, known as K-means, to find clusters of songs relevant to the user’s mood and Spotify history.

Certain optimizations made to K-means include using K-means++ to ensure better initialization of the centroids, as well as implementing the silhouette method to find the optimal value of k (number of clusters).

Built With

Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

  • npm
npm install npm@latest -g
  • Spotify Developer Account
Follow the steps at https://developer.spotify.com/documentation/web-api/quick-start/
  • Spotify User Account
Register here https://www.spotify.com/
  • Azure Cognitive Services Face API
Create an Azure subscription and head to https://portal.azure.com/#create/Microsoft.CognitiveServicesFace in the Azure Portal to get your key and endpoint

Installation

  1. Clone the repo
git clone https://github.com/ericrkuo/Flow.git
  1. Install NPM packages
npm install
  1. Copy sample.env and rename to .env in the root directory of the code. Then fill out the respective environment variables.

Usage

This section is currently unavailable! Check back soon!

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Lily Du - @LinkedIn - lilyyduu@gmail.com

Eric Kuo - @LinkedIn - ericrkuo@gmail.com

Project Link: https://github.com/ericrkuo/Flow

Acknowledgements

About

Welcome to Flow, a service designed to curate a playlist based on your current mood and Spotify history. Simply capture a selfie showing how you feel, and we’ll do the work for you!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages