Blender's Particle System does not correctly inherit actions applied to instantiated objects. As such, independent particle animations were impossible. That is until Animation Nodes arrived on the scene.
This tutorial covers how to drive animations with various particle system information such as particle Birth/Death, size and location. You'll learn how to take a set of keyframes, shape key, or any animated object, delay that animation to start upon a particle birth, and control the visibility of your instantiated objects based upon particle birth time, death time, and lifetimes.
Install Animation Nodes: https://animation-nodes-manual.readthedocs.io/en/latest/user_guide/install/install.html