
I’m a software engineer at Google Cloud AI, where I work on AI agents.
I’m interested in how we tell whether an AI did what we asked, and how to make these systems faster and more reliable. My other research ranges from particle motion to chemical processes.
Outside work, I play cello, record jazz and blues as Copperbelt, and go backpacking. I share photos from my travels here too.
Work
- Now
Google Cloud AI Software engineer
I work on evaluating AI agents and improving their reliability, speed, and running costs.
Agent Development Kit- Strust
Strust
I built Strust to run COBOL programs and their Java replacements on the same tests and compare the results.
Project website
Research
- 2026
Predicting whether an AI agent succeededPDF
State-change features helped one fitted procedure within the original agent cohort, but that gain did not transfer convincingly to the new held-out agent. The study separates learner interaction from reusable predictive value.
Checking whether rewritten code behaves the samePDF
External repair candidates show why a disagreement is not automatically a detected defect. Reviewed contracts and concrete witnesses separate real failures from tolerance and mutation differences.
- 2025
Finding what slowed a program downPDF
Timing-based fault rankings can collapse when a clean span shifts. New controlled runs expose the timing boundary, partial repairs and the limits of an alert threshold learned from only two controls.
Strust: comparing COBOL and JavaPDF
Two correct implementations can agree in the wrong replay state. Executed transaction histories expose four such cases, while a cached-output baseline shows why slicing adds work for this unchanged-pair validation task.
Choosing which lipid nanoparticles to testPDF
I compared models on matched candidate pools and testing budgets across unseen publications. Tie handling and uncertain readout directions limit the screening claim; source spreadsheets reconstruct 60 retained candidates.
- 2024
How far ahead can we predict a chaotic system?PDF
With the same four noisy positions and known energy, physical state inference predicted near-term escape much better than the learned models. Independent integration also exposed errors in the later numerical event labels.
Which sensors does a distillation column need?PDF
Two measurements can distinguish reflux from feed-composition changes yet estimate them very poorly. A component model, matched-noise fits and sensitivity directions explain why instrument placement matters.
- 2023
Do fault-detector rankings hold up?PDF
I repaired a Bayesian detector’s recurrence and checked it against exact small-case calculations. Replaying the coherent detector on matched test runs retained its large recall deficit, with unequal realized alert burdens.
When prices change, does the best process change?PDF
Published break-even prices and investment values imply incompatible production factors under the stated accounting boundary. The audit identifies that inconsistency without guessing a corrected process result.
- 2022
Choosing where to reuse heatPDF
A lower heat-demand score can still require more supplied heat and cost. I checked that reversal across alternative dispatches and independently reconstructed the retained designs’ training feasibility.
Writing
Education
Columbia University2024-2025MS in Machine Learning
UC Santa Barbara2020-2024BS in Chemical Engineering
BS in Statistics and Data Science