npm create mobile-surfaces
Mobile Surfaces

Live Activities for
Expo iOS.

A typed wire format for Live Activities, Dynamic Island, widgets, and controls. One snapshot shape your backend, your app, and your push payload agree on. iOS 17.2 and up.

npm create mobile-surfaces
Mobile Surfaces

Live Activities for
Expo iOS.

A typed wire format for Live Activities, Dynamic Island, widgets, and controls. One snapshot shape your backend, your app, and your push payload agree on. iOS 17.2 and up.

npm create mobile-surfaces

What is Mobile Surfaces?

The typed wire format that sits above your ActivityKit bridge. One snapshot shape (LiveSurfaceSnapshot) that your backend, your app, your widget extension, and your APNs payload all agree on. It ships with a contract package, a Node push client, and a catalog of iOS silent-failure modes enforced as CI checks. A reference app wires all of it end to end. Built and maintained by one person as a reference architecture.