How One Founder Manages 20 AI Coding Agents at Once - Ryan Carson, Untangle

Loading slides…

Read the talk

How One Founder Manages 20 AI Coding Agents at Once

At Untangle, Ryan Carson directs about 20 builders through one conversation with an engineering manager agent. When a feature is ready, the manager sends him a video. That is where he slows down.

From a talk by Ryan Carson

At a glance

Ideas worth remembering

  • One PR per ticket gives the manager a unit of work to assign. Dependencies guide its next assignment, and a scheduled 15-minute pass brings its attention back to every active builder.

  • The builder and reviewer usually get up to three rounds together. Important findings can then go to the manager. A separate child session handles QA.

  • Carson reads what a PR is supposed to do before watching its test video. Even when every case passes, the product owner still has to judge the behavior on screen.

  • Untangle evaluates agent operators first on a familiar app, then invites the top five to a paid 16-hour trial on a company PR. Carson reserves the first live call for finalists.

From a customer priority to one pull request

Untangle began as a consumer app for people going through a divorce. It soon shifted to selling an AI paralegal to family law firms. Founder and CEO Ryan Carson had seen his previous startup grow to about 110 people, and one part of the management job felt familiar. Someone still had to talk to customers, decide what mattered, and turn that decision into work. At Untangle, people kept the first two responsibilities and gave a cloud agent session the job of engineering manager.

The manager leaves all the coding to child sessions called builders. Carson mostly talks to the manager by voice because he finds a spoken update easier to absorb than a written one. He can follow one conversation while several changes are underway.

A Linear ticket board tells the manager what needs building. Untangle aims to size each ticket to one pull request (PR). That gives a builder a defined change to make and the team a single PR to review. The manager uses dependencies between tickets to decide which work can start next.

0:140:20
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

0:12 · section reference included

One manager checks every builder every 15 minutes

About 20 builders can work concurrently under one manager. Carson puts the working range at roughly five to 25. The upper end depends partly on the person listening to the updates. Even if the manager can reach every builder, it can have more changes underway than its human can follow.

Carson stays out of the individual builder sessions. A builder with a technical question sends it to the manager, which can often answer it or clear a small obstacle. Those ordinary questions are precisely the ones worth delegating. If each required Carson to open a session and recover its context, he would still have 20 conversations to manage.

What makes the manager check on a builder that has gone quiet? A scheduled automation tells the manager to read every child session and move stalled work along. The interval shown in the talk is 10 minutes. By the time he presented, Carson had settled on 15. The script makes the rounds happen on schedule, something he found unreliable when left to the agent. The manager still decides what each builder needs.

3:323:35
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

3:29 · section reference included

Three review rounds and a separate QA agent

Each builder produces code and tests. Where does it send the change for a check, and how does a finding get back to Carson? Two kinds of session branch off the builder.

  • Code review. The builder calls a built-in reviewer and can revise the PR in response to its findings. Untangle usually caps the exchange at three rounds. At that point the builder can raise important findings with the engineering manager, which can bring in Carson if needed.
  • Quality assurance. A separate process starts a child of the builder to run QA. This gives the change another check outside the exchange between the builder and its code reviewer.

The cost Carson watches is the delay at the merge queue. He considers a QA session cheap enough to start wherever it helps. But every extra round spent picking at a PR keeps that change waiting to land. The cap gives the builder a point at which to take an important finding to someone who can decide what to do about it.

How review, QA, and escalation connect to a builder

BuilderImplements the ticket and writes tests.
Code reviewerReviews the builder’s change.
QA child sessionRuns a separate check for the builder.
Engineering managerHandles findings the builder raises.
CarsonWeighs in when the manager needs help.
Only the builder and reviewer participate in the capped exchange. QA runs in a child session of its own. The engineering manager receives important findings and decides whether Carson needs to weigh in.
Read the diagram as text
  • Builder. Implements the ticket and writes tests.
  • Code reviewer. Reviews the builder’s change.
  • QA child session. Runs a separate check for the builder.
  • Engineering manager. Handles findings the builder raises.
  • Carson. Weighs in when the manager needs help.
  • Builder → Code reviewer: Requests review.
  • Code reviewer → Builder: Returns findings in each round.
  • Builder → QA child session: Starts a QA child.
  • Builder → Engineering manager: Can raise important findings after about three rounds.
  • Engineering manager → Carson: Asks for help if needed.
5:075:29
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

5:04 · section reference included

What the product owner looks for in a green test run

What did the user actually see while the tests passed? Every builder records the feature in use. The built-in testing tool creates test cases, records the interaction, and gives each case a green or red result. For a UI change, the product owner can compare the two outputs. The results identify which checks passed. The recording shows what the feature did and how it looked while passing them.

The manager alerts Carson when a video is ready. Coming back to one PR after directing many builders, he first reads a short summary of what the change is supposed to do. That gives him a specific expectation to check as he watches. The decision to ship belongs to a person, and this is where the product owner has to give one change their full attention.

Just before the talk, Carson was speaking to the manager on his phone when it told him a video was ready. He could carry on the conversation just fine. When he played the recording, though, he could barely make out the change. Tempted to approve it anyway, he held off until he could watch on his machine. After hundreds of adjustments, Carson credited the process with helping Untangle ship a lot of high-quality PRs. It worked for his team at the time, and he expected it to change quickly.

6:346:36
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

6:25 · section reference included

Many managers, one merge queue

Carson’s advice to move development to the cloud follows from how he runs a team. Take his example of ten people working at once. Each would typically have an engineering manager session, and one person can have more than one. Carson himself had two running. The sessions need to know which other sessions exist and be able to message them directly. When one has information another needs, they can unblock each other without asking a person to relay the question.

Database migration numbers illustrate what still needs coordination across the team. Two builders working on different PRs can each reach for the same next migration number. Each number looks reasonable in its own PR. Bring the changes together and the numbers collide. Untangle assigns another session, the merge queue manager, to coordinate details like these across incoming PRs.

Like the engineering manager, the merge queue manager is an ordinary cloud session. Carson names it for its job and gives it latitude to work out how to coordinate the wave of changes. GitHub provides the merge queue itself.

8:238:25
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

8:21 · section reference included

The first hiring screen is a feature PR

Running engineering this way changes the first question Untangle asks about a candidate. Can this person direct an agent through shipping a feature? Carson had found it easy to come away from a screening call impressed by someone’s hobbies or the way they spoke. Untangle delays that conversation until the team has seen the person work.

The first submission is an unpaid, roughly 45-minute recording of the candidate’s whole screen. The assignment is to ship a feature PR with an agent, typically on an application the candidate already maintains. Untangle leaves the method up to them. The PR shows what they shipped. The recording lets a reviewer follow the directions they gave the agent and what they did with its work.

A ranking agent takes the videos and transcripts and puts the candidates in order, saving someone the time it would take to watch every submission. Carson distrusted its first ranking. In hindsight, he thought he should have hired its first choice and attributed his resistance to his own bias. That was his judgment about one hiring decision. The recordings also vary in what they reveal. Some candidates narrate freely. When someone mumbles or works silently, a reviewer may see what they did and still have little idea why.

11:3011:32
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

11:07 · section reference included

Transcript download
Full transcript

Loading transcript…