You can do some pretty powerful things with the tools TypeScript provides. Reflect on your TypeScript types to drive runtime behavior in a type-safe way.
There's no one-size-fits-all process for creating software. Each project must execute according to the needs of the customer and their business realities.