The Five Eras of AI-Assisted Android Development

keystroke function task goal ticket

Somasundaram Mahesh
GDG Chennai · I/O Connect · August 1, 2026

who's talking?

Somasundaram Mahesh


  • Android Engineer · building mobile products for 11+ years
  • Founding Engineer at AGI, Inc (San Francisco) · building an AI phone
  • Shipped products used by millions, learned most of this the hard way
  • @msomuin on X · msomu.com
"Ten years ago my most-used feature in the IDE was Ctrl+Space.

Last night I closed my laptop, and a machine finished my ticket and opened a pull request while I had dinner." How did we get from one to the other? Five acts.

receipts · this actually happened

SM
Somasundaram Mahesh
Founding AI Engineer | Co-founder at UnitedBy.AI | Organiser at GDG · 1w

Bought a domain in the morning. Explained the idea to Claude Code, hit go, and went out for a 5k run.

An hour later, back home and sweaty, opened the laptop expecting to debug something.

The site was live. On the actual domain. Working pages, a list of games, booking that worked. The only thing left for me was the boring stuff. Payment keys, a few small fixes.

The gap used to be between having an idea and having something a person can open in a browser. That gap used to take weekends. This one took a run.

👍 30 · comments · reposts

watch one number the whole talk

The unit of work the AI handles


keystroke function task goal ticket

It only ever gets bigger. Every era transition in this talk is this bar moving one step right.
One honesty note up front: the eras overlap in reality. Autocomplete still lives inside agents.
They're a narrative device, not sharp boundaries.

01

The Autocomplete Era

"help me type" · ~2001 to 2021

keystroke function task goal ticket

era 1 · the baseline everyone knows

Deterministic IntelliSense


  • IntelliJ IDEA under Android Studio: prefix matching, symbol resolution, auto-imports
  • Getter/setter generation, override stubs, live templates
  • Not intelligence. A lookup table with good manners

The Android pain it eased:

  • The sheer ceremony of Java/Kotlin Android: findViewById, lifecycle overrides, verbose anonymous listeners, import management

era 1.5 · the inflection

From ranking tokens to writing thoughts


  • ~2018-2020: ML-ranked completions. JetBrains and Google both shipped experiments (the Dart/Flutter "ML completion" flag in Android Studio, circa 2020)
  • 2021: GitHub Copilot technical preview, powered by OpenAI Codex
  • Ghost text that completes whole lines and function bodies from a comment
  • The mass-market moment autocomplete became generative

The visual jump from "completing a word" to "completing a thought" is the whole Era 1 → 2 story.

did it actually help?

The controlled study says yes


55.8%
faster task completion with Copilot (GitHub Next / Microsoft Research, Kalliamvakou et al.)
1h 11m
vs 2h 41m without · P=.0017, 95% CI [21%, 89%]

Honest caveat: one well-defined JavaScript task, ~95 developers, study by the tool's maker. Directionally true, corroborated broadly. Not a universal constant.

"Autocomplete finished your line.
But you still had to know what line to write.

Next: the machine writes the whole function.
You just describe it."
keystroke function task goal ticket
02

Describe It, I'll Write It

LLMs writing functions & blocks · 2021 to 2024

era 2 · the conversation arrives

English in, code out


  • Nov 2022: ChatGPT makes "describe a function, get code back" mainstream. But you leave the IDE and copy-paste
  • Copilot Chat brings the conversation into the editor
  • May 10, 2023 · Google I/O: Studio Bot lands in Android Studio Hedgehog, powered by Codey (PaLM 2 family)
  • US-only at launch → 170+ countries by September 2023
  • Generate code, explain errors, ask Android questions, all inside the IDE

era 2 · the upgrade cycle

Studio Bot grows up


  • April 2024: renamed "Gemini in Android Studio" (Jellyfish), upgraded to Gemini 1.0 Pro, 180+ countries, multimodal starter template
  • Stable in Jellyfish across 200+ countries in 2024
  • May 2024: improved AI code completion with Gemini 1.5 models
jump in Google's internal developer-productivity metric
+40%
relative increase in suggestion acceptance rate since launch

era 2 · what it solved for android

The boilerplate killer


  • Generate a ViewModel, a @Composable from a description, Room DAOs, data classes
  • RecyclerView adapters and repetitive unit tests on demand
  • Convert XML layouts to Compose. Every Android dev in this room feels that one

for the non-android folks

A Composable ≈ a React component. A ViewModel ≈ your state holder/controller. Gradle ≈ npm/webpack, but slower and angrier. That's all the translation you need.

"Now the AI could write a function.
But it couldn't press Run.

