Skip to main content
Kompella Technologies
Back to Thinking
ai-strategy14 min read

Stop Prompting, Start Orchestrating

Ganesh Kompella
Ganesh Kompella

Founder, Kompella Technologies — Fractional CTO & CPO

Published July 9, 2026
Editorial cover — Stop Prompting, Start Orchestrating: an operating model for AI-native engineering
TL;DR: Most teams still type prompts into an AI and hope for the best. The teams pulling ahead stopped writing code and started orchestrating it: a fresh AI session per phase against a written contract, parallel work isolated in git worktrees, and every bug turned into a permanent guardrail. This is the operating model I use to ship real products, including one I launched solo to both app stores without hand-writing a line of code. Below are the model, the war stories that shaped its rules, and how to install it on Claude Code or a self-hosted open-source model.

Disclosure: I'm the founder and CTO of Kompella Technologies. This piece references client work my firm has done and a playbook we publish. I've kept the promotional links to a minimum and cited the outside research the model is built on, so you can weigh the ideas on their merits.

I shipped a consumer wellness product called InnerVeda - AI Ayurveda App to the Apple App Store and Google Play. Not a prototype. Not a landing page with a waitlist. A live, downloadable product, backend and mobile app both, built and launched end to end.

I did not hand-write a single line of its code.

Before you close the tab because you've read one too many "I vibe-coded an app" posts, this is the opposite of that. Vibe coding is what happens when you let a model improvise its way to something that looks like it works. What I'm describing has contracts, phases, isolation, and review gates. It is closer to running an engineering organization than to prompting a chatbot, and the gap between those two things is the gap between a demo and a product.

I've spent fifteen years as a hands-on engineer and technical leader, the kind who has been paged at 2am for a migration gone wrong. That background is exactly why I don't trust an AI to "just build it." It's also why, once I rebuilt my workflow around the right constraints, one operator could do the work of a team. Here is the whole model.

Get the free Orchestrator Playbook. The two-page brief plus the complete copy-paste prompt library for every phase — the exact system described below, packaged so your team can install it without me. Read and download the playbook →

The dirty secret of AI coding at scale

Every developer has now had the magical first hour with an AI coding agent. You describe a feature, it writes it, the thing runs. It feels like the future.

Then you try to ship something real, and the magic curdles.

The failure mode is always the same. The model produces plausible code: code that reads correctly, compiles, and quietly does the wrong thing. It invents an API endpoint that doesn't exist because one probably should. It drifts from what you actually asked for, one reasonable-looking decision at a time. And the longer a single session runs, the worse it gets, because the context fills with the agent's own earlier guesses and it starts trusting its hallucinations as fact.

This is why the demo-to-production gap is so brutal with AI. Generating code was never the bottleneck; models are extraordinary at that. The bottleneck is verification and drift, keeping thousands of generated lines faithful to one intent across many files, many features, and many sessions. As the practitioners on Hacker News keep concluding, the people getting real value aren't chasing full autonomy. They are orchestrating bounded, verifiable units of work.

That changes what the job actually is.

You are not a coder anymore. You are the orchestrator.

So here it is, plainly. You do not write code. You operate an AI engineering organization.

You are the orchestrator. The agent sessions are your engineers. A single source-of-truth repository, which I call the brain, is what every session reads before it touches anything. The leverage isn't in your typing speed. It's in the system: work gets decomposed, interfaces get written down, and the machine executes against them. You read pull requests, not diffs of your own keystrokes.

That sounds like a demotion until you feel the throughput. One person, orchestrating well, runs the output of a team, because the constraint on shipping was never how fast a human types.

I want to be precise about credibility here, because "let the AI do it" is easy to say and easy to get wrong. Over my career I've led decisions like migrating a multi-tenant medical EMR off a straining MySQL setup onto a DynamoDB single-table design serving 3.5 million patient records at sub-10ms latencies. That was a zero-downtime cutover in a HIPAA environment, where a single mistake corrupts protected health data. I've architected an Azure IoT Edge pipeline moving petabyte-scale DICOM medical imaging across imaging centers at under 5% failure rates. These are not vibe-coding problems. They are the kind that teach you, permanently, that plausible is not correct, and that the interface between components is where systems live or die.

