@Dan your awesomeness knows no bounds!
I already have this in the source text expression to do random size & baseline shift:
posterizeTime(.5);
textMinSize=effect("textMinSize")("Slider")
textMaxSize=effect("textMaxSize")("Slider")
bshift=effect("baselineShift")("Slider")
for(let i = 0; i < value.length; i++){
style = style
.setFauxBold(parseInt(Math.random()), i, 1)
.setFontSize(Math.random(textMinSize,textMaxSize), i, 1)
.setBaselineShift(Math.random(-bshift,bshift), i, 1)
}
I don’t know where in that structure “setAllCaps” would go (in order to randomize the case of individual characters)