Skip to content

Introduction

tapflow lets your QA team run iOS simulators and Android emulators directly in the browser — without Appetize, BrowserStack, or any external cloud.

Why tapflow?

SolutionProblem
Appetize / BrowserStackExpensive, app data leaves your network
Physical devicesCost, loss, management overhead
Xcode / Android Studio directlyEvery QA team member needs their own Mac + Xcode or Android Studio setup
tapflowUse infra you already own, data stays on-prem

How it works

  1. A Mac Agent connects outbound to the relay — no inbound firewall rules needed.
  2. QA opens the dashboard in any browser and sees all available devices.
  3. Touch events are forwarded in real time; the screen streams back to the browser.

Streaming format by platform

  • iOS Simulator: JPEG frames (~30 fps)
  • Android Emulator: H.264 stream (~30 fps, scrcpy-based)

Visual quality and latency may differ between the two.

Key concepts

  • Relay — the central server. Routes traffic between agents and browsers. Deploy once.
  • Agent — runs on Mac (iOS and Android). Connects to the relay.
  • Dashboard — the React SPA served by the relay. No separate deploy needed. Includes App Center (build management), Mac Resources (agent monitoring), and more.

Released under the MIT License.