I study how innovating with programmable digital fabrication machines can feel more like actually programming—not just running code. Machines like 3D printers, CNC mills, and laboratory automation tools have enabled new advances in science, art, and engineering, but remain difficult to program beyond common-case tasks. In particular, I focus on exploratory digital fabrication, where practitioners are pushing the boundaries of machine capabilities to investigate unexplored manufacturing possibilities. To better support exploratory fabrication, I prototype novel software tools drawing on ideas from computational notebooks, programming languages, and data visualization.
scattered datasheets versus a univied language with checks
Taxon provides a grammar of fabrication machines for structured exploration of machine tradeoffs and capabilities. Verso interleaves within-code graphical user interfaces to bring disparate parts of the fabrication pipeline into a single programming environment.
Robust Visualization for Machine Toolpaths
gallery of tss
Verso provides toolpath stylesheets (TSS) which let users visualize different task-specific aspects of machine behavior, for example, path (re)ordering and heat concentrations for laser cutting.
Documenting Digital Fabrication through Computational Notebooks
a user controls a shopbot cnc mill with an AR overlay using their computational notebook
Imprimer is a machine infrastructure for a Shopbot CNC mill and an associated library for the Observable computational notebook. Imprimer lets makers learn experimentally, prototype new interactions for making, and understand physical processes by writing and debugging code.