Here is a Dan expression that is probably what you want. First keyframe the layer for the initial resize like from say 50% to 100%, then add a Marker at that 100% keyframe by hitting the asterisk key on the numeric pad (*). Then put the expression on Scale. The marker will trigger a little bump:
n = 0;
if (marker.numKeys > 0){
n = marker.nearestKey(time).index;
if (marker.key(n).time > time){
n–;
}
}
if (n == 0){
value;
}else{
maxDev = 10; // max deviation in pixels
spd = 40; //speed of oscillation
decay = 10.0; //how fast it slows down
t = time – marker.key(n).time ;
x = scale[0] + maxDev*Math.sin(spd*t)/Math.exp(decay*t);
y = x;
[x,y]
}
No marker, not bump, so asterisk away. Change the maxDev, spd, and decay to taste. The decay a 10 makes the bump quick, not much oscillation, a smaller number makes it oscillate longer.
If you want a little squish and squash action on the bump, instead of a uniform x and y bump as above, change lines 17 and 18 to this:
x = scale[0] + maxDev*Math.sin(spd*t)/Math.exp(decay*t);
y = scale[0]*scale[1]/x;