heavily modified version of peepcode node app (using express, npm and bower)