Solo dev builds autonomous Android agent with 30 tools, on-device Gemma 3 1B, and a hard policy gate
Adventurous-Win6029 · reddit · 2026-09-06
A solo developer built a fully autonomous Android agent in native Kotlin that controls the phone via the accessibility tree, running a full perceive-think-act-verify loop.
Key design:
- 30 tools: flashlight, clipboard, SMS, app launch, web search, navigation in any app; spoken requests get spoken answers even with the app backgrounded.
- Two-tier brain: an on-device Gemma 3 1B handles simple commands (battery, flashlight, opening apps) with zero latency; harder tasks escalate to a 70B cloud model. The router is deterministic — keyword match + intent slots, no model call to decide routing.
- Policy gate: every tool call passes a manifest-checked gate that blocks flagged actions rather than log-and-allow, with operator taps resolving anything flagged. The architecture was ported from a project measuring prompt injection defenses across 112 models.
Other numbers: 134 unit tests, 8/8 device regression, 8.7 MB release APK (R8 minified), named recipes for one-shot teaching and replay of multi-step tasks, and deep perception reading structured data across 20 screens (e.g., product + price from Amazon searches).
The author's core argument: autonomy without a hard gate isn't autonomy, it's a liability — an agent that can do anything the phone can do needs a layer that can say no.
More from coding & agent
- exe.dev turns VMs into agent workbenches: SSH in with a built-in LLM that fixes your server — davidcrawshaw · 2026-09-06
- Memory Trust Gap: agents follow stale memory 92-100% of the time, bigger models fool easier — rohanpaul_ai · 2026-09-06
- Memory Trust Gap: stale agent memory overrides fresh evidence, failures scale with model size — rohanpaul_ai · 2026-09-06
- Stop building AI agents like tiny fake companies: interconnect AI across the whole company — vasuman · 2026-09-06
- Testing Astra: rebuilding Morrowind's atmosphere as a playable browser game in Babylon.js — kimmonismus · 2026-09-06
- Full system prompt revealed: how LLMs control a real robot arm via tool calls — YuXiang_IRVL · 2026-09-06