← Projects
React Native at Amazon icon

React Native at Amazon

LaunchedDeprecated

The conference app for Amazon's internal React Native conference — enterprise-signed builds distributed to every attendee, on a build system I'd built for a different app entirely.

amazonreact nativeiosbuild systemsconference

React Native at Amazon was the company's internal conference for the several dozen teams shipping React Native across Amazon's apps and devices. I built and maintained the conference's own mobile app, across the 2019 and 2020 editions.

Screenshot 1
The 2019 edition.

Why it existed as engineering work

The interesting part was never the app itself, because the interesting part was getting the app into people's hands. An internal conference app has to be signed with enterprise certificates, and it has to be distributed to every attendee, and all of that has to run on a build system that actually exists.

I had just rewritten the iOS build system and the Android build system for the Echo Look app, so that they would generate and consume React Native JavaScript bundles automatically through Amazon's internal build tooling, and that work is described in React Native Multi-Root Architecture. That approach became the template, and so I stood up the same enterprise-certificate-signed pipeline for the conference app, and the conference app in turn became the reference that other teams pointed at when they needed one of their own.

The 2020 edition grew into a set of role-specific experiences — separate builds and views for attendees, presenters, coaches, and planners.

RNA20 attendee badgeRNA20 presenter badgeRNA20 coach badgeRNA20 planner badge
Four roles, four builds.

What I took away from it

Building the conference's app meant also being in the room for its content. My notes from those sessions are mostly about the React Native runtime's then-forthcoming rearchitecture: the move off the classic async, batched, serialized bridge toward JSI, a C++ interface directly into the JavaScript VM that permits synchronous execution where it's genuinely needed — interactive gestures, controlled text input, efficient data exchange — with React Fiber making concurrency safe on a single thread. Alongside it: view flattening and pre-emptive batched allocations for recycling, Yoga computing layout off the main thread, and a port of the React Native APIs to living-room devices implemented purely in TypeScript against DOM-like and canvas-like platform APIs, with no native bridge at all.

That was the era when React Native stopped being a bet and started being infrastructure instead.