The orchestrator model is what that lesson looks like when your engineers are AI sessions instead of people. You stop trusting vibes and start enforcing contracts.

The shape of the system: one brain, many repos

The architecture is deliberately boring, which is the point.

The brain and the product repos: one contract repo that every product repo reads first
The brain and the product repos: one contract repo that every product repo reads first

You have one brain repository and several product repositories. The brain holds no application code, on purpose. It holds specifications, contracts (the API shapes and the database schema), architecture notes and decision records, runbooks, and the CLAUDE.md context templates each product repo inherits. It is the interface, not a wiki.

The product repos, a backend, a client app, whatever surfaces your product needs, hold the actual code. The client never invents endpoints; it reads the contract. The backend never guesses at a data model; it reads the contract.

The one rule that holds the whole thing together: no code session starts without reading the relevant contract, and the active spec if one is in flight. If the contract is missing or wrong, the session stops and you fix the brain first. Full stop.

On top of the repos sit role skills, named seats like architect, reviewer, or domain expert. You don't ask "an AI" to review your architecture. You seat the architect, who carries a point of view, a decision framework, and a list of the anti-patterns it is meant to catch. A blank persona gives you blank output.

How the work flows: a phased pipeline of fresh sessions

A "feature" is anything that touches more than one repo. It does not flow through one heroic marathon session. It flows through a chain of fresh, disposable sessions:

Spec (in the brain) → SchemaBackendClientClose-out (back in the brain).

The phased pipeline: Spec, Schema, Backend, Client, Close-out — each a fresh session
The phased pipeline: Spec, Schema, Backend, Client, Close-out — each a fresh session

Rename or insert phases to fit your surfaces: split web and mobile, add a data or ML phase. The structure is what matters. The spec is the API between phases. It carries the user story, the per-repo data-model changes, full request and response shapes, the rollout order, a blocking pre-implementation smoke test, and a visual-parity gate for anything built from a design. It is complete before any code is written, so each downstream session can execute it almost blindly.

Why fresh sessions instead of one long, context-rich one? Because context isolation beats context accumulation. A long session degrades as it fills with its own earlier reasoning. A fresh session, handed a tight spec and the right contract, stays sharp. This is the most counterintuitive lesson of the whole model, and the one that maps most directly to how the strongest AI labs build. Anthropic's writeup of how they built their multi-agent research system makes the same point: hand every worker a clean context and a self-contained task, and the system outperforms a single agent grinding through a bloated window.

When two features run at once, they run in isolated git worktrees, one capsule per feature, never by branch-switching a shared tree. Each capsule is a full working directory with its own branch and its own session. They physically cannot collide.

Capsules: parallel features in isolated git worktrees that cannot collide
Capsules: parallel features in isolated git worktrees that cannot collide

This is the isolation primitive the whole industry converged on for running parallel agents. Teams run four, five, a dozen at a time. You do the same at whatever scale you can actually supervise, because supervision, not generation, is your real constraint now.

The rules that do not bend, and the scars that wrote them

Every rule in my playbook is there because something broke once. That's the part nobody puts in the launch demo, so here are the actual scars.

Contracts kill drift. The defining failure of AI coding is plausible code that wanders from intent and invents APIs. The fix is a written contract the implementing session is forbidden to deviate from. The literal rule in my prompts reads: "Do not invent endpoints. If the contract seems wrong, STOP and open an issue on the brain." An agent once confidently built a client feature against an endpoint that didn't exist. It had reasoned its way to the API it wished were there. The contract rule means that class of bug now ends the session instead of shipping.

A flipped feature flag with a stale consumer ships nothing. We shipped a feature behind a kill-switch, flipped the flag on, and nothing changed in production. The flag was live, but its consumer service hadn't been redeployed, so it still read the old value. A silent failure, which is the worst kind. That became a permanent close-out rule: flipping a flag means redeploying every consumer of it, then confirming the new value is live in each one.

