All projects

UMass Amherst, DACSS 690S · 2026

The Evolution of the Billboard Hot 100

A D3 and Three.js scrollytelling piece on how pop music changed across 24 years, built on Billboard chart data joined to Spotify audio features.

Context
UMass Amherst, DACSS 690S
Year
2026
Method
D3.js

I wanted to build an argument you scroll through rather than a dashboard you poke at. As you move, the case builds: long-term trends in danceability, energy, acousticness and valence, then how the distribution of what makes a song chart has shifted, then a 3D pass through the feature space for the point where two dimensions genuinely stop being enough.

The data is Billboard Hot 100 entries from 2000 to 2023 joined to Spotify audio features. I preprocessed it into three cleaned JSON layers, track level, year level and artist level, so the front end can change granularity without going back to the network. Missing numerics are normalised to null and filtered rather than imputed. A quietly imputed audio feature is a lie you then plot.

D3 does the 2D work, scroll triggers run off an IntersectionObserver, and Three.js takes the multi-dimensional views. There are artist deep dives too, Taylor Swift, Drake, The Weeknd, which is where most people actually start clicking.

Tools & methods

  • D3.js
  • Three.js
  • JavaScript
  • Python