With visualisations and video by vdvrk