This document discusses domain-specific languages (DSLs) and outlines how to design a DSL using Kotlin. It provides examples of DSLs in various languages like XML, Java with libraries like Hamcrest and AssertJ, and Kotlin with libraries like Anko and Ktor. It discusses features of Kotlin that are useful for building DSLs like properties, extension functions, named parameters and default values. The document concludes by thanking the audience.