Now that I type this out, I find myself curious just how much work it would take to implement a software-modelled distortion in the browser. I guess that's another entry for my list of "Hey, wouldn't it be neat if I could do $FOO" type projects.
Not actually that hard. You want a WaveShaperNode. Of course, tuning the curve and other parameters so it sounds _good_ is nontrivial.
[1]: https://developer.mozilla.org/en-US/docs/Web/API/WaveShaperN...
I'm not faulting the author for this, I probably would have done the same.