One Codebase, Three Platforms: Making Universal Expo Work in Production
summary
One Expo codebase runs iOS, Android and web to power an AI construction product that surpasses $1M ARR, started by a single frontend engineer. Teams ship via trunk-based development with Expo Application Services for over-the-air updates, deploy web and iOS in four months, and average ~106 frontend PRs/month (131 in April) with ~0.7 hours median PR resolution. Concrete wins: drag‑and‑drop estimate table, Gantt chart, PostHog adapters, route‑level platform splits, and fixes for quirky Facebook in‑app browsers.
AI-written summary · about
chapters (15)
- 0:00Introduction to Universal Expo
- 1:19Company background and challenges
- 2:43Choosing Expo over alternatives
- 3:52Mobile web as a fourth platform
- 5:56Optimizing Facebook ad flow
- 7:00Cross-platform development timeline
- 7:21Trunk based development with Expo
- 9:05Universal does not mean identical
- 10:33Using adapters for platform differences
- 11:17Route-level platform separation
- 12:23Design system as a UI adapter
- 14:11Choosing where UI components differ
- 14:52Complex feature examples across platforms
- 15:55Development speed and team growth
- 17:02Did the bet pay off?








