Hi there,
welcome to this repository where I mess around with the canvas element. I found this fun codepen from ajxsparrow07 that I copied the particle bit from: https://codepen.io/jaxparrow07/pen/ZEPNMYN (to get that working with normal html, css and js I threw it in ChatGPT)
Then I continued on that script to adjust the particles to react on a random circle that bounces around the edges of my canvas and added in the gradient.