Bring your own agent.
One desktop app, four runtimes. Cloud-strong or fully local — every profile drives real iOS simulators. Models and effort levels are read live from each CLI.
Watch it test. Live.
The agent's reasoning streams on the left — every simulator it drives paints live on the right. Up to four per run; the agent decides what to boot.
view-only MJPEG · up to 4 simulators per run
Plain language in. Evidence out.
Write the test the way you'd brief a QA engineer — testcat turns it into actions, verifications, and a verdict you can trust. A completion gate cross-examines every success claim: no executed actions, no pass.
Install the build on two simulators. Register with a fresh account on each, buy the cheapest eSIM with the test card, and verify the order appears in both accounts' history.
- fresh accounts registered on both simulators
- checkout completed with test card · order id captured
- order visible in history on device A and device B
Simulators — and your real iPhone.
The agent drives physical devices through an XCUITest runner testcat signs and installs for you.
Every run, replayable.
Chat, tool calls, screenshots and network traffic — persisted to a local SQLite dashboard. Nothing leaves your Mac.
failed runs keep their full evidence trail — reproduce from the exact step that broke
Small local models,
guided to the finish.
Before a weak local model runs, a strong model explores your build once and caches an app map + login flow. Runs then replay login deterministically with fresh per-run accounts — credentials injected at runtime, redacted in logs.