Work

Agent infrastructureQualGent (YC X25)Software Engineer Intern2025Shipped

App Crawler

Walks an Android app screen by screen and writes down how it works, so other agents don’t have to figure it out themselves.

<1% task failure rate at scale

Problem

AI agents are only as good as the state they can see.

Mobile apps make that hard: screens are dynamic, flows branch, and failure states pile up quickly.

Approach

At QualGent I architected App Crawler, reporting to the CTO.

The hard part was never the crawling. It was keeping state, recovery, and scale sane while running across messy mobile flows that break in ways nobody designed for.

How it works

A distributed Python system that indexes Android apps into a knowledge base other agents read from.

A depth-first traversal of an Android UI, five screens deep
  1. 01

    GPT-4o depth-first agent using Set-of-Marks prompting and uiautomator2 to traverse app UIs through ADB.

  2. 02

    Event-driven backend: a Supabase-queue watcher spawning per-app Kubernetes Jobs, an AAB to APK converter, and remote emulator leasing from a managed GCE fleet.

  3. 03

    Self-healing CronJobs, with the extracted state landing in a Vertex AI RAG corpus.

DFS agent, Set-of-Marks, Vertex AI RAG corpus

Impact

Became core infrastructure inside QualGent, feeding the knowledge base its QA copilot reads from.

Built with

Python · GKE · Kubernetes · GCP · Vertex AI · GPT-4o · ADB

Built inside a company codebase, so there’s no public source to link. Happy to talk through the design.