A self-improving Android agent, built solo in one night
STITCH
Built alone at an overnight hackathon (Etnetera, Prague, case “Frankenstein”). You ask the phone for something in plain English. If it can't do it yet, it learns how, tests what it learned, installs it as a versioned skill, and from then on runs it as code with no AI at all.
- When
- Oct 2026
- Role
- Solo · Agents 0.0.7 hackathon
- Status
- Hackathon build
- 10.5 hfirst commit to code freeze
- 11skills across 7 apps
- 52 / 55reuses with zero AI calls
- 4–5 sto run a learned skill

How it fits together
- 1Request in plain English
- 2Explore accessibility tree
- 3Compile + validate
- 4Test on device
- 5Versioned skill + MCP tool
How it works
- An accessibility service plus a custom keyboard on the phone read the screen in about 20 ms and perform taps, typing and scrolling.
- When no skill matches, the explorer walks the app through the accessibility tree and the compiler turns the steps into a parameterized program with stable selectors, templates and a permission manifest, validated by about fifteen checks.
- No passing test on the device, no install. Skills live in a versioned registry with rollback, and a broken step can be repaired into v2.
- Skills compose: “ask Claude for a poem and send it to Petr on WhatsApp” chains two learned skills.
- Learn once, run on a fleet: one of six emulators learns, the other five reuse the skill instantly.
- Every skill is also exposed as a live MCP tool, so Claude Code or Claude Desktop can call it.
Safety by design
Its skills grow, its authority doesn't. A learned skill is data run by a fixed interpreter, not code the model wrote. Anything that sends, pays, deletes or accepts terms stops at the button and asks a human: allow once, always for this skill, or deny. AI calls and spend per run are capped in code and unit-tested. The repo documents what is still fragile or simulated, because that was part of the judging.
Stack