Album art and artist info display
I've been listening to a lot of playlists lately and wanting a way to learn more about the currently playing artist without pulling out my phone. I put together a little raspberry pi setup to sit on our shelves and display info about the current playing artist.
I think this would be a cool fit for coffee shops or communal workspaces. Let me know if you're interested in getting something similar up and I'll try and help.
The website
I explored the Spotify API for my herb sundays player. I learned with that that it's basically impossible to publish an app any more, but if you want to just make a personal app for yourself there's a lot of possibilities, and you can hardcode a refresh token to skip oauth.
What is not possible, strangely, is getting the artist bio. I had a plan for this, though. I've been experimenting with Gemini search grounding at work, where it searches the web to ground its response. I experimented with this for lesser-known artists and it seemed to work well. The prompt is simple:
Give a one sentence summary of the musical artist ${artistName}
I did want to be somewhat responsible in making generation calls so I set up a database to cache artist descriptions. That way it only needs to generate once per artist. It also means I could go in and edit descriptions and have them stick.
The repo is here https://github.com/GrantCuster/artist-info-grantcuster-com and the actual site here http://artist-info.grantcuster.com/ though it is a blank screen if I'm not currently listening to something.
The hardware
Debugging the pi
I had a raspberry pi 3b and long screen from past projects. I spent the largest amount of time getting it to launch the browser in kiosk mode on boot. It ended up mostly being a config issue with 3b and the newer PI hardware.
LLMs help with debugging but it was still a bit of a slog. It was a good reminder to set myself up for iteration. For a while I was trying to just SSH in to fix it but half the time the wifi was breaking. I got out a separate monitor and keyboard and tried to debug step-by-step. Part the issue was I wanted to have it as light as possible - so it's starting an X server instead of booting up a full desktop.
Next
I like the idea of purpose-built ambient info screens around the house. I'm going to keep exploring - maybe setting this one up for other modes when nothing is playing or putting up more/different screens.