Skip to content
Ramus

DisposableAndroidemulators.

Start one in seconds. Use it from your browser or hand it to an agent, then throw it away.For ad hoc testing, pull request reviews, and agents that build apps.

One device, three jobs.

  • Test a build by hand

    Start a device from the dashboard or the CLI, install an APK, and try it. Throw the device away when you are done.

  • Review every pull request

    Install the GitHub App and each PR gets its own device, built from that branch, linked in the PR.

  • Let an agent build the app

    Claude Code or Codex gets a device it can tap, type on and screenshot. You get a link to watch and take over.

Pull requests, automatically.

With the GitHub App installed, every pull request gets a device. Three steps from an open PR to the app running in front of the reviewer.

Agents get the same device.

The CLI starts an emulator, reads the screen as a tree of elements with refs, and taps, types and screenshots by ref. Claude Code or Codex runs it as a tool. It prints a watch link: open it to see what the agent is doing, and take over whenever you want.

ramus-cli
agent

$ npx ramus-cli trial

{ "trial": "active", "expiresAt": "…T04:12Z" }

$ npx ramus-cli session start --apk app-debug.apk --wait

{ "id": "9f3c…", "status": "active",

"watchUrl": "https://ramus.dev/sim/9f3c…" }

$ npx ramus-cli snapshot --find "Sign in"

{ "gen": 1, "elements": [ { "ref": "e3", "text": "Sign in" } ] }

$ npx ramus-cli tap e3 --gen 1 --expect "Welcome"

{ "tapped": "e3", "verified": "Welcome" }

Works with what you build.

No configuration. The build reads the repository, detects the framework, and runs the right build.

  • Kotlin

    settings.gradle.kts

  • Jetpack Compose

    androidx.compose on the classpath

  • Expo

    app.json with expo

  • React Native

    react-native in package.json

  • Flutter

    pubspec.yaml

Isolated, then deleted.

  • Isolated by default

    Each emulator runs in its own hardware-isolated virtual machine, on servers we own.

  • Only the branch it builds

    Ramus clones the branch to build it, and nothing else. Your production data and secrets are never involved.

  • Deleted after use

    Each build runs in a fresh environment that is deleted when the session ends.

A device when you need one. Gone when you don't.