Using Node with Typescript is fun. I came from a background of strongly typed languages and Typescript is a great help in comparison to vanilla JS. It makes refactoring much faster and less likely to run into a bug because of a type mismatch.
I still seem to have an issue where I need plain Javascript for the front end. I'm using riot, which is an excellent minimalist library for a reactive front end (while handlebars is excellent for the backend). Unfortunately it seems that not many editors support riotjs fully. The use of components does ease up the pain of refactoring unless a backend API changes that multiple components use.
My isomorphic app has riotjs for the front end and handlebars for the backend. Built on express and of course, typescript whenever possible.
MongoDB is an excellent choice, however you may want to check out ArangoDB if you find yourself shoving a square peg in a round hole with your data.
Good luck on your project!