Rust is great for implementing hard problems, thanks to its combination of performance and reliability. But providing clean, beautiful APIs for that functionality can be a challenge, especially because patterns developed for other languages don’t necessarily translate to Rust. Building a UI toolkit is an especially hard problem, and the Druid architecture has evolved dramatically since the early days. The new Xilem architecture promises a powerful declarative approach, drawing on powerful features of the Rust language to provide strong static typing but also a concise and flexible interface. This talk presents five techniques that drive the GUI architecture, but are also general and likely can improve API design in other domains.