It couldn't see the red squiggle, run the build, read the stack trace.
It wrote code blind. The next era gave it hands."
keystroke function task goal ticket
03

Agents That Press Buttons

tool-using agents · 2024 to 2025

era 3 · the framing shift

"Do the task", not "help me type"


  • March 12, 2024: Cognition launches Devin, "the first AI software engineer". Shell + editor + browser, plans and executes multi-step tasks
  • Launch claim: resolves 13.86% of SWE-bench issues end-to-end vs the prior unassisted 1.96%
  • Honest note: the demos were later criticised as cherry-picked. But the framing stuck and reoriented the whole industry
  • GitHub's Copilot Workspace pushed the same idea into the GitHub-native flow

era 3 · the android milestone

Agent Mode + Journeys I/O · May 20, 2025


Journeys

  • Describe a user journey and assertions in natural language
  • The model executes the test on real or virtual devices, results in the IDE
  • Directly attacks flaky, expensive UI testing. No hand-written Espresso boilerplate

Agent Mode

  • "Extract all hardcoded strings to strings.xml". "Implement this screen from a screenshot"
  • Multi-file plan, reads/modifies code, builds, iteratively fixes, under your review
  • Stable in Narwhal Feature Drop, July 2025 · paid tiers get 1M-token context

era 3 · the most relatable agent alive

The Version Upgrade Agent


  • Analyzes your project, parses release notes
  • Updates libs.versions.toml dependencies
  • Builds. Hits errors. Fixes them
  • Repeats until green, then writes you a report

Dependency-upgrade hell is the chore every Android team defers for months. Watching a machine grind through it is the biggest empathy moment in this talk.

"An agent that can build and fix once is useful.

But real work isn't one step. It's try, fail, read the error, try again, until it's actually done.

The next era let the agent loop."
keystroke function task goal ticket
04

Loops Until Green

goal-seeking agents · 2025

era 4 · why loops matter here more than anywhere

The Android inner loop is slow


  • Gradle sync → compile → lint → unit tests → instrumented/UI tests on an emulator
  • Every stage can fail, and every retry costs minutes
  • An agent that runs ./gradlew build, reads the failure, patches, and re-runs is doing exactly the cycle that eats our days

For the web folks: instrumented tests ≈ Selenium for phones. Now imagine the browser takes 90 seconds to start.

era 4 · 2025, the year of the loop

Terminal-native, ReAct-style agents


  • Feb 24, 2025: Claude Code research preview (GA ~May). Terminal-native, reads your filesystem, runs your tests, sees failures, iterates
  • May 2025: OpenAI relaunches Codex as a cloud/async agent that plans, executes, tests, proposes PRs
  • June 25, 2025: Gemini CLI. Open-source (Apache 2.0), reason-and-act loop, built-in tools and MCP servers

era 4 · the barrier to entry is zero

You can try this tonight


  • Gemini CLI free tier: 1M-token context, 60 requests/min, 1,000 a day
  • Android Studio's Agent Mode is itself a loop: "iteratively fixes bugs to reach the goal"
  • The barrier to entry is gone. Whether to trust the output is the last section of this talk

era 4 · the demo is the scrolling itself

"The app crashes on launch. Find it and fix it."


./gradlew installDebug && adb shell am start .MainActivity
✗ FATAL EXCEPTION: java.lang.NullPointerException at ProfileRepository.kt:42
reading stack trace · opening ProfileRepository.kt · found unsafe cast on cached user
editing ProfileRepository.kt · adding null guard + fallback fetch
./gradlew testDebugUnitTest
✗ 1 test failed: ProfileRepositoryTest.returnsCachedUser
test asserted old behaviour · updating expectation to match fix
./gradlew testDebugUnitTest && ./gradlew installDebug
✓ 47 tests passed · app launches clean

era 4 · reality check

Loops make diffs bigger


−1.5%
delivery throughput per 25% increase in AI adoption · DORA 2024
−7.2%
delivery stability per 25% increase in AI adoption · DORA 2024

Individually faster, collectively wobblier: bigger AI-generated changelists are harder to review and ship safely. Which is exactly why the next era's "sandbox + PR for review" model matters.

"So the agent can loop until it's done.

But do you want it looping on your machine, editing your files, hogging your build, while you're trying to work?

What if you could hand it a ticket, send it away to its own sandbox, and just review the pull request it brings back?"
keystroke function task goal ticket
05

Here's Your PR

sandboxed task agents · 2025 to 2026

era 5 · the shape of it

Task-scoped. Ephemeral. Isolated.


  • You describe a task and assign it
  • The agent clones your repo into an isolated cloud VM
  • It plans, edits across files, runs tests
  • It returns a pull request for human review

