I recently shipped Add to Calendar: AI Events — an iOS app that turns screenshots and text into calendar events — built with Expo SDK 52 and React Native's new architecture. The code is open source (MIT).

The happy path in the Expo docs is genuinely good. This post is about everything that isn't on the happy path: the things that cost me hours, in the order they'll probably cost you hours too.

1. An iOS Share Extension will dominate your build config

The single hardest feature to ship was also the app's core flow: share a screenshot from any app → extension hands it to the main app → AI extracts the event. I used expo-share-intent, which is excellent, but a share extension is a second binary target, and EAS Build needs to be told about it explicitly.

Three things have to agree with each other or the build dies: