For the beetle stream shot i developed a custom surface flow tool using Python that would automatically set up the particles, rigs and a heck of particle expressions to read the data from the rigs, effectively hiding all the technicalities from the animators. Here is a short video displaying how it worked.