App Crawler
A GKE-distributed crawler that indexes Android apps into an org-wide knowledge base for downstream agents.
- Software Engineer Intern
- QualGent (YC X25)
- 2025
- Shipped
<1%
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.
What I built
A GKE-distributed Python system that indexes Android apps into an org-wide knowledge base, using a GPT-4o DFS agent with Set-of-Marks and uiautomator2 to traverse UIs via ADB and populate a Vertex AI RAG corpus.
Architecture
GPT-4o depth-first agent using Set-of-Marks prompting and uiautomator2 to traverse app UIs through ADB.
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.
Self-healing CronJobs holding a sub-1% failure rate at scale, with the extracted state landing in a Vertex AI RAG corpus.
Impact
Held a sub-1% failure rate at production scale and became core infrastructure inside QualGent, feeding the knowledge base that the company's QA copilot reads from.
<1%