As Angular developers we use decorators every day — from class decorators such as @Component, @Module, and @Directive, to property decorators like @Input and @Output. These little accessories to our code can be powerful mechanisms for keeping our applications simple and easy to understand. Let’s peek at how the core Angular decorators bring our code to life, and use that as a springboard for a discussion about creating our own magical wrappers in TypeScript.