All work

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 h
    first commit to code freeze
  • 11
    skills across 7 apps
  • 52 / 55
    reuses with zero AI calls
  • 4–5 s
    to run a learned skill
The Stitch studio driving a real phone over USB: a capability learned once, then reused as code with zero model calls
The Stitch studio driving a real phone over USB: a capability learned once, then reused as code with zero model calls

How it fits together

  1. 1Request in plain English
  2. 2Explore accessibility tree
  3. 3Compile + validate
  4. 4Test on device
  5. 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

KotlinNode.jsNext.js 16Tailwind 4MCP SDKscrcpyffmpeg