avarsh
Joined 10 years ago
Joined 10 years ago
- Add 3-4 people as reviewers
- Reviewers ask questions, make suggestions
- Author follows up to these questions (online or offline), and if they make code changes they link to the diff in a comment
- Close reviews only if 2+ people have finished reviewing
- It's okay to close reviews that not everyone has finished reviewing
You can pick a location on a map and it will generate a playlist for pretty much any city. I haven't done much work on it since then, but had a decent response when I posted it to Reddit. I've been considering open sourcing it, but not sure if there is interest.
My approach:
- Use SeatGeek's API to find venues/artists near the user
- Query Spotify's search API for artists with these names to get artist IDs (which you need to do other interesting things with Spotify's API)
- Filter results from Spotify search queries with fuzzy matching between artist names and results
- Use Spotify's API to get the top 5-10 most popular tracks for each artist, and randomly select ~30 to add to a playlist
Spotify's search API cannot be queried in batch which is a pretty frustrating bottleneck. I mainly solved this by caching artist name / ID pairs, but this would only really be effective if I got a lot of traffic (I don't).
Also, SeatGeek's API was a lot more friendly than Songkick, which I considered using. But SeatGeek didn't seem to have data for many venues overseas, so I had some users outside the U.S. that were disappointed that their queries would usually fail because the app couldn't find enough tracks.
For anyone interested in playing with it yourself, you can use python-chess (https://pypi.python.org/pypi/python-chess) to set up / play against the engine (or make engines play against each other) without having to directly use the UCI commands.
edit: It looks like there are quite a few other front-ends that will work with Stockfish. Fritz and PyChess look popular. I just used python-chess for a project a while ago.
Not to say that they don’t do some such screening, but I thought I’d add another data point.