Published July 23, 2026

Flutter Veteran Chris Sells on AI Agents, Software Factories, and the Future of Quality

Few people have watched the software development landscape reshape itself as many times as Chris Sells. With stops at Intel, Microsoft, Google, Meta, and Sourcegraph, and three years on the Flutter team at Google helping steer the framework from version 1.0 to 3.0, Sells brings a uniquely long view to the current moment. In a recent episode of Very Good Engineering, host Jorge Coca sat down with Sells — now CEO of Gas City — to discuss what actually changes when AI agents start writing code, and what stubbornly does not.

From Typing Every Line to Directing Agents

Sells opened with a deceptively simple observation: the fundamental problem has never changed. "We have software-shaped problems, and we need high-quality software solutions," he said, a refrain he returned to throughout the interview. What has shifted is the method of production. For his entire career, no matter how sophisticated the tooling became — compilers, debuggers, profilers, autocomplete — someone still typed every line of every file by hand. AI coding agents broke that pattern.

For the first time, humans are neither writing all the code nor, at the edges of agentic engineering, even reading it all. This shift produced what the industry now calls vibe coding: describe what you want, get code that runs. Sells drew a hard line between vibe coding and what real engineering demands. Vibe coding gets you something that works on your machine. Production software is a feature or fix you can check into an existing enterprise system with confidence that it holds up under load, meets latency requirements, and integrates cleanly with existing logging and monitoring.

"Building real enterprise software requires way more than 'it works on my machine,'" Sells said. "That is the core difference."

What Quality Means When Agents Write the Code

Host Jorge Coca pressed on a gap he sees across the industry: everyone talks about quality, but nobody agrees on what it is. Sells agreed that there is no shared contract for quality, even after decades of trying. Engineers have built up principles — don't repeat yourself, single responsibility, loose coupling, cyclomatic complexity — but applying them has always depended on a human reading code and sensing when something is off. Agents cannot smell code smells.

That is why Sells believes writing explicit quality standards matters more now than ever. He outlined several key dimensions that teams should codify:

  • Correctness: Does the code do what it is supposed to do, across all edge cases?
  • Maintainability: Can a developer who did not write the code understand and change it six months later?
  • Observability: Does the code produce the logs, traces, and metrics needed to debug it in production?
  • Performance: Does the code meet its latency and memory budgets under realistic load?

Without these standards written down explicitly, handing work to an AI agent is like handing a contractor a blank check. The agent will produce something, but whether it meets the bar is a matter of luck rather than engineering discipline.

Inside Gas City: Building a Software Factory

Sells's current venture, Gas City, is an open-source platform designed to orchestrate AI coding agents into repeatable, auditable software factories. The core idea is that a single agent working on a large codebase quickly loses context and coherence. Gas City addresses this by coordinating multiple specialized agents — one for architecture, one for implementation, one for testing, one for review — each operating within well-defined boundaries.

The platform is built with a Flutter-based dashboard that gives teams visibility into what each agent is doing, what decisions it made, and what artifacts it produced. Sells emphasized that transparency is not optional when agents write production code. Teams need to be able to audit the output, understand the reasoning, and roll back decisions that do not meet the quality bar.

Key principles of the software factory approach include:

  • Agent specialization: Each agent has a narrow domain and clear success criteria rather than being asked to handle everything
  • Human-in-the-loop at decision points: Agents propose, humans approve, especially for architecture and dependency choices
  • Automated quality gates: Every artifact passes through linting, testing, and security scanning before it reaches the codebase
  • Traceability: Every line of agent-written code is linked to the prompt, the reasoning trace, and the review that approved it

Lessons for the Flutter Ecosystem

For Flutter developers watching these trends, Sells offered practical advice. The frameworks and tools teams already use — widget tests, golden file tests, integration tests, lint rules — form exactly the kind of quality gates that make agentic workflows viable. Teams that have invested in test coverage and static analysis are better positioned to adopt AI-assisted development because they already have the safety net that agents need.

Sells also noted that Flutter's declarative UI model and hot reload make it particularly well-suited for the iterative, agent-in-the-loop style of development. An agent can propose a widget change, the developer can inspect it immediately, and the tight feedback loop catches problems before they compound. That is the same loop that made Flutter attractive to him years ago, and it is even more valuable now that agents are part of the equation.

The conversation closed on a note that was neither utopian nor dire. AI agents will not replace software engineers, Sells argued, but engineers who use agents effectively will outperform those who do not. The key is not to treat agents as typists but as collaborators — with clear instructions, quality standards, and human judgment at every inflection point. For a community built on the idea that better tools produce better outcomes, that message feels both familiar and forward-looking.