This document discusses building domain-specific languages (DSLs) with Scala. It begins by introducing the speaker and their background. It then discusses why Scala is well-suited for DSLs, highlighting features like less red tape, static typing with type inference, and the ability to use the same language across different roles. The rest of the document covers considerations for good APIs, different types of DSLs (external vs internal), Scala language constructs useful for DSLs like apply and update methods, and lessons learned from building DSLs.