Chase Holroyd

The studio behind the work

How I run a small AI product studio.

Every product here began as a single AI conversation. By the fifth, I was the only thing connecting them. This is how I turned that into a studio: specialist agents with defined lanes, a coordinator above them, and me as product owner.

6shared agents, one file each
5products, each with its own project
2:15amunattended nightly builds
1 fileper repo says where the work stands

One chat per product

It started simply: describe a problem from my own life in a chat and have a working page that evening. That worked well enough to scale, and scaling is where it broke. Each chat lost what the others knew. I was restating rules, carrying decisions between windows, and finding two chats solving the same problem two different ways. The constraint wasn't the AI. It was me, as the only shared memory.

Specialists with lanes

The first fix came from how strong product teams work: give each role one clear job. I codified the agents I kept recreating by hand, made them product-agnostic, and moved them into one shared library that every repo syncs from.

None is tied to a product. Each reads the repo it's working in first: its hard rules, its story and its current state. The same staff PM agent works on a kids' bedtime app and an energy CLI, and an improvement to one agent lands everywhere. On the family photo app, this review loop caught a co-parent data leak before any real user saw it.

A coordinator, not another builder

The more important decision was that one project should build nothing. Each product has its own project that owns its code. Above them, a coordinator, the product studio, holds the view across all of them: what moved, what stalled, what needs my decision, and where the portfolio stands.

It mirrors what happens when a team outgrows one person: the job shifts from doing the work to designing the system that keeps it on track.

The operating system around it

My job became the product owner

I don't review the code line by line. I review the pull request descriptions: what changed and why, how it was tested, and which decision is mine. The agents write for that reader, so a clear description is part of the deliverable.

Nothing reaches a live site or a user without me. Agents open draft pull requests and stop. My evenings shifted from writing prompts to making decisions: approve, cut, or return it with one sentence of direction. In one recruiter-ready sprint, three review rounds found 21 issues in ccwatts, and every one was fixed test-first across eight small draft PRs overnight.

What I took from it

← All work