defy.works
/ lab / expo-builder
LABWriteup

Build Expo/React Native apps in ephemeral macOS VMs on a remote Mac, from any OS.

Type
Writeup
Output
Independent
Tags
TypeScriptBunTart
scroll · read
§ 02Notes

Context

EAS Cloud builds cost credits and queue time. Running eas build --local on a bare-metal Mac works but accumulates state. Homebrew updates break Xcode's exportArchive, PATH conflicts pile up between tools, and every dependency is a potential failure point.

§ Process

Process

Each build starts from a frozen Tart VM image. The VM boots in about 20 seconds, runs the build inside a clean macOS environment with Xcode pre-installed, and gets deleted afterward, with no debugging stale state. The CLI wraps SSH and rsync to push project files, kicks off the build remotely, and pipes back the artifact. Persistent build cache for Bun, Gradle, and CocoaPods lives on the host and is symlinked into the VM via VirtioFS, so cold-start cost stays small. Also wraps EAS Cloud builds, store submission, OTA updates, and local device installs through one interactive CLI.

TypeScriptBunTartmacOS VMsEASrsync
Role
Solo
Dates
2026
Distribution
GitHub - MIT