Apple
Applied AI Software Engineer Intern- Working on applied AI and ML tooling focused on product quality
CS and Math at Stanford. I'm currently building applied AI tools at Apple. Most of my work is machine learning: training models, building the pipelines around them, and figuring out why they behave the way they do.
Roles across AI, ML, and research
Day to day that means training models, building the pipelines that feed them, and digging into why they behave the way they do. I like that you can measure whether something actually works.
The same interest led me to research at Stanford, where I spent a summer with the Empirical Security Research Group measuring how real systems behave in the wild. Model or network protocol, I like building the tools that turn messy behavior into something you can reason about.
Each one is open source, links on GitHub
Real time food waste intelligence for dining halls.
A full stack platform that watches a dining hall in real time and tells operators exactly what food is being wasted. It detects waste from live camera frames with vision models, dedupes events with structural similarity checks, syncs Stanford menus, and turns everything into dashboards and smart purchasing recommendations.
Predicting penalty kicks from real World Cup data, then simulating them in 3D.
I took real World Cup shootout data and built models that predict whether a player scores, using features like favored foot, where they aim, and whether it is an elimination kick. The analysis spans Monte Carlo, Bayesian, and Thompson sampling approaches, then feeds a 3D simulation that plays the shot out on the pitch.
A computer vision pipeline built around data quality.
An ML infrastructure pipeline for computer vision that treats data quality as a first class concern. It handles edge case detection and validation so that models train on clean, representative inputs, the same instinct I brought to model work at Scale.
A miniature memory leak analyzer for macOS on Apple Silicon.
Point it at a running process and it answers two questions: which allocations are unreachable from any root, and which of those form retain cycles. It attaches over the Mach interface, snapshots every malloc zone, scans thread stacks and data segments for roots, then runs BFS and Tarjan to surface leaks. Ships with a React and D3 force graph viewer that renders the whole heap.