Instagram Share Extension

Fall 2019

Instagram's share extension, rebuilt in Swift.

iosswiftdeveloper infrastructure

This was technically a job, but it remains one of my favorite projects.

The Instagram share extension for iOS lets people share content from other apps directly into Instagram Stories. In fall 2019, I rebuilt the extension as an intern on the IG Mobile Foundation team, rewriting it from Objective-C to Swift. It was my first serious mobile project. I had 12 weeks to ramp up on iOS, navigate Meta’s internal tooling, and ship a working extension. For a small app, a share extension might be straightforward. For Instagram, it took more than 120 diffs. By the end of my internship, my code had already run millions of times. Today, the extension is rolled out at full scale on billions of users’ devices.

The project became an early test case for Swift support in Meta’s iOS developer tooling. At the time, many internal tools did not fully support Swift, so the rewrite exposed gaps around debugging, Swift/C++ interoperability, missing symbols, and build tooling. When I later joined Meta full-time, I joined the iOS DevX team responsible for making Swift support better for thousands of iOS engineers.

The engineering story is only half of why I still think about this project. Watching myself and my friends use this thing I had built, I quickly realized the share extension turned private product activity into public identity. Spotify Wrapped, Strava sessions, memes, screenshots, status signals, and subculture references became things people could carry into their existing social graphs via Instagram Stories.

Small pieces of infrastructure can change how behavior travels across the internet. A good sharing surface does not just move content from one app to another. It gives people a way to say: this is who I am.