⚠️Update⚠️ I am on the 💼industry job market💼 in H1 2024. I make a developer’s tools work for them through. I am seeking either engineering-focused or research-focused jobs, to work on novel problems. Get in touch with me by email.

I research and build human-AI collaborative programming tools. I’m interested in how programming languages techniques, human-computer interactions methods, and AI approaches together can automate and simplify interacting with code.

Large-language models are changing the face of programming, with coders working hand-in-hand with AI-powered assistants. Embracing the change these models offer has the potential to significantly improve the day jobs of programmers. I work on creating human-centric AI-programming assistants. I completed my PhD at the University of California, San Diego working with Nadia Polikarpova.

I’m working on how to involve the user more effectively in synthesis interactions. I have studied how programmers interact with large language model synthesizers (i.e., Copilot), to understand common techniques and shortfalls from using such a tool. One project I have worked on improves how a coder validates an AI-suggestion for their task. Another project I’m actively working on helps a programmer explore their task’s design space with the assistance of a large-language model. I have worked on Hoogle+, a type-driven, component-based synthesis tool for Haskell. I have also worked to extend Synquid with examples to make synthesis with refinement types both more expressive and easier to use.