Nice, this is really fun to play with!
I messed around with something similar a few years ago, based on (the code in) this video https://www.youtube.com/watch?v=Z_zmZ23grXE
Edit: Apparently there are a lot of these! This variant is also pretty cool (smaller particles, more like "fields"): https://www.youtube.com/watch?v=nu5aDIEoBk0