The images you see here are actually the album covers from the last 12 songs or records I’ve listened to. They update automatically, and if you come back later today, the array you’ll find will be totally different.
This wasn’t trivial to build — I had to pull my listening data, the song info, and the album art all from disparate parts of the internet, and then had to get them to work together. But I thought it was important to create, because music is a cornerstone of my everyday life, and I wanted to capture and express that in a vibrant, dynamic way.
The site is built on top of a small node/express application that makes use of the Last.fm and iTunes Search APIs. All of the tracks I listen to are pulled into a MongoDB collection over the Last.fm API. I then fetch the high res album artwork for each track via the iTunes Search API and store it locally for display on the site. (h/t to Ben Dodson for giving me the idea. I didn’t even know iTunes had an API. I took his implementation and rewrote it in JavaScript.)
The view layer of the site is comprised of a simple Handlebars.js implementation using jQuery. Data for the template is retrieved (with AJAX) via an API that I built that fetches the most recent tracks I’ve listened to (/api/getrecent).
Down the road, I plan on doing more advanced manipulation of the template. This includes adding more views of the data, including filtering, sorting and charting.