Typescript has been a win because, in general, it makes codebase maintenance less brittle. It's significantly easier to refactor in TS than JS, which encourages incremental improvements, file re-organizing, etc. Our developers are happier with the overall development experience.

The downside is that TS sometimes exacerbates problems caused by Node's fragmented ecosystem. Sometimes @types/ don't work, other times types are outdated. This can lead to problems with newly-installed libraries.

If your project is big enough, I'd say TS is nearly always worth it, but it can make selecting libraries a pain.

Firebase let's us iterate quickly. We've used the Realtime Database to build rich UX features– like push notifications– fast. Likewise, Firebase Authentication and Cloud Functions save us from having to rebuild redundant server infrastructure. Even though Firebase can get pricey, we've saved money in developer time.