Asynchronous by design. Assign it, close the laptop, review later. OpenAI's Codex cloud and Devin run the same play: isolated container, preloaded repo, diff back.

era 5 · google's sandbox worker

Jules GA · Aug 6, 2025


  • Announced Dec 2024 · public beta at I/O May 20, 2025 · GA August 6, 2025
  • Clones your repo into a secure cloud VM, plans, edits across files, runs tests, opens a PR
  • User-steerable plans, audio changelogs · Jules Tools CLI + public API later in 2025
  • The backlog worker: "fix that flaky test, update that deprecated dependency"

era 5 · the android sandbox story

The whole IDE moves into the box


  • Firebase Studio (preview April 9, 2025): agentic cloud workspace, in-browser Android/iOS emulators, prompt-to-app prototyping
  • Android Studio Cloud (I/O May 20, 2025): streams a Linux VM running Android Studio to your browser, emulator included, no local install
  • Honest caveat: both are being wound down (support ends March 22, 2027). Milestones in the arc, not tools to adopt today

era 5 · the primitive underneath

Gradle Managed Devices


  • Dolphin / AGP 7.3, September 2022: Gradle creates, deploys, and tears down test devices straight from your build files
  • Automated Test Devices run headless on build servers, no GPU needed
  • This is the CI-native sandbox primitive. Agents doing Android UI testing in the cloud stand on exactly this infrastructure

four years, five eras

The arc in one slide


keystroke IntelliSense → ML completion → Copilot ghost text ~2001 → 2021
function ChatGPT → Studio Bot → Gemini in Android Studio 2021 → 2024
task Devin → Agent Mode · Journeys · Version Upgrade Agent 2024 → 2025
goal Claude Code · Codex · Gemini CLI, looping until green 2025
ticket Jules · Codex cloud · sandboxes that return PRs 2025 → 2026

Where It's Heading

grounded in I/O 2026, not hand-waving

i/o 2026 · "from AI-assisted to agentic"

Android Studio (Quail) · skills and threads


  • Agent Skills: modular instruction sets grounding the agent in Android best practices · official skills at github.com/android/skills
  • Skills cover XML→Compose migration, edge-to-edge, Navigation 3, even Android XR
  • Parallel agent conversations: tests running in one thread, feature planning in another, docs in a third

i/o 2026 · "from AI-assisted to agentic"

Scaffold everything, bring any model


  • New Project Agent: an autonomous generation loop that self-corrects build errors and scaffolds full-stack apps (Firebase Auth/Firestore via skills)
  • Bring your own model: Gemini, GPT, Claude, or local Gemma for agentic assistance
  • Gemma runs on-device for offline code assist

i/o 2026 · beyond the IDE

Android becomes agent infrastructure


  • Android CLI: build Android apps with any agent or tool, grounded by an Android Knowledge Base · Google Antigravity supports Android through it
  • MCP in Android Studio: Agent Mode reaches external tools · a GitHub MCP server opens PRs, a Figma server brings design context
  • Android Bench: a live leaderboard for how well LLMs handle real Android tasks, verified with real tests · "which model is best at Android" is now a first-class question

i/o 2026 · the loop closes

Prompt to Play Store, crash to fix


  • Google AI Studio: prompt → production-quality Kotlin + Compose, in-browser emulator preview, install via ADB, publish to Play internal testing
  • Fix with AI: App Quality Insights reads a production crash plus your source and proposes the fix. Autonomous maintenance in miniature

"Vibe-coding" a native Android app with no local setup on one end, production crashes turning into proposed fixes on the other.

+

The Ecosystem, Right Now

August 2026: Junie, Air, Buzz, rentable sandboxes, and the protocols underneath

meanwhile · jetbrains

Junie enters the chat


  • JetBrains' coding agent · EAP January 2025, GA as an IDE plugin April 2025
  • Runs in IntelliJ, Android Studio, and 11 more IDEs
  • The era-3 shape: plans multi-step tasks, edits across files, runs tests, rolls back if needed
  • Model-agnostic under the hood: Claude Sonnet or GPT-5

junie meets android

Compose UI, iterated visually


  • Android support (EAP): a Mobile MCP server and strict Kotlin/Compose/MVVM rules for new code
  • The party trick: renders @Preview composables headlessly and reads the result, no emulator launch needed
 Android Studio · Junie
Task: add pull-to-refresh to the home feed
Read HomeFeedScreen.kt · HomeFeedViewModel.kt
Plan approved · 3 steps · 2 files
Rendering @Preview headlessly · verifying the spinner sits above the list
testDebugUnitTest · 12 passed

