microblog powered by Node.js