I've been obsessed with self-organizing maps (or Kohonen maps) for a few years now, and I made a library that implements a bare-bones SOM algorithm in JavaScript. A SOM is basically a kinda-old school—but effective—way to do dimensionality reduction and clustering.
Midsommer, my library, also comes with a Svelte component to visualize the resulting SOM, and it uses a force-directed graph to display the underlying shape of the map (cosine similarity between adjacent neurons informs the edge weights, basically).
You can see the code here, as well as a couple examples, including one that represents the ~300-odd books I've read since the start of the pandemic. I'm really curious what people think.