For a CS 151 class at Grinnell, we had to do a final project in Scheme.  I ported it to JS, and the original can be found here too.