About Me

I'm a machine learning engineer currently working in Generative AI at Meta.

I have also worked on fairness in machine learning, semantic location understanding, and a few ranking and recommendation projects.

Before Meta, I was at Google, and before that I earned my PhD in Computer Science at the University of Washington.

For much more about what I've done professionally, check out my resume and Linked In profile.

Outside of work, I like birds, cumbia, punk rock and exercise.

Random Personal Projects

Claude writes Thumby games

In about 3 hours, I made two games for the Thumby keychain gaming device using Claude.

The first is a version of Brian Eno and Peter Schmidt's Oblique Strategies cards (useful for shaking yourself out of a creative block). I asked Claude to generate the entire game, then went through a few revisions to get the functionality I wanted. Both during and after the chat iterations, I edited about 20% of the code myself to get exactly what I wanted.

The second is a Magic Eight Ball simulator. For that, I sent exactly six messages to Claude and edited 4 lines of code myself. Interstingly, three of those messages were to iterate on functionality, just as would happen if I were working with another engineer on this. The other three of my six messages were to point out hallucinations Claude made about the Thumby API -- not something I'd expect to do with a human engineer.

I chose these examples because coding animations like these is a task where I enjoy iterating on the final result more than digging into the implementation. Using natural language to describe what I want, then getting that was great. I'll join the chorus in saying that this is a great way to work, and the future of software engineering is going to be Human - AI pair programming.

eBird DB

A Python package for importing eBird CSV data into a Postgres database for easier, faster ad hoc querying.

It works directly with compressed data inside the zip or tar files that eBird provides (which can be upwards of 140GB), and has filters to limit what data is imported, so you can conserve local disk space.

Get it on GitHub