I'd like to share mine as well. There's a bit of more interaction between particles but I don't remember the exact logic. Code should be easy to read:
https://kaeruct.github.io/projects/short-experiments/dots/
My example is part of the testing suite for my canvas library: https://scrawl-v8.rikweb.org.uk/demo/particles-006.html