There's probably a lot of complicated ways of doing this, but to keep it simple you could probably just downscale the image, convert to black and white, and have an array which maps lightness ranges to ascii characters
Looking at the source, looks like he piped it through http://secret-wildwood-1014.herokuapp.com/, which looks like it does basic image to ascii conversions when you give it a url. Not sure if he spun that up, but it's cool in that now the app can be made all in js
I wrote a program for playing video in ASCII on an OpenVMS console (VT220 orange text serial console) for a university project.
I played the Matrix dojo fight scene for the final presentation, it was a big success! :)
http://freecode.com/projects/jp2a < I use this in the console sometimes. Nice just to check the orientation of a photo or something, then e.g. rotate w/convert.
Oooh, this reminds me of something similar I made when I was 14 or 15. I made a program to do just this, but only with bitmaps. No Twitter Bootstrap or filepicker.io, though ;)
Or aalib <https://en.wikipedia.org/wiki/AAlib>, which I my opinion gives better results than libcaca for monochrome images. You might also enjoy their demo program bb (sudo apt-get install bb).
I flipped out the first time I saw mplayer ascii rendering. I'm thinking of projecting Rashomon ASCII-version at an art show sometime. Or any classic film with deeply emotional topics, intricate facial expressions, reduced to 7-bit projections.