Interactive visualisation of ~1.4 million artists and ~5900 genres on the Spotify music streaming platform
Tech used: React, R3F, WebGL, Python, MariaDB, MongoDB, SQLite
Spotify Universe is an unfinished project that has been in development for a year and a half. The site's goals are to visualise artist and genre relationships in an interactive 3D renderer to highlight trends of musical artists and to facilitate music discovery. The project has gone through multiple phases of rewrites and toolchain modifications, but is now on it's way to becoming a MVP sometime in the near future.
This is by far the hardest and most complicated project I have ever attempted. Each little detail of the project is expansive and needs creative solutions to solve problems. A few examples of problems I have had to face in this project includes the handling and efficient storage of data from Spotify API, writing an efficient browser-based instanced text rendering solution using image atlases and MSDFs, giving labels to partially labelled data (labels being genres in this case), and artist / genre colouring based on dimensionality reduction algorithms.
Not many projects exist like this one. The popular Every Noise project is the most similar, written by Glenn McDonald (one of the machine learning engineers currently working at Spotify). Spotify Universe was heavily inspired by his work, but my project tries to reinterpret the data and make interaction and music discovery easier, more intuitive and more informative. The original genre labels that Spotify comes up with for their tracks is chosen by algorithms directly written by Glenn McDonald, so I just want to say I hugely respect their work.
Tech used: Material UI, React.js, Gatsby.js, Three.js, React Three Fiber
Personal artist website with rendered planets in the background used to promote upcoming works
Cards Against Australia - MACathon 2022
Tech used: React, MUI, FastAPI, MongoDB
48 hour first-place hackathon project that informs Australians about politics in an engaging way.