I’ve been maintaining a music playlist since high school. Every week I export as a XML file. I parse those files (using PHP) into JSON objects. Those serve as the data structure that Vue renders into three views: a full timeline of the playlist’s evolution, a search page, and a visualization tracking the proportionality of the genres within the playlist at any given moment in time. The timeline is dynamically rendered using canvas and redraws as the user scrolls.