A worktree capsule that never got its environment file. Run a session in an isolated worktree and your live calls quietly hit an empty base URL, because worktrees don't inherit the parent's .env. Hours vanish chasing a "UI bug" that is actually an infra bug wearing a UI costume. The rule now: copy the environment into the capsule first, and run a blocking 30-second smoke check before any real work. Half a minute saves an afternoon.

One drifted field, bugs across five screens. A single data field quietly diverged from its contract and surfaced as what looked like five unrelated UI bugs. We nearly filed five tickets. The fix was one field. The rule: when you see many symptoms, suspect one drifted source before you suspect five separate causes, and separate genuine data drift from rendering bugs before you touch code.

The meta-rule under all of these is to codify every lesson once. When a bug ships, the deliverable is not just the patch. It is a new line in the SOP or a new non-negotiable in CLAUDE.md, so the whole class of bug cannot recur. Each scar becomes a guardrail. This is the compounding part. The system gets measurably smarter at every close-out, and it gets smarter for every future session and every future teammate at the same time.

This has names now, and the edge is running them together

None of this is folklore anymore. The strongest teams converged on the same primitives across 2025 and 2026, and the tooling caught up to what the method already implied.

Spec-driven development, where the spec is the artifact and code is the build output, was named by Thoughtworks as one of 2025's key new AI-assisted engineering practices. By 2026 every major tool ships a flavor of it: GitHub's Spec Kit, AWS Kiro, and others Martin Fowler has catalogued in detail. My specs and contracts directories are just my implementation of it.

Context engineering, managing what's in the model's window rather than wordsmithing the prompt, is the named shift of the era. Fresh-session-per-phase and read-the-contract-first is context engineering, put to work.

The orchestrator-worker pattern (decompose, delegate to parallel workers with clean contexts, then synthesize) is exactly the multi-agent architecture Anthropic described. O'Reilly's framing of the industry's move from "conductors to orchestrators" captures the same shift in the developer's role that this whole article is about.

Git-worktree isolation and verification subagents (a separate reviewer that black-box-checks the work without the full build history) round out the set.

Here is the real edge. Most teams bolt these on one at a time and get a fraction of the benefit. The leverage comes from running all of them together, as one system, with the lessons already codified into the contracts and the SOP. Integration is the moat, not any single primitive.

The method is portable: Claude Code or open source

I run most of this on Claude Code today, because its subagents, skills, and context management fit the model cleanly. But nothing here is Claude-specific, and that is the point worth internalizing.

The orchestrator model is made of contracts, phased sessions, worktree isolation, and codified lessons. Those are architectural choices, not vendor features. I'm actively testing the same pipeline against self-hosted open-source models, since the frontier open-weight models are now good enough for many of the phases, specifically to cut token costs at scale. The spec doesn't care which model reads it. The contract doesn't care which model implements it. The smoke check doesn't care which model it gates.

Build your leverage on a method and you get to swap the engine underneath it as the economics shift. Build it on one vendor's magic and you can't. Loop engineering, the discipline of what each session reads, does, and commits, is where the durable advantage lives.

The real unlock: leverage that compounds across people

Everything so far compounds across sessions. The bigger multiplier is that it compounds across people.

Because the system is written down (the brain, the contracts, the SOP, the codified scars), a new engineer doesn't need to absorb tribal knowledge over months. The ramp is three days. On day one they read the brain and the architecture. On day two they pair on one feature end to end, watching the spec session and then driving the client session while you review. On day three they own a phase: pick a spec, run it solo, open the PR. You review PRs. You don't write code.

That is not hypothetical. This playbook is deployed and in active use across more than ten companies under my leadership right now. In my work as a fractional and portfolio CTO, including helping a private equity firm move its investee companies to an AI-first operating model, this is the artifact I install first, because it is the one that makes every later gain repeatable instead of personal.

The results across that broader portfolio are why I trust the model rather than just enjoy it: more than $140M in combined ARR built across 75+ products, guiding A'alda's vet-tech platform from concept to an IPO on the Tokyo Stock Exchange, saving a Fortune 500 (Mercer) roughly $1M in planned tech spend while cutting admin work 40%, scaling Aesthetic Record to 4,000+ US clinics and 5M+ patients, and building a custom ERP for Hula Global that drove a 60% gain in supply-chain efficiency. Different industries, different stacks, the same underlying move: orchestrate the system, don't type the code.

Where to start

If you lead engineers, the first shift is a measurement one. Stop valuing your people by the code they personally write, and start valuing the systems they build for the machine to execute. The engineer who sets up a clean brain, writes airtight contracts, and codifies every lesson is worth more than the one who out-types an AI, because the first one's work compounds and the second one's doesn't.

Concretely: stand up a brain repo. Move your API and schema into written contracts. Force every session to read them first. Run one feature through the phased pipeline instead of one long session. Then write down the first bug you hit as a permanent rule. That single loop of spec, execute, review, and codify is the whole engine in miniature.

I've packaged the full operating model into a document I call the Orchestrator Playbook: a two-page brief plus the complete copy-paste prompt library for every phase. I've published it openly so teams can install it without me. You can read and download the full playbook here.

The teams that win the next few years won't be the ones with the most engineers, or even the best individual prompters. They will be the ones whose leaders learned to orchestrate, and then taught everyone around them to do the same. That is when the leverage stops being yours and starts being your organization's.

Stop prompting. Start orchestrating.

FAQ

Frequently asked questions

What is the orchestrator model for AI coding?
It is an operating model where you stop writing code and instead run an AI engineering organization. A single source-of-truth repository — the brain — holds specs and contracts; each phase of work runs in a fresh AI session that reads the relevant contract first and executes against it. You review pull requests instead of typing diffs. The leverage is in the system, not in your typing speed.
How is this different from vibe coding?
Vibe coding lets a model improvise its way to something that looks like it works. The orchestrator model is the opposite: it has written contracts a session may not deviate from, phased sessions, git-worktree isolation, and explicit review gates. It is closer to running an engineering org than to prompting a chatbot — which is the gap between a demo and a shippable product.
Why use a fresh AI session per phase instead of one long session?
Because context isolation beats context accumulation. A long session degrades as its window fills with the agent's own earlier reasoning and it starts trusting its hallucinations as fact. A fresh session handed a tight spec and the right contract stays sharp. This mirrors how the strongest multi-agent systems work — give every worker a clean context and a self-contained task.
What are git-worktree capsules?
A capsule is an isolated git worktree — a full working directory with its own branch and its own AI session — used to run one feature at a time. Because parallel features live in separate worktrees rather than branch-switching a shared tree, they physically cannot collide. This is the isolation primitive the industry converged on for running multiple coding agents concurrently.
Does the orchestrator model only work with Claude Code?
No. The model is made of contracts, phased sessions, worktree isolation, and codified lessons — architectural choices, not vendor features. It runs on Claude Code today because its subagents, skills, and context management fit cleanly, but the same pipeline works against self-hosted open-source models. The spec doesn't care which model reads it.
How long does it take a new engineer to ramp on this system?
About three days, because the system is written down. Day one they read the brain and the architecture. Day two they pair on one feature end to end. Day three they own a phase — pick a spec, run it solo, open the PR. The ramp is short precisely because knowledge lives in the brain and the SOP, not in someone's head.

About the Author

Ganesh Kompella

Ganesh Kompella

Founder, Kompella Technologies — Fractional CTO & CPO

Ganesh is the founder of Kompella Technologies, a fractional CTO and CPO firm working with healthcare, fintech, and SaaS startups from pre-seed through Series B. 15+ years and 75+ products shipped, $140M+ ARR built, one IPO guided. Operates across India, Singapore, and the United States.

Stay sharp

Get the next one in your inbox.

Monthly digest of what's working in our portfolio companies — fractional CTO patterns, hiring calibration, architecture trade-offs. No spam, unsubscribe anytime.

Let's talk about what you're building.

Book a Free Strategy Call