When to Use

You’re building a startup and your technology layer isn’t getting adopted by incumbents. Or you’re debating whether to remain a software company or become an operating company that owns the full stack from technology to customer delivery. This is one of the most consequential strategic decisions a startup makes, and Balaji’s framework - drawn from his experience co-founding Counsyl - provides a specific decision process.

The Framework

The Counsyl Origin Story

Balaji co-founded Counsyl, a genetic testing company that became the canonical example of the full-stack startup. The lesson came from hard experience: the bioinformatics software alone wasn’t a viable business.

“Counsyl couldn’t survive selling bioinformatics alone. It had to build the full clinical lab, the software, the sales force - the entire stack from sample collection to report delivery.” — Balaji Srinivasan, The Anthology of Balaji

Why did selling just the software layer fail?

  1. Incumbent rejection: Existing clinical labs had no incentive to adopt new bioinformatics software. It threatened their workflow, required retraining staff, and the benefits were hard to quantify in advance.

  2. Quality dependency: The output quality (accurate genetic risk reports) depended on controlling every step. A lab using old sample collection methods or different sequencing protocols could produce data that made the bioinformatics layer perform poorly - and the blame would land on Counsyl’s software, not the lab’s practices.

  3. Customer expectation: Doctors and patients wanted one provider, one phone number to call, one entity responsible for the result. A patchwork of vendors (this company does the software, that company runs the lab, another company handles logistics) was unacceptable in healthcare.

  4. Regulatory reality: The FDA and CLIA requirements meant end-to-end auditability. Splitting the stack across companies created compliance nightmares.

The General Principle

From the Counsyl experience, Balaji derives a broader principle:

“You cannot automate something until you’ve done it manually many times.” — Balaji Srinivasan, The Anthology of Balaji

This has two implications:

For technology companies trying to disrupt manual industries: You can’t just build the software and expect manual-process companies to adopt it. You often need to do the manual process yourself first, understand every nuance and edge case, and then automate it. The full-stack company does exactly this.

For the staging of full-stack builds: You start by doing things manually (hiring human operators, running the process by hand) and automate one step at a time. Each automation replaces a manual step you deeply understand. If you try to automate from the outside without ever doing the work manually, you’ll automate the wrong things.

Full-Stack Examples Across Industries

Balaji extends the full-stack concept beyond healthcare:

IndustrySingle-Layer ApproachFull-Stack ApproachWhy Full-Stack Wins
HealthcareSell software to clinicsBuild the clinic + software + operations (One Medical, Counsyl)Quality control, patient experience, regulatory compliance
LawSell legal tech to law firmsBuild the law firm + legal tech (Atrium attempt)Workflow integration, client experience
AccountingSell accounting softwareBuild the accounting firm + software (Pilot)Data quality, client trust
ArchitectureSell design softwareBuild the design firm + softwareDesign feedback loop, client relationship
RestaurantSell kitchen management softwareBuild the restaurant + supply chain + software (Sweetgreen)Supply chain control, brand experience
EducationSell edtech to schoolsBuild the school + curriculum + technology (Lambda School)Outcome accountability, student experience

The Decision Framework

Four conditions that push toward full-stack:

1. Layer Rejection You tried selling your technology to incumbents and they rejected it. This is the strongest signal. If the companies who should adopt your technology won’t, it’s usually because adoption threatens something they care about more than efficiency (their existing workflow, their margins, their power dynamics).

2. Quality Dependency The quality of your output depends on the quality of every upstream step. If a weak link anywhere in the chain ruins your product, and you can’t control those links as a single-layer company, you need to own the chain.

3. Customer Expectation The end customer wants one provider, one relationship, one entity to hold accountable. This is especially true in healthcare, financial services, and other high-trust domains where the customer needs to know exactly who is responsible.

4. Regulatory Mandate The regulatory environment requires end-to-end auditability, compliance certification across the full process, or licenses that span multiple layers of the stack.

The Counter-Argument: When Single-Layer Wins

Not every startup should go full-stack. Balaji’s framework implies that single-layer works when:

  • Incumbents eagerly adopt your technology: Stripe succeeded as a payments layer because developers wanted easier payment integration. There was no “layer rejection.”
  • Quality is independent: Stripe’s payment processing quality doesn’t depend on what the merchant does with their website.
  • Market is efficient: Other layers are well-served by existing providers who compete on quality and price.
  • Capital is limited: Full-stack requires 5-10x more capital than single-layer. If you can’t raise it, single-layer may be the only option.

The Upgrade Sequence

If you decide to go full-stack, the order matters:

Phase 1: Own the core function first. Build the technology layer that contains your billion-dollar function. Prove it works. This is your intellectual property and competitive advantage.

Phase 2: Own the adjacent bottleneck. Which layer adjacent to your core is the biggest quality problem or adoption barrier? Build or acquire that next. For Counsyl, this was the clinical lab (the bottleneck between their bioinformatics and the patient).

Phase 3: Expand toward the customer. Once core + adjacent work together, expand toward the customer-facing layers. This is when you shift from B2B (trying to sell to other companies) to B2C (serving end customers directly).

Phase 4: Optimize end-to-end. With the full stack under your control, you can make tradeoffs across layers that no single-layer company can. This is where the real competitive advantage of full-stack emerges - the ability to optimize globally rather than locally.

Connection to the Billion-Dollar Function

The full-stack decision is directly connected to the billion-dollar function concept. The billion-dollar function is the atomic unit of value creation. The question is whether that function can stand alone (single-layer) or needs the full stack to deliver its value to customers.

“What’s your billion-dollar function? For Facebook, it’s arguably the function that allows advertisers to put ads in front of users.” — Balaji Srinivasan, The Anthology of Balaji

Facebook’s ad-targeting function can stand alone because the rest of the “stack” (user acquisition, content creation, engagement) is self-sustaining. Counsyl’s genetic risk scoring could not stand alone because it needed proprietary data from a controlled lab environment.

Example

Applying the framework to a hypothetical AI legal startup:

A team builds an AI that can analyze contracts better than junior associates. They try to sell it to law firms. The firms resist: partners worry about liability, associates feel threatened, and the firm’s existing document management system doesn’t integrate well.

This is layer rejection - the strongest signal to go full-stack.

The full-stack path: Start a new kind of law firm that uses AI for contract analysis, employs fewer associates at higher salaries, and charges clients less. Do the legal work manually at first to understand every edge case the AI misses. Automate one step at a time. Eventually, the AI handles 80% of contract analysis and humans handle the remaining 20% of complex cases.

The staging: (1) Build the AI core, (2) hire a small team of lawyers to run cases using the AI, (3) take on clients directly, (4) scale the operation while improving the AI with real-world feedback.

Output

After reading this framework, you should be able to:

  1. Identify whether your startup faces layer rejection
  2. Evaluate the four conditions that push toward full-stack
  3. Design a staging plan for a full-stack build
  4. Understand the capital and operational implications of going full-stack
  5. Recognize when single-layer is the better strategy

Source: The Anthology of Balaji pp. 198-202