Black Friday30% off your first month. See prices →
VibeView

Integration

Build, Run and Ship an Expo App in the Cloud

VibeView builds a managed Expo project in the cloud with one command — no Mac, no ios/ or android/ folder in git — and the build lands on a cloud iOS, Android, Apple TV or Android TV device that attaches to the Expo dev server you already run. When it is ready, the same CLI makes a signed production build and sends it to TestFlight, Google Play or the Amazon Appstore. Already on EAS Build? Upload its simulator build instead; everything after the build works the same.

How it works

  1. 01

    Build in the cloud

    Run vibeview build --cloud from the project root. For a managed project the CLI suggests a build command that installs dependencies, runs npx expo prebuild and drives the native build, and saves it to vibeview.json as the development profile, a debug build that loads its JavaScript from your dev server. Accept the suggestion and it also saves a preview profile: the same build in Release, with the JavaScript inside, for share links, tests and GitHub pull requests. The finished simulator or emulator build attaches to your app in VibeView, ready to open on a device. Expo Go is not your app — a cloud build or a simulator-profile EAS build is.

    npm install -g vibeview
    vibeview login
    
    vibeview build --cloud --platform ios
    vibeview build --cloud --platform android
    # The build that runs without the dev server
    vibeview build --cloud --platform ios --profile preview
  2. 02

    Attach the Expo dev server

    Start Expo as usual and run vibeview dev. The CLI recognises Expo's dev server as well as bare Metro, so hot reload works the same way — save a file and the cloud device updates. It checks the dev server is reachable before creating a session rather than opening one your app cannot talk to.

    # terminal 1
    npx expo start
    
    # terminal 2
    vibeview dev
  3. 03

    Sign and submit

    Build the production profile for a signed release build: VibeView can generate the Android keystore and, with an App Store Connect API key, the iOS certificate and profile. Turn on autoIncrement and the build number comes from VibeView, so a store never rejects a reused one. vibeview submit then uploads the build to TestFlight and sends it to your tester groups with What to Test notes, or to a Google Play track.

    vibeview build --cloud --profile production --platform ios
    vibeview submit --platform ios --latest --group "QA team" --what-to-test "Try the new onboarding"
    
    vibeview build --cloud --profile production --platform android
    vibeview submit --platform android --latest --track internal
  4. 04

    Bringing an EAS build instead

    Use a profile with "ios": { "simulator": true } and upload the .app with vibeview upload-app; an .ipa is a device build and will never install on a simulator, and the rejection message says so. For Android, the .apk the build produces works as-is.

Full setup instructions live in the documentation.

Add Expo to your pipeline

Start free and run your first check on a live device.