Nice tool. I don't think I have seen a web-based version yet.
Line-in and microphone oscope applications have been around for a long time. There is one for Linux (http://xoscope.sourceforge.net/, sorry for the Sourceforge link) that can go up to eight channels if you have the audio inputs for it. Note that you can get two channels on a stereo line-in (see http://www.ledametrix.com/oscope/ for a two channel probe circuit).
Edit: Further note, these types of scopes typically have their bandwidth limited to the range 20Hz - 20kHz. These are audio channels, after all.
You can usually take 96kSps from a sound card, much more than 20kSps, but still around a thousand of times less than a normal oscilloscope. And you can measure signals with less than 20Hz too. You can't generate them, but can measure.
There are also restrictive voltage limits, variable latency, and lost of readings due to the non-realtime nature of the OS to deal with.
But where sound cards shine is on precision. If you can even find it, an oscilloscope with 24 bits resolution costs tens of thousands of dollars. A 32 bits sound card is a couple hundred. Although, for showing it at the screen, 8 bits are often good enough.
96kSps only allows you to capture 48kHz signals in the ideal case. Practical limits are lower.
Of course, that assumes your audio hardware does not have a bandpass filter tuned to the range of human hearing. Making the range as tight as you can lessens the noise at other frequencies that the processing hardware has to deal with. Plus, it ensures you get a minimum of four samples per cycle for any audio signal.
Same thing on the low end. Without a high-pass cutoff you are going to get a whole lot of noise from mechanical sources.
There is no audio card with 32bit ADCs available for a couple hundred $, and even if there would be such a thing, you would need a signal source with a low enough impedance to not completely drown in thermal noise.
Any application requiring that much precision will not magically be solved by connecting a cheap soundcard. For one, ADCs in soundcards do noise shaping, so there will be an artificial increase of noise at higher frequencies (just record at 96k or 192k and have a look). Second, the absolute precision will not nearly be as good as on an ADC for quantitative measurement: typically there is no low drift reference, also when you DC couple the offset will drift, too.
The only thing they typically do very well is the "real-time" part, because that's what audio software is optimized for... :-)
OP here, thanks for the feedback! And that's a really interesting tip about the stereo line-in. That's given me an idea about maybe trying to display some Lissajous figures on the oscilloscope.
Thanks! My plan is to open source the whole site in the near future, but I'm trying to do a bit of a tidy-up and refactor before then. In the meantime, your very welcome to view the source code for any of the demos, like this file used for the oscilloscope: https://academo.org/demos/virtual-oscilloscope/demo.js
Line-in and microphone oscope applications have been around for a long time. There is one for Linux (http://xoscope.sourceforge.net/, sorry for the Sourceforge link) that can go up to eight channels if you have the audio inputs for it. Note that you can get two channels on a stereo line-in (see http://www.ledametrix.com/oscope/ for a two channel probe circuit).
Edit: Further note, these types of scopes typically have their bandwidth limited to the range 20Hz - 20kHz. These are audio channels, after all.