I think it's a combination of playing around and math chops.
Without any mathematical knowledge, you probably couldn't come up with something like the s(i,k,o) function (which, as far as I can tell from just looking/playing around with them briefly, seems to be the function responsible for the tessellation offset), and you might not have thought to define a system like (x=X(N,t), y=Y(N,t), 0<t<1).
Without a nontrivial amount of playing around, you probably wouldn't have found the exact constants used, like (2pi(3^i)), .2/(2^i), etc.--but knowing how altering those affects the end result takes some mathematical knowledge, so it's more guided investigation than random guessing.
Yeah - I think it'd take some serious chops to construct this from scratch (note: it wasn't me! author: twitter.com/teachwithcode). But I've been having a blast deconstructing the equations.
Here's a fun intermediate step (circles instead of hearts), with a few of the numbers parametrized as sliders: