shared types
TypeScript in Production notes about shared types
Model a TypeScript API Contract: Requests, Responses, and the Network Boundary
Define one user-update contract for a handler and client, then check actual request and response data before trusting its types.

