This document discusses using Groovy to build domain-specific languages (DSLs) for creating complex object graphs, as demonstrated through a case study of rewriting a Chicago budget book generation application. Groovy is well-suited for DSL development due to its dynamic and metaprogramming features. The document presents increasingly Groovy-centric approaches to building the budget book, culminating in a DSL implemented with a Groovy Builder that allows generating the book object model declaratively through closures in a natural and readable manner.