ah I figured it out.
I found a wordpress article of someone explaining things a little better for me to understand. After reading it, I realized I’ve also been thinking about it in the reverse, that the custom vertex streams were giving my particle systems things (data), when actually it’s the particle systems giving my shader the information.
So the reason it wasnt working was because I hadn’t actually passed the particle lifetime information into the shader to use as the lerp’s time