I am a PhD student in Computer Science at Brown University, advised by Shriram Krishnamurthi. I’m especially focused on helping people write programs that behave as they intend. This means that my research touches on programming languages, formal methods, human factors, and education.

Previously, I was a software engineer at Microsoft, where I worked both on Windows1 and Azure2. My research interests are informed by my time as an engineer. I have written code that doesn’t do what I want it to, and I want to spare everyone else the indignity.

Diagramming and Spatiality

The most important aspect of a diagram is how it is spatially arranged, not its aesthetic rendering. I am interested in understanding the spatial operations that are needed to build useful diagrams.

Linear Temporal Logic

A learner's misconceptions are really alternate semantics in their head. This project involves understanding and addressing misconceptions that practioners have when working in LTL.

Forge

Forge is a sibling of the Alloy language designed with pedagogy in mind. Key features include a gradual progression of (sub)languages, unit testing for logical predicates, and support for domain-specific visualizations.

Examplar

An IDE for Pyret that helps students check their understanding early by letting them write input–output examples and get instant feedback on whether these example suites are valid and thorough.

  1. I worked on the XAML UI Framework from 2016-2018. 

  2. I worked on Azure’s AI services, with a particular focus on containerizing AI from 2018-2021.