The First Day of Dashboard Week for DSAU5 had Jonathon (JC) from DSAU1 task us with connecting to the Spotify API and visualizing the data. We could either download our personal Spotify data or use the public data available.

At first, I thought it would be interesting to see my limited Spotify usage data, so I created the following workflow to see the past 50 songs I had listened to.

Interestingly enough, there were albums in there that I don’t remember ever listening to, so what I was interested in was to see the top artists by “medium-range” to try to see whether my suspicions for my most listened artists were true… which brings me to Marshmello, my most listened to artist.

Now that I have established a list of recent songs I had listened to and called my top artists, it was time for me to visualize the data to see what I could make of it… until I went into Tableau and the data was well… pretty boring. There were some dates, some classification fields, the music details and some URL links but not much else, so then I made the decision to do something I had never tried before. Use Spotify’s Coordinator application to generate SVG x and y coordinates in order to create something “cool”. The process to get these points consisted of the following steps:

  1. Download Inkscape
  2. Find the images I wanted to plot
  3. Use Inkscape to make the SVG file of Marshmello (Alex Taylor-Jackson from DSAU5 helped me with this)
  4. Insert images into Spotify Coordinator.

There was a problem with this approach of doing both images separately. The X and Y coordinates were on different scales, so it was time to go back into Alteryx and manipulate one of the images in order to fit on the same scale as the other. This was done through a formula tool.

 

Now that the images were on the same scale, I needed to use a record id tool on both to create the path for Tableau to connect to points, I needed to group the points into their different shapes, and I then needed to connect back to the Spotify data in the previous workflows. Well, that is what I would have done if I didn’t think of another idea…

 

TO BRING IN MORE DATA! Now that I had Marshmello albums and a scatter plot of images, I thought to myself what I could use the graph for. My idea was to plot all my albums on the face layer and plot a list of Marshmello songs between, so if you click on a random point you would be listening to that song. So I went and brought in a list of songs before joining the data together.

Once all this data preparation was finally done, I went back to Tableau to create the dashboard. Because I spent so much time in Alteryx, I made a fairly simple dashboard in the end, with the minor trick of ability to play music. Unfortunately, I was having issues uploading the music to Tableau Public.

Dashboard Week: Day 1 Takeaways

  • Time-boxing is critical
  • API’s once seemingly complex at the beginning with the keys and the documentation follow similar structures. JC was good at explaining this Bearer API authentication.
  • Have an end-goal in mind. This will be possible if you read the documentation in detail before you start. Having known that I would be using Coordinator, I would have been much more targeted with my workflows and extraction of data.