Back to work
InternshipSummer 2025

Software Engineering Intern

Nextdoor

I was on the Local News Ingestion team — the pipeline that brings in and classifies thousands of news articles daily.

Most of my time went into image understanding. Thumbnails were coming in unscreened as the team had no way to verify what was in them at scale, some violating content policy. I built a pipeline using vision and language models to describe images and flag risky ones before they hit the feed. Rolled it out gradually, saw a real drop in unclassifiable articles and policy violations. Lots of production wiring: metrics, error handling, killswitches, handoff docs so the team could actually own it after I left.

I also found a query burning hours of CPU every day and slowing down the whole ingestion flow. Refactored it — better indexes, smarter filters, bounded lookbacks — got it under a minute. Big win for latency and cluster load.

Other projects: built an RSS URL update flow for when publishers moved feeds, and worked on Faves with a couple teammates — intent-aware actions so users could do things like make reservations from the app. Won Best in Show at the internal hackathon.

The thing I took away: the shape of what you feed a model matters more than the model. We tried classifying images into fixed categories and it biased the article classifier downstream. Switching to short descriptions — and only adding them when confidence was high — worked way better. Sometimes less signal, but better signal, is the move.


Personally — I met some incredibly great people, loved seeing my work roll out to real users, and fell in love with San Francisco and the energy of the Bay Area.

Nextdoor interns, Summer 2025

Built with

PythonML PipelinesData InfrastructureBackend Systems