Thank you for the feedback. Yes, that sounds like a better movement system. I personally don't use a mouse, so I tend towards keyboard only movement.
We're not using a game engine, but we use pixi.js for rendering and for the particles we're using a plugin called pixi-particles.