TypeScript is a powerful language with a type system that has been designed towards common programming patterns in the JavaScript world. Coupled with outstanding type inference and IDE support, it makes programming a breeze. In this talk, we will take a look at some of the more advanced parts of the type system and how they can be used to create rock-solid APIs. As an example we will consider the very common problem of data validation and processing. I will show how to build a data pipeline from scratch.