That makes sense - the principles seem to be quite general. But, as I understand it, replay.io records languages that use a VM by modifying the VM to help capture the non-determinism.
We started by recording languages without a VM - C/C++ - so we've implemented things at a lower level (which has advantages and disadvantages).
Coincidentally that means our tech could probably be used to record yours - and now we're doing more web stuff we ought to be using yours :-D