GithubHelp home page GithubHelp logo

theotherdavid / sample-playlist-generator Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 49 KB

This is a project to generate a Spotify playlist with a few sample songs of a given artist.

License: MIT License

Go 100.00%

sample-playlist-generator's Introduction

sample-playlist-generator

This is a project to generate a Spotify playlist with a few sample songs of a given artist.

Have you ever seen a supporting band for a concert you're going to, and wondered what they sounded like? Has anybody ever given you a list of bands you should listen to? It's easy enough to go to a band's Spotify page and check out their most popular songs, but that can be time-consuming and labor-intensive, because you have to search for each artist individually. With this app, you can enter a comma-separated list of artists, and the system will generate a playlist with 2-3 of each artist's most popular songs.

Happy listening!

sample-playlist-generator's People

Contributors

theotherdavid avatar

Watchers

 avatar

sample-playlist-generator's Issues

Make it an API

I don't know, why not? Add an API. Then maybe we can add a frontend once I actually learn some React.

Retrieve top tracks and apply logic to select the sample tracks

Ideally, our sample playlist would be made up of the most-played song from each of the band's two albums, and the most-played song in total. However, Spotify doesn't make that data very available.
Because the top-tracks endpoint is pretty convenient, I will, if possible, pick three tracks from the list returned, from three different albums. For multiple tracks from the same album, I will choose the one with the highest Popularity (which is generated using some algorithm from the number of plays).
This will, ideally, give us the most popular track from the three most popular albums.

Add separate auth schemes

If using the API, we should force the user to authenticate on their Spotify credentials. If using the CLI app or the Lambda function, we should use the creds with the refresh token that's stored in the env variables.

Add artist match verification

When we resolve the artist name search into the artist ID, do an extra check on the name matching instead of just blindly accepting the first result?

Bug: Not getting the MOST POPULAR songs

We're getting the most popular song for each album, but then we're just randomly choosing from that list. You need to find the three most popular of THOSE. Combichrist is a good example for a band where their top-tracks are from many different albums.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.