Я бы тоже посоветовал NodeJS, socket.io, Mongo, Mongoose, возможно Redis(сессии, кэш), ну и ExpressJS. Последний, мне кажется, будет очень удобен для создания API. Особенно стоит присмотреться к методам app.params (для того, чтобы не усложнять контроллеры воборками, и тд). Но я бы не рекомендовал использовать базовый скафолд ExpressJS, потому что в приложениях больше, чем маленький чат или статический сайт структура начинает выглядеть неаккуратно. Я использую для организации пару вспомогательных модулей из LocomotiveJS (Фреймворк над Express. Я бы использовал его, но он не очень гибкий. Есть какие-то проблемы с интеграцией веб-соккетов). Пример Структуры приложения, которая мне кажется хорошо подходит для Express и не самых маленьких приложений можно посмотреть
на примере движка для блога.