I recently completed my PhD in Computer Science at the University of Illinois Urbana-Champaign, where I worked in the Theory and Algorithms area and was fortunate to be advised by Sariel Har-Peled. During my time there, I also did significant work on influence maximization with Abhishek Umrawal, and on computers and education with Jeff Erickson. For a full list of publications, take a look at my CV. I am currently a Software Engineer II at Narmi, and I volunteer with pyOpenSci.
I was formerly an undergraduate studying Computer Science and Combinatorics at Carnegie Mellon University. As an undergraduate, I worked with Phil Gibbons on batch parallel algorithms for my senior thesis. I also worked with Rashmi Vinayak on improving ensemble algorithms with binary codes.
My current interests focus on the design and impact of AI-assisted engineering systems, including how automated development tools shape developer workflows and open-source communities. I am also interested in practical questions around reliability, evaluation, and compute efficiency in modern AI systems.
My research interests are very broad, and I am generally excited by work in most topics. Given this, my philosophy is to focus my energy on work that has a broad impact and is consumable by society, as this is ultimately the primary consumer of any work I do. A list of publications can be found on my CV.
My future work focuses on the design and impact of automated agentic systems. I am particularly interested in the broader societal impacts of generative AI, exploring how automated engineering tools shape decentralized developer communities, and how the design of these tools can be improved to utilize fewer compute resources.
Much of my prior work has centered on the theoretical and computational aspects of Influence Maximization (IM) in social networks. My research spans several core variants of this paradigm, including developing continuous optimization algorithms for fractional budget allocation, and introducing dynamic feedback frameworks to better capture real-world complex contagions. To support the massive computational overhead of evaluating these models at scale, I designed and developed CyNetDiff, an open-source, high-performance network diffusion simulation library powered by Cython that serves as shared infrastructure for accelerated algorithmic benchmarking.
In the past, I have done work on computational geometry and randomized algorithms, with an emphasis on simplicity. I have also done work on computers an education through the TheorieLearn project.
This section is under construction. Artwork updates coming soon.