Agent Device
CLI to control iOS and Android devices for AI agents
Expensify uses agent-device for bug evidence. Its usage story covers collecting evidence from mobile apps and profiling.
Testing utilities in our open-source toolkit for checking React Native behavior.
What you get
Plain-language specs executed identically across iOS, Android, web, and TV.
Screens, flows, and outputs compared across platforms to expose divergence.
Runs on physical hardware through Agent Device, where gestures and rendering actually differ.
Issues reported per platform with recordings and reproduction steps.
Shared-code changes checked on all target platforms before merge.
A clear view of which platforms each critical flow is verified on.
Scope → Build → Scale
We select a product workflow, define where agents act, and agree the controls and success measures.
We connect context, agents, and verification to your tools, then run the workflow on your product backlog.
We document the workflow, transfer ownership, and extend it across teams and products based on results.
Case studies




Cross-Platform Code Verification
Every platform verified from a single QA flow, wired into your delivery.
Their engineers proved to be a crucial part of our mobile app relaunch project.

We’ll connect you with the right expert within 24 hours.
Still have questions?
iOS, Android, web, and TV platforms (tvOS, Android TV), plus desktop where your product ships there. Coverage follows your actual release targets.
Unit tests verify logic in isolation. This verifies real behavior on real platforms - rendering, gestures, native integrations - where shared code diverges in practice.
No. One plain-language spec runs everywhere. The agent handles platform differences in execution, and flags differences in outcome.
The agent drives platform-native input - remote navigation on TV, gestures on mobile, keyboard on web - as part of the same flow.
As a standard check: PR-triggered runs post evidence and diffs into the pull request within minutes.
Retries with evidence comparison, quarantine for unstable flows, and a deterministic suite for critical paths, so a flaky run never blocks a clean merge silently.