Open to Summer 2027 · PM & SWE
I build the thing, then I find out if it worked.
I'm a CS student at Stanford on the HCI track, minoring in MS&E. Right now I'm a product and full-stack engineer at Ditto, a campus matchmaking app, where I work on retention, match prioritization, and the sentiment system.
stanford '28
About
I work somewhere between product and engineering, and at Ditto I don't really separate the two. I'll write the PRD, build the thing, and then a couple of weeks later I'm the one looking at what the numbers did. That last part is my favorite. It's where you find out whether the idea was any good, and it's usually more surprising than I expect it to be.
I got into all of this through robotics. Two years training perception models for an apple-picking arm taught me how much distance there can be between a number on a slide and a machine in an orchard, since 86% accuracy is a genuinely good result and also means the arm comes back empty more often than you'd like. I've been interested in that gap ever since. Since then it's been behavioral research on how people reason about cause and effect, and consulting work that was mostly about turning a hundred user interviews into something a team could build.
What connects all of it is that I really want to know whether something worked. I'd rather build something small I can measure than something big I can't, and I'd much rather find out I was wrong early than stay confident for months.
Outside of work I'm music director for an a cappella group and I play in the Stanford Wind Symphony, and I spent a term at Oxford studying platform regulation and AI ethics, which I ended up loving more than I expected to. I'm always happy to talk about matching algorithms or four-part harmony.
Selected work
Four of these run in production at Ditto. Each write-up goes through what was broken, what I built, and what happened once it shipped.
Deactivating was the only way to step back, so people used it for things that weren't permanent. I built the in-between state: a pause flow, timed auto-resume, and an exit hub, out to 18K users in a week.
Ditto guarantees some users a match, and the matcher was keeping that promise 37% of the time. Adding priority tiers to a weighted Gale–Shapley / Edmonds' Blossom matcher without gutting overall volume.
A post-date feedback chatbot that learns what someone actually wants, feeding a production sentiment system that now scores the entire active user base. Two per-surface scores instead of one blended average.
Your friends vote on you across six dimensions, an LLM writes up who that makes you, and the results page hands you back to Ditto. Instrumented from the CTA all the way through onboarding.
Hospitals decide who gets discharged and who gets a bed mostly without forecasting. Two surfaces for two different jobs, over a multi-agent backend that streams every decision before it executes.
Also built
Side projects and research, all of which either shipped to real users or ended up published.
Students had no way to share rides home over campus breaks. I scoped and shipped the MVP solo. 400+ posted rides, now expanding campus-wide with Students for a Sustainable Stanford.
A YOLOv8 perception model locating apples for a real-time robotic harvester. 100% accuracy unoccluded, 86% under occlusion in field tests. First-author findings at ICRA '23.
Splits a track into stems and lets you remix it live. Librosa and MSAF for BPM, key, and section detection, with chunked processing so long sets don't blow up memory.
Experience
Roughly in order. Where something already has a write-up above, I've linked to it instead of saying it twice.
Product engineer on a campus matching product. I own retention, match prioritization, and the sentiment system, from the PRD and measurement plan through to the production code and whatever the number does after.
Written up above: The Pause Revamp · Three-Tier Match Priority · The Sentiment Loop · The Yearbook
Off the clock
Contact
Looking for PM and SWE roles for Summer 2027. Ideally somewhere I get to help figure out what to build and then build it, working with people I can learn a lot from.