All Projects → Shpigford → Plylst

Shpigford / Plylst

Licence: mit
Smart playlists for Spotify! Stop relying on fancy pants algorithms to organize your library and instead build playlists the way you want.

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Plylst

Spotifyapi Net
🔉 A Client for the Spotify Web API, written in C#/.NET
Stars: ✭ 887 (+194.68%)
Mutual labels:  spotify-api, music, spotify
Spotty Features
Show trends about your music listening habits over time. Create playlists from a given seed and specified audio features.
Stars: ✭ 20 (-93.36%)
Mutual labels:  spotify-api, music, spotify
Smd
Spotify Music Downloader
Stars: ✭ 822 (+173.09%)
Mutual labels:  spotify-api, music, spotify
Spotui
Spotify in the terminal 💻🎶
Stars: ✭ 302 (+0.33%)
Mutual labels:  spotify-api, music, spotify
Spotify Now Playing
Spotify now playing information and control popup for macOS menu bar
Stars: ✭ 171 (-43.19%)
Mutual labels:  spotify-api, music, spotify
Youtubetospotify
A Python script to fetch tracks of music channels on Youtube, find them on Spotify and add them to a playlist
Stars: ✭ 33 (-89.04%)
Mutual labels:  spotify-api, music, spotify
Listentogether
Grab some friends, connect your Spotify account, and listen to music in sync with each other.
Stars: ✭ 19 (-93.69%)
Mutual labels:  spotify-api, music, spotify
Spotitube
Synchronize your Spotify collections downloading from external providers
Stars: ✭ 250 (-16.94%)
Mutual labels:  spotify-api, music, spotify
Coverify
🎧 Design fresh album cover for your Spotify playlists
Stars: ✭ 167 (-44.52%)
Mutual labels:  spotify-api, music, spotify
Listen Now
Listen-now, 提供了多音乐平台的音乐搜索、播放、歌单播放、同步平台歌单到本地数据库,并计划开发智能音乐推荐系统。listen-now主要由学生层级的同学一起开发。
Stars: ✭ 139 (-53.82%)
Mutual labels:  spotify-api, music, spotify
Obscurify
Find out more about your music taste and compare it to others' with Obscurify
Stars: ✭ 200 (-33.55%)
Mutual labels:  spotify-api, music, spotify
Singlespotify
🎵 Create Spotify playlists based on one artist through the command line
Stars: ✭ 254 (-15.61%)
Mutual labels:  spotify-api, music, spotify
spotifytrack
A personal homepage showing users' top songs and artists, providing a shareable link that they can use to show it off to friends.
Stars: ✭ 48 (-84.05%)
Mutual labels:  spotify, spotify-api
SpotMusicGen
A Program that creates a Spotify playlist from a YouTube Playlist
Stars: ✭ 47 (-84.39%)
Mutual labels:  spotify, spotify-api
springtunes
Control your Spotify client remotely from your browser
Stars: ✭ 19 (-93.69%)
Mutual labels:  spotify, spotify-api
graphql-spotify
GraphQL Schema And Resolvers For Spotify Web API
Stars: ✭ 55 (-81.73%)
Mutual labels:  spotify, spotify-api
spotify-vibe-check
Spotify Vibe Checker Web App to vibe check your Spotify Playlists! (currently broken due to CORS)
Stars: ✭ 24 (-92.03%)
Mutual labels:  spotify, spotify-api
spotify-terminal
Terminal application to play/control Spotify.
Stars: ✭ 61 (-79.73%)
Mutual labels:  spotify, spotify-api
spotify-clone
🎶🎶Simple Spotify Clone using ReactJs. Here we are using the Official Spotify API to make calls. Here we can able to login, logout and gear the music.
Stars: ✭ 21 (-93.02%)
Mutual labels:  spotify, spotify-api
spotify-true-random
🔀 An application for unbiased truly random playlist and library shuffling with Spotify.
Stars: ✭ 51 (-83.06%)
Mutual labels:  spotify, spotify-api

About

I (@Shpigford) have been a longtime iTunes user and, despite its shortcomings, the ability to build complex, dynamic playlists has yet to be matched by the other streaming services.

I desperately want that ability in Spotify, so PLYLST is my attempt at building the thing I think it's missing most: that ability to put together dynamic playlists based on many different attributes.

Codebase

The codebase is vanilla Rails, Sidekiq w/ Redis, Puma, and Postgres. Quite a simple setup.

How to start

1. You'll need to pull down the repo locally. You can use GitHub's "Clone or download" button to make that happen.

2. Then, add a config file to config/application.yml with Spotify OAuth keys. See below on how to get setup and get keys for Spotify.

spotify_key: KEY
spotify_secret: SECRET

Spotify

You'll need a free Developer account, which you can create here: https://developer.spotify.com

Go into your dashboard, create a new app or edit the settings on an existing app and set the Redirect URI to http://localhost:5000/users/auth/spotify/callback

These will get you the necessary keys for the app to fully function.

Genius

If you'd like to pull in lyrics for lyric-based rules, you can create an API key here: https://genius.com/developers

The "Client Access Token" is the key you want. Genius is only required if you want to build/test rules around lyrics.

3. In the command line, you'll then run the following to set up gems and the database...

$ bin/setup # Installs the necessary gems and sets up the database

4. Finally, start the server (also in the command line)!

$ foreman start # starts webserver and background jobs

If you don't already have foreman installed, you can install it with gem install foreman

Contributing

It's still very early days for this so your mileage will vary here and lots of things will break.

But almost any contribution will be beneficial at this point.

If you've got an improvement, just send in a pull request. If you've got feature ideas, simply open a new issues!

Performance

One area that can always use some additional perspective is performance.

You can see what the current painpoints are on Skylight.

Slow web requests: https://oss.skylight.io/app/applications/2JBLsZt07yjO/recent/30m/endpoints
Slow worker requests: https://oss.skylight.io/app/applications/x1STSO2QMwrX/recent/30m/endpoints

License & Copyright

Released under the MIT license, see the LICENSE file. Copyright (c) Sabotage Media LLC.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].