⚠️Update⚠️ I am on the 💼industry job market💼 in H1 2024. I am looking for research focused positions. Get in touch with me by email.

I research and build human-AI collaborative programming tools. I’m interested in how PL techniques, HCI 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 am a 6th year PhD candidate at the University of California, San Diego working with Nadia Polikarpova, hoping to find an employer with similar interests.

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.