My research focuses on helping people use digital fabrication tools, like a 3D printer and its associated software, to create workflows that best suit their needs. A workflow is a string of tools—from pens and paper, to design software, to toolpath generators, to the physical machines themselves—that a person must work with all together to move from their concept to a tangible product. My current approach to this has been developing a programming language that integrates all parts of the workflows into a single environment that affords easier debugging, verification, visual inspection, and programming by demonstration. In particular, I aim to treat machines, software, and sociocultural factors as equal players in small-scale production, engineering systems that respect all parts of the process.