Nearly everyone uses annotation processing copy-pasting code from github to gradle/maven, but not everyone know what that `kapt "libname"` actually does. In this talk we're going to explain what an annotation processor is, why it is used and how to build a simple annotation processor with kotlin. We're going to use KotlinPoet to generate our code with ease and take a look at most common pitfalls/errors done while building an annotation processor