When we reach for it
Anything with a browser in it, and most of what sits behind one. On a system that will outlive the people who wrote it, types are the cheapest documentation available, and the only kind that cannot quietly go stale — the build says so first.
When we would argue against it
We will not claim a project is typed when the types stop at the door. Data arriving from a network, a form or a database is validated at that boundary and given a real shape; asserting it with `as` moves the failure somewhere harder to find rather than removing it.
What it looks like in delivery
Shared types across the wire are worth more to us than any single language feature: when the contract between a client and a server is one definition, a breaking change is caught by the compiler in the pull request rather than by a customer. On the mixed-language systems we build, TypeScript is usually the layer nearest the user and Go or C# is what sits behind it.