A faster way for agents to test our apps
Our internal tool for testing the mobile apps we build. Instead of sending a screenshot to a large model at every step, it reads each screen as text and lets a fast model decide where to tap, so an agent walks a whole app in minutes.
On a real app we build.
Few bugs: the app was in good shape, and Scout caught the ones it had.
Details automated tests miss: wording, cut-off text, wrong states.
Jev reads the screen as text. No screenshot goes to a large model.
Manual testing on mobile is slow, and slow means costly. It also depends on the tester: tired or rushed, a person misses things automated tests and code review don’t catch either, like a price that doesn’t display, a button that does nothing, or a screen that quietly fails to load.
Agents can already test an app, but slowly: at every step they take a screenshot, send it to a large model and wait for it to decide where to tap. Walking a whole app that way takes too long to do on every change.
We started Scout on 26 September 2026 to make it fast enough to use on every app we build. It is our own tool for our own work: clients get the tested app, not the tool.
Step by step.
- 01
An agent opens the app in a phone simulator and uses it like a person: it taps, types and moves between screens.
- 02
It reads each screen as text, not as an image. Jev, a small and fast model, decides the next tap in about a quarter of a second. The large model only steps in to fix bugs.
- 03
After every step it checks for problems: crashes, error messages, broken text, buttons that do nothing.
- 04
When it finds a bug, it stops and records the evidence: screenshots, what it tapped and what went wrong.
- 05
A coding agent fixes the bug. Scout reloads the app, repeats the same steps and confirms the problem is gone before it carries on.
- 06
It never touches anything that could delete, pay, send or sign out, and it only uses test servers and test accounts.
Built with Phone simulator · An agent that taps like a person · Jev by TypeSafe · A coding agent for the fixes · Test accounts and test data
On a real app, a 25-minute run covered 56 screens and found 4 bugs, which it fixed and verified on its own. Few bugs means the app was in good shape; the ones it had, Scout caught.
Two testing passes on the same app led to 11 fixes: wording, a cut-off line, a screen that said the wrong thing, a status bar in the wrong colour. Small things automated tests miss.
Speed was in waiting, not thinking. Most of each step went into waiting for the app to settle. Waiting smarter cut a typical step from 6 seconds to under 3.
False alarms were the first cost. We made Scout much stricter before it calls something broken, so it stops only for real problems.
What we decided.
Adopted for our own work. Scout runs on the apps we build before they reach a client. It stays an internal tool: clients get the tested app, not Scout.
You don’t use Scout: you get an app that has been through it. On a mobile app we build for you, that means:
- Every release walked screen by screen before it reaches you.
- Bugs fixed and checked again on the same path that found them.
- The small things automated tests miss: wording, cut-off text, buttons that do nothing.
- Testing on test servers and test accounts, never your real data.
- An internal tool. Clients get the tested app, not Scout.
- Test servers and test accounts only. It never touches real data.
- It finds what is clearly broken. It doesn’t judge design, speed or security.
Run it automatically on every release, not only from an engineer’s Mac.
Can an AI agent test a mobile app in a phone simulator?
Yes. Ours reads each screen as text and decides each tap with a small, fast model instead of sending screenshots to a large one, so it walks an app in minutes and stops on each bug with evidence.
How does it avoid tapping destructive buttons?
It never touches anything that could delete, pay, send or sign out, and it only runs against test servers and test accounts.
Which apps does it work with?
Mobile apps, including those built with React Native, Expo and Flutter. So far we have run it on test apps and on a real app we build.
Can we use Scout on our own app?
It’s an internal tool. We use it on the apps we build for you, so you get the tested result.