For a lot of people, type-level programming is a fascinating topic. It makes your brain work harder, opens new interesting possibilities where you did not expect them. One question that comes up more and more frequently though is – "so where and how exactly do I use this in my day job as a scala programmer?". In this talk, we will explore one such use case: generating json serializers/deserializers at compile-time, with the help of shapeless library.