how junie evolved

Plugin → CLI → debugger, in 18 months


Jan 2025 Early access · the agent lands inside the IDE EAP
Apr 2025 General availability as an IDE plugin, free tier included GA · plugin
Mar 2026 Junie CLI · the same agent unbundled into any terminal public beta
Jun 2026 Full GA on June 17 · the agent learns to debug, not just test GA · everywhere

The same keystroke-to-ticket climb this talk traces over two decades, compressed into a year and a half.

research corner · jetbrains research

KotlinLLM · the model inside the language


  • "Smart macros" in ordinary Kotlin: asLlm<F, T>() converts between types, mockLlm<T>() implements an interface
  • The model writes the implementation once, persisted as plain Kotlin source you can read, review, and ship
  • Hits an unsupported case at runtime? It captures the values, regenerates, and hot-reloads without a restart
// github.com/JetBrains-Research/kotlinllm-plugin
val dto: UserDto = api.fetch()
val entity = dto.asLlm<UserDto, UserEntity>() // generated mapper, checked into source
val repo = mockLlm<UserRepository>() // interface implemented by the model

Experimental research prototype, not a product. But note the direction: every era so far put the model beside your code. This puts it inside the language.

meanwhile · jetbrains, again

Air · the IDE rebuilt around the agent


  • Public preview March 2026, built on Fleet's bones
  • IDEs add tools around the editor. Air builds the tool around the agent
  • Delegates to multiple agents running concurrently: Junie, Codex, Claude Code, Gemini CLI, Copilot · any ACP agent

air · how it's doing right now

Three lanes, one supervisor


  • macOS and Linux live, Windows pending · the July 2026 drop added local models and Java/Kotlin code intelligence
  • The bet mirrors Google Antigravity: the agent is the primary user of the IDE, you supervise
 JetBrains Air · workspace
Junie fixing the flaky test in :feature:auth · running tests
Claude Code migrating XML layouts → Compose · editing 7 files
Gemini CLI drafting release notes · done ✓

the talk of the town · july 2026

Buzz · humans and agents as peers


  • Block's free, open-source workspace (yes, Jack Dorsey) · launched July 2026, hosted beta at buzz.xyz
  • Not an IDE. A workspace: chat, workflows, and git events in one place, where agents are teammates rather than bots
  • Ships harnesses for Goose (Block's own), OpenAI Codex, and Claude Code · all speaking ACP
  • Each session gets its own isolated, sandboxed MCP tool instances

how buzz works

Everything is a signed event


  • Every participant, human or agent, holds a secp256k1 keypair · an agent's key is countersigned by its human owner
  • Every message, workflow step, and git push lands in one append-only, cryptographically signed log (a Rust Nostr relay underneath)
  • Accountability lives in the substrate: you always know which agent did what, and for whom

buzz in practice · this is my actual workspace

M
msomu 2:55 PM
⚒ Fizz⚒ Bumble⚒ Honey@rocky

This is going to be the place where I ask adhoc tasks and you can help me structure them. Welcome to this channel everyone. Drop a one liner about each one of you.

R
rocky 2:55 PM

Hermes, Nous Research agent on your machine: files, Telegram, vault, cron, desktop, and shipping real work end-to-end.

B
Bumble ⚒ managed by you · 2:55 PM

I'm Bumble, curious researcher and perpetual bee-nerd. I dig into problems, compare options, and explain what I find clearly. 🐝🔍

F
Fizz ⚒ managed by you · 2:55 PM

@msomu Fizz, I turn fuzzy ideas into finished work: plan it, build it, ship it. Point me at a problem and I'll make sparks fly 🐝✨

H
Honey ⚒ managed by you · 2:55 PM

Honey here 🍯 your friendly wordsmith: I structure ideas, draft messages, and turn rough thoughts into clear, sweet prose.

era 5's box becomes rentable

Sandboxes are now infrastructure


  • The isolated VM under Jules and Codex is no longer their secret sauce. It's a primitive you rent
  • E2B.dev: LLM-agnostic sandbox cloud · Python and TypeScript SDKs · bring Claude, GPT, Gemini, or Llama
  • Cloudflare Sandbox SDK: containers on Workers, Durable Objects for state, R2 for persistence, running at the edge
  • Gemini API managed agents: Google's take, next slide
  • Your Android agent's clone-build-test loop can run in any of them

the google spine, one last time

The sandbox is now an API call


  • Managed agents on the Gemini API (public preview): a single API call provisions a Linux sandbox where the agent reasons, runs code, manages files, and browses the web
  • Two on the menu: the Antigravity agent (general-purpose, configurable, extend with your instructions, skills, and data) and Deep Research
  • Ubuntu with Python 3.12 and Node 22 · idle VMs spin down, environments deleted after 7 days · up to 1,000 agents per account

managed agents · guardrails and the bill

Sandboxed, allowlisted, metered


  • Outbound network is unrestricted by default · set the per-sandbox allowlist
  • Credentials injected via an egress proxy, never exposed inside the box · least privilege, short-lived tokens
  • A single interaction typically burns 100k to 3M tokens. Budget accordingly

Framework on top of it, your pick: LangChain/LangGraph, LlamaIndex, CrewAI, Vercel AI SDK, Google ADK, or the Antigravity SDK.

assembling your agent · 1 of 3

Pick your model


Google

Gemini Pro and Flash tiers via the API · Gemma runs local and on-device

OpenAI

The GPT-5 family · cloud API, priced per token

Anthropic

Claude · the default brain inside many coding harnesses

Open & local

Gemma, Llama, Qwen, DeepSeek · your hardware, your weights

The model is rented per token or run locally. It knows things. On its own, it does nothing.

assembling your agent · 2 of 3

Pick your harness


Terminal

Claude Code · Gemini CLI · Junie CLI · Codex CLI · loops in your shell

IDE

Agent Mode in Android Studio · Junie · Copilot · works where you look

Cloud sandbox

Jules · Codex cloud · Gemini managed agents · async, returns a PR

Workspace

Buzz · Air · many agents, one supervisor: you

The harness turns a model into a worker. It decides what the model can see, touch, and run.

assembling your agent · 3 of 3

Pick your skills


Agent Skills

Modular instructions in markdown · github.com/android/skills · your team's best practices, taught once

MCP servers

Tools and data over one protocol · GitHub, Figma, your database, a Mobile MCP driving devices

Connectors

Hosted MCP with one-click auth · Slack, Linear, Drive · no server to run

Knowledge bases

Grounding docs, like the Android Knowledge Base behind Android CLI

Skills are cheap to write and easy to share. This layer is where your team's edge lives now.

the thread through all of it

ACP · any agent, any surface


  • Agent Client Protocol: an open standard started by Zed · JSON-RPC 2.0, the agent runs as a subprocess of the editor, talking over stdio
  • MCP connects your agent to tools. ACP connects your agent to surfaces
  • Already speaking it: Zed, JetBrains IDEs and Air, GitHub Copilot's ACP server, Buzz's agent harnesses

the analogy that lands

LSP made every language work in every editor. ACP is doing the same for agents.

why acp is the one to watch

The agent becomes portable


  • The agent stops being a feature of one IDE and becomes a worker you point at any surface
  • Your team standardises on one agent, and everyone keeps the editor they love
  • For Android: Android Studio speaks MCP, Junie and friends speak ACP. The studio, the terminal, and the workspace are all driving the same worker
  • Two protocols to remember from this talk: MCP for tools, ACP for surfaces. Everything you saw today plugs into one or both

how things are changing

The stack came apart, on purpose


Model Gemini · GPT · Claude · local Gemma
Agent Junie · Claude Code · Codex · Goose · Gemini CLI
Surface Android Studio · Air · Zed · Buzz · your terminal
Sandbox E2B · Cloudflare Sandbox SDK · Gemini managed agents · Gradle Managed Devices
Protocols MCP connects the tools · ACP connects the surfaces

In 2023 this was one monolithic product. In 2026 every layer swaps independently, and the protocols are where the real competition moved.

the closing argument · part 1

The optimistic truth


>30%
of new code at Google is AI-generated, then reviewed and accepted by engineers (Pichai: >25% on the Q3 2024 call, >30% by early 2025)
90%
AI adoption among developers, up 14% year over year · median two hours daily · DORA 2025

Over 80% of DORA respondents believe AI has increased their productivity. Fine print: "code" on an earnings call is a fuzzy unit. Directionally true, not precise.

the closing argument · part 2

The honest caveat


"It magnifies the strengths of high-performing organisations and the dysfunctions of struggling ones." DORA 2025 · AI is an amplifier, not a fixer
30%
of developers report little or no trust in AI-generated code · DORA 2025
~3%
report "high trust" in AI output · Stack Overflow 2025 survey

Near-universal use, minimal trust. Bigger AI diffs hurt delivery stability when review and CI discipline don't keep up. The tooling grew, our job is making the discipline grow with it.

"The autocomplete finished your line.
The agent finishes your ticket.
You finish the thinking."
keystroke function task goal ticket

Set the goal.
Review what ships.


Somasundaram Mahesh
msomu.com · @msomuin

Slides: msomu.com/talks