Projects

Agentic E2E Testing Platform

Retrica | 2026 | Android · iOS

Claude Code Android iOS CI/CD
Photo of the test device rig

The test rig: two Android phones and two iPhones on stands, each facing a printed portrait so camera and selfie flows run against the same face. Baymax supervises.

An AI agent tests the mobile app end to end on every pull request. It drives real Android devices and iOS simulators, captures proof of each step, and reports the result back to the PR. No hand-written test scripts.

How it works

01

Pull request

A PR is opened or updated on GitHub. A runner picks it up and installs the fresh build on each device lane.

02

Agent drives the app

Claude Code reads the PR, decides what to check, and operates the real app like a tester: tap, type, swipe, read the screen.

03

Named flows

Smoke, login, generation, paywall and more run in order. Each flow records screenshots, a video and logs, with retries on flaky steps.

04

Verdict

Every flow gets a pass/fail verdict with a reason. The run is archived and the summary goes back to the PR.

Architecture

Architecture GitHubpull request RunnerGitHub Actions AgentClaude Code Android phone A · ADB Android phone B · ADB iOS simulator · simctl Evidencescreenshots · video · logs Web consolelive board · runs Verdictpass / fail + reason back to the PR

One pull request flows through the runner and the agent into three device lanes; the evidence feeds the console and the verdict goes back to the PR.

Android

Two physical phones run in parallel as independent lanes.

Live board: one lane per device, with the latest run and its flows.

Runs: every archived run, grouped by job, then one run opened.

Run detail: per-flow results, screenshots and the logs kept as evidence.

iOS

Simulators run the same flows for the iOS app on a separate Mac.

iOS run detail: same flows, screenshots and evidence from the simulator.

What I built

  • Run orchestrator: one lane per device, parallel runs, stop and retry control.
  • Flow runner that turns a short flow definition into agent actions with a step budget.
  • Evidence capture: screenshots, screen video and device logs for every try.
  • Web console with live status, archived runs and GitHub PR links.
  • Cost and health tracking per flow, so flaky flows surface quickly.

Stack

Claude Code Python ADB Xcode simctl GitHub Actions HTML / JS

Internal tool. Names, identifiers and PR details in the recordings are masked.

Projects