Everything you need to test, demo and ship mobile apps.
VibeView is a cloud simulator streaming platform that puts live iOS and Android in a browser tab. TV platforms, build management, AI testing with visual regression, one-iframe embedding and CI integration — from a single platform.
iOS · Android · Apple TV · Android TV · Roku
Live simulator streaming in a browser tab.
- No local toolchain Stream iOS simulators and Android emulators into any modern browser. No Xcode, no Android Studio, no cables.
- Full interaction Touch, keyboard, gestures and the device controls beside the screen — the same device on day one and day one hundred.
- Inspect while you use it Open the UI tree panel to read the live view hierarchy of the running app, element by element.
Describe a test, run it on every device, watch what it did.
- Describe or record Write what the test should check in a sentence and the AI (beta) drafts the steps for you to review, or record the flow by using a live device.
- Smart replay Recorded and learned steps replay first; the AI takes over only where the screen changed. A passing run saves the route it took.
- Many devices, one run Each device you pick runs in its own session, at the same time when sessions are free (devices wait in the queue when none is): phones and tablets, or Apple TV, Android TV and Roku.
- Video, logs and a screenshot check Runs show a video of the device and the app's log line by line with the step it belongs to. The screenshot check, on by default for new groups, compares each step with its baseline.
Apple TV, Android TV and Roku in the same tab.
- TV alongside phones Apple TV simulators and Android TV emulators run beside your phone and tablet sessions, on the same dashboards and test groups.
- Focus, not choreography The AI agent targets an element and the platform walks focus to it, so TV tests stay short and readable.
- Roku on real hardware Upload your channel, drive the remote and inspect the UI on real Roku hardware, or let your coding agent do it. Recordings, AI test runs (beta) and CI runs work there too.
Build in the cloud, submit from the terminal.
- Signing handled Certificates, profiles and keystores are generated and stored for you, so production builds come out signed.
- Open any build in one click Upload a .app or .apk with a note describing what changed, and open it in a session pinned to that exact version. A React Native debug build runs with your Metro dev server through vibeview dev.
- One command to the store Submit to TestFlight or a Play draft with the version number bumped for you.
Hand the app to anyone with a link, or put it in your page.
- Share links A designer, PM or prospect opens the real app in their browser. No install, no account.
- Embed with one iframe Drop a live device into your docs, landing page or support tool. No npm install, no build step.
- A device per visitor Each visitor gets their own isolated session, so one person cannot disturb another.
Run it from the terminal, your pipeline or your agent.
- CI in any pipeline The command-line tool uploads a build and runs a group of tests against a cloud device, returning JSON and JUnit output.
- Results on the pull request GitHub status checks put pass or fail on the commit, so a regression can block the merge. Webhooks and Slack cover the rest.
- Your coding agent drives Register VibeView as an MCP server and your agent can launch the app, read the UI tree, tap and screenshot on the same device you are watching.
Every detail, covered.
From session hygiene to audit logs, the platform handles the details so you can focus on shipping.
Step editor
Fix a recorded step without re-recording the flow. Edit a step's gestures inline (element selectors, button presses and typed text), and re-record the flow when the screen changed.
Before this test
Reusable setup steps for login, onboarding or navigation. Attach several to any test, in order, and one fix updates every test that uses them.
Read the docsSession hygiene
Sessions start clean: the on-screen keyboard is suppressed at boot, the iOS notifications prompt is pre-approved, and common system prompts are answered mid-run. Alerts your own app shows are left on screen for your test to handle.
Tests as YAML
Export a group of tests as YAML and import it back through the API, so tests can live alongside your code — versioned, reviewed and shared like any other source.
Read the docsBring your own key
Connect your own Anthropic, OpenAI, Google or OpenRouter key, or use the AI included with your plan. Keys are encrypted at rest.
Read the docsWebhooks and Slack
Webhook URLs for downstream pipeline steps and Slack notifications on run completion, routed by status so green runs stay quiet.
Read the docsTeams and access control
Role-based access with Admin, Developer and Viewer roles, organization-scoped resources, and API tokens for CI and programmatic access.
Read the docsSession history and audit logging
Every session and administrative action is logged with timestamps, user attribution and device metadata — filterable by user, date or action type.
Read the docsResults and flaky tests
Pass rate, runs, tests failing now and average duration over 30 days, runs per day, and the tests that need attention.
Read the docsCommon questions
What does the AI testing agent do?
The AI testing agent (beta) reads the live UI of your app and drives it — tapping, typing, scrolling and checking — from steps you describe in plain English. Because it works from what is on screen rather than from stored selectors, a moved or renamed element does not automatically break the test. Recorded steps replay first for speed, and the agent takes over only where it is needed.
How does this run in CI?
A command-line tool uploads a build and runs a group of tests against a cloud device from any pipeline, returning JUnit output your CI already knows how to read. With GitHub Actions the result also appears as a status check on the pull request, so a regression blocks the merge instead of being noticed later. Any CI system that can run a shell command can run it.
Which platforms can I test?
iOS and Android are fully supported, as are the Apple TV and Android TV simulators, which are driven by d-pad navigation rather than touch. Roku runs on real Roku hardware: you can upload your channel, drive the remote, inspect the UI, let a coding agent drive it, and record, replay and run tests on it, in CI too.
How is this different from a real-device cloud?
A device cloud gives you physical phones; VibeView gives you simulators and emulators. Simulators start in seconds, cost less to run and can be handed to anyone with a link — but they cannot reproduce bugs that depend on physical hardware, such as camera capture, Bluetooth peripherals, NFC, cellular conditions or GPU performance. Most teams use simulators for day-to-day work and physical devices for a pass before shipping.
Can I put a live device on my own site?
Yes. The JavaScript SDK embeds a running device in an iframe, so a prospect, reader or reviewer can use the real app inside your landing page, documentation or pitch deck with nothing to install. Sessions can also be shared as a plain link if you do not want to embed anything. With the per-key Agent Control setting turned on (it is off by default), your own team can additionally drive an embedded session from the command line, an MCP client or the API while the visitor watches — the setting changes nothing about what a visitor can do.
Can VibeView build my app for me?
Yes. Cloud builds compile a React Native or Expo app for iOS, Android, Apple TV and Android TV, a native Xcode or Gradle app for the same four, and a Flutter, Capacitor or Kotlin Multiplatform app for iOS and Android, from one CLI command, with no Mac. A simulator or emulator build lands on a cloud device ready to run; a production build comes out signed (.ipa, .aab or .apk), and vibeview submit uploads it to TestFlight or a Google Play track. Signing credentials can be uploaded or generated for you.
What kind of build do I upload?
For iOS, a simulator build — a .app bundle, uploaded as-is or compressed to .zip, .tar.gz or .tgz. An .ipa is a device build and will not install on a simulator, so it is rejected with a message explaining why. For Android, upload the .apk your existing build already produces. The upload limit is 500 MB.