node app stack, first pass