# Shazam Forever
#proj/shazamforever
![[Pasted image 20250918161459.png]]
![[Pasted image 20250918161331.png]]
## Summary
Shazam used to have a desktop application that would just tell me what songs were playing in the background at any given time. I think when Apple bought Shazam, they were like "this seems unnecessarily privacy violating" which, fair, and they removed the application.
The goal is to use the ShazamAPI and a rolling 30 second API call. Songs that are heard during the day are stored in a file ~/.shazam_history/YYYY_MM_DD.md; Intend to copy these
> [!thoughts] Example
> - [Die With A Smile by Lady Gaga & Bruno Mars](spotify:search:Die%20With%20A%20Smile%20Lady%20Gaga) at [23:33]
> - [Red Wine Supernova by Chappell Roan](spotify:search:Red%20Wine%20Supernova%20Chappell%20Roan) at [23:28]
## Thoughts
Some notes from "vibe-coding":
This only really worked because the ShazamAPI is old and well documented, and is a single response with no API limits or requirements whatsoever. The Python UI documentation was quite good as well, if ugly.
Doing distribution seemed a little varied. One time it created its own icon set and packaged it for windows and mac and linux. After deleting a couple different attempts at distribution, I was able to create a simple package. It did not work because things like ffmpeg relied on the system packages. After enough prompting it was able to figure out how to package it together well.
Effectively vibe coding is great for prototyping. For production, there needs to be a lot of detailed focus. Things like auth probably should not be vibecoded. Small quick security patches can probably be automated away. This in itself is probably a useful tool to build.