I develop methods that learn to represent visual data with programs and discover abstractions that make those programs useful for people and machines.

Currently, I am a postdoctoral scholar at Stanford University, working with Maneesh Agrawala and Jiajun Wu. I received my PhD in Computer Science from Brown University, where I was advised by Daniel Ritchie. Before that, I completed my undergraduate studies at Williams College, with majors in Computer Science and English.

I am on the academic job market for the 2026-2027 cycle!

Research Overview (representation: compact | detailed)

My research sits at the intersection of computer graphics, vision, machine learning, and program synthesis. AI systems have transformed how we generate and analyze visual data, but they provide a poor interface for collaborative work, producing outputs that are hard to control, validate, and revise. To create useful visual content, we require a representation that respects and exposes the task-specific concepts that matter to the people and systems that use it.

My work explores how code can provide such a representation. I study visual programs, symbolic procedures whose executions produce or analyze shapes, scenes, or motion. People use code to formalize intent through executable operations, and networks can learn to model collections of programs, but the usefulness of a program depends on the operations and abstractions it can access. Therefore, I investigate two complementary directions: how learning systems can author visual programs in a given language, and how to adapt the language itself for a particular task. Toward the first, I've developed methods for inferring programs that explain visual data and creating visual content with programs. Toward the second, methods for discovering reusable visual abstractions.

My long-term aim is to make visual programs the default substrate for learning systems that model visual data. With the right underlying representation, generative AI can move beyond producing one-off artifacts and instead allow us to generate, inspect, and manipulate the visual world with the precision and flexibility we expect from code.

News
  • November 2026Visiting UC Berkeley for an invited talk
  • October 2026Visiting UCSD for an invited talk
  • September 2026VibeAnimation awarded a Magic Grant from the Brown Institute (with Jiaju Ma)
  • July 2026Visiting Roblox for an invited talk
  • June 2026Co-organizing our 3rd Workshop on Visual Concepts at CVPR 2026
Publications (Selected | All)
ShapeLib: Designing a Library of Programmatic 3D Shape Abstractions with Large Language Models
ACM Transactions on Graphics (TOG) 2026
Paper | Project Page | Code
abstractions
Self-Consistency for LLM-Based Motion Trajectory Generation and Verification
CVPR 2026
Paper | Project Page
abstractions analysis
Procedural Scene Programs for Open-Universe Scene Generation: LLM-Free Error Correction via Program Search
SIGGRAPH Asia 2025
Paper | Code
generation
PartComposer: Learning and Composing Part-Level Concepts from Single-Image Examples
SIGGRAPH Asia 2025
Paper | Project Page | Code
abstractions
Neurosymbolic Methods for Shape Analysis and Generation
Brown University Doctoral Dissertation 2025
pdf | Brown library
Learning to Edit Visual Programs with Self-Supervision
NeurIPS 2024
Paper | Project Page | Code | Video
inference
ParSEL: Parameterized Shape Editing with Language
SIGGRAPH Asia 2024
Paper | Project Page
generation
Learning to Infer Generative Template Programs for Visual Concepts
ICML 2024
Paper | Project Page | Code
abstractions inference
Open-Universe Indoor Scene Generation using LLM Program Synthesis and Uncurated Object Databases
arXiv preprint
Paper
generation
Improving Unsupervised Visual Program Inference with Code Rewriting Families
ICCV 2023
Paper | Project Page | Code | Supplemental
inference
Oral Presentation
ShapeCoder: Discovering Abstractions for Visual Programs from Unstructured Primitives
SIGGRAPH 2023
Paper | Project Page | Code | Supplemental
abstractions
Neurosymbolic Models for Computer Graphics
Eurographics 2023 STAR
Paper
generation inference
SHRED: 3D Shape Region Decomposition with Learned Local Operations
SIGGRAPH Asia 2022
Paper | Project Page | Code | Video | Supplemental
analysis
PLAD: Learning to Infer Shape Programs with Pseudo-Labels and Approximate Distributions
CVPR 2022
Paper | Project Page | Code | Video | Supplemental
inference
The Neurally-Guided Shape Parser: Grammar-based Labeling of 3D Shape Regions with Approximate Inference
CVPR 2022
Paper | Project Page | Code | Video | Supplemental
analysis
Learning Body-Aware 3D Shape Generative Models
arXiv preprint
Paper
ShapeMOD: Macro Operation Discovery for 3D Shape Programs
SIGGRAPH 2021
Paper | Project Page | Code | Video | Supplemental
abstractions
ShapeAssembly: Learning to Generate Programs for 3D Shape Structure Synthesis
SIGGRAPH Asia 2020
Paper | Project Page | Code | Video | Supplemental
generation