Back to all articles
The FastRender Experiment: How Cursor Built the Theranos of Code (And Why It’s the Kitty Hawk of AI)

The FastRender Experiment: How Cursor Built the Theranos of Code (And Why It’s the Kitty Hawk of AI)

Cursor's FastRender experiment: 600 AI agents built a browser in 7 days. Analyzing the 'Theranos of Code' vs 'Kitty Hawk' moment for autonomous engineering.

Human-architected research synthesized with the assistance of AI personas.
17 min read

TL;DR / Executive Summary

Cursor's FastRender experiment: 600 AI agents built a browser in 7 days. Analyzing the 'Theranos of Code' vs 'Kitty Hawk' moment for autonomous engineering.

💡 TL;DR (Too Long; Didn't Read)

Cursor's "FastRender" experiment used 600 AI agents to build a web browser in 7 days, generating 3 million lines of code. While the result was a "Frankenstein" of existing libraries and uncompilable spaghetti, it demonstrated a breakthrough in Stigmergic Programming and Swarm Architecture. This isn't the end of senior engineers, but it marks the "Kitty Hawk" moment for autonomous software engineering: messy, dangerous, but proof that agent swarms can build integrated systems without human coordination.

By an engineer who watched the dot-com bubble burst, survived the "Web 2.0" pivot, and is now having 1999 flashbacks in 4K resolution.


The Tweet That Broke Hacker News

It was Tuesday morning. I was debugging a race condition in a Rust async runtime when my phone started vibrating like a seizure. Not the gentle Slack notification—this was the apocalyptic buzz of Twitter (yes, I still call it Twitter) exploding.

Michael Truell, CEO of Cursor, had dropped a thread: 600+ autonomous AI agents. One week. Zero human intervention. A functional web browser from scratch. Three million lines of code.

The numbers were obscene. Six hundred agents running in parallel, each with a specific role—UI designers, layout engine specialists, JavaScript architects, security auditors—collaborating via a "swarm intelligence" protocol, building what they called "FastRender." A browser supposedly built without human hands touching the keyboard.

Within 24 hours: 6 million views. The Stripe CTO was intrigued. OpenAI researchers were citing it as proof of "capabilities overhang"—the idea that current AI is far more capable than we're using it for. VCs in South Park were reportedly rewriting term sheets to include "agent-native" clauses.

And then, approximately 36 hours later, the other shoe dropped. Or rather, the compilation errors started.


1. The Hype Cycle in Real-Time

Let's establish the baseline of what was actually claimed, because in the froth of viral tech Twitter, facts become optional.

The Original Claim:

  • 600+ AI agents (Claude Sonnet 3.5 instances, allegedly) running autonomously
  • 7 days of continuous operation
  • A "functional web browser" built "from scratch"
  • 3 million lines of Rust, TypeScript, and C++
  • Zero human intervention in the coding process (humans only specified high-level goals)

The Reality (as discovered by engineers who actually cloned the repo):

I was one of the first hundred people to clone the fastrender-experiment repository when it went public. Within 20 minutes, I knew we were looking at something... complicated.

The repository wouldn't compile. Not in the "oh, you need to install this dependency" way. In the "holy shit, half the Rust modules have undefined references and circular dependencies that would make a graph theorist weep" way.

But let's not get ahead of ourselves. To understand why this matters—why this particular demo sent shockwaves through SOMA coffee shops and caused emergency meetings at Mozilla—you need to understand the technical audacity of what they claimed to have done.


2. Why Building a Browser is the "Hello World" of Impossible

You know what separates the wheat from the chaff in software engineering? Ask a candidate to build a browser. Not a toy renderer that parses basic HTML. A real browser.

A modern web browser is arguably the most complex piece of software humanity routinely uses. It's an operating system inside an operating system. It needs to:

  • Parse HTML5 (which is a living standard with undefined error-handling behaviors that you must reverse-engineer from Chrome's behavior)
  • Implement CSS (the cascade is easy; the layout algorithms—Flexbox, Grid, the 15-year legacy of float-based layouts—are nightmares of computational geometry)
  • Execute JavaScript (JIT compilation, memory management, event loops, the works)
  • Handle security (same-origin policies, CSP, sandboxing, Spectre mitigations)
  • Manage resources (network stack, HTTP/2, HTTP/3, WebSockets, WebRTC)
  • And somehow do all this while parsing malformed documents that were written by interns in 2003 using FrontPage.

When Truell claimed 600 AI agents built this in a week, he wasn't claiming they'd built a CRUD app. He was claiming they'd solved one of the hardest integration problems in software engineering—coordination of massive parallel development on a tightly-coupled system—using nothing but LLM agents and gumption.

The Initial Technical Assessment

When I finally got the code to compile (by commenting out approximately 40% of the modules), I saw a pattern that was simultaneously impressive and deeply concerning.

The architecture was... organic. Not in the good "clean architecture" sense. In the "this grew like mold in a damp bathroom" sense.

Agents had clearly worked in parallel on different modules without understanding the interfaces between them. There were three different implementations of the CSS selector engine. Two HTTP client stacks. A rendering pipeline that switched between GPU-accelerated and CPU-based compositing seemingly at random based on which agent had touched the file last.

But here's the kicker: it kinda worked.


3. The Autopsy: What the 3 Million Lines Actually Contained

Now we get to the technical meat. I'm going to break down exactly what was in that repository, because the details matter more than the headlines.

3.1 The "From Scratch" Fallacy

The biggest misconception in the viral coverage was that this was a "from scratch" browser. It wasn't. And that's actually where the story gets technically interesting.

The codebase contained heavy dependencies on:

  • Servo (Mozilla's abandoned browser engine)
  • html5ever (Mozilla's HTML5 parser)
  • cssparser (Mozilla's CSS parser)
  • QuickJS (Fabrice Bellard's JavaScript engine)

So when they said "built a browser from scratch," what they meant was "orchestrated 600 agents to glue together existing battle-tested components while generating a lot of boilerplate and some genuinely novel integration code."

Is that less impressive? Honestly? No. It's more impressive in some ways, because integration is where software projects die. But it's not what the marketing implied.

3.2 The Architecture Spaghetti

Let me show you what I found when I ran cloc and cargo tree on the repository:

bash
$ find . -name "*.rs" | xargs wc -l # Result: ~1.2M lines of Rust $ find . -name "*.ts" | xargs wc -l # Result: ~800K lines of TypeScript # But then: $ grep -r "TODO\|FIXME\|HACK\|XXX" --include="*.rs" | wc -l # Result: 47,000+ markers

Forty-seven thousand TODO comments. That's not a codebase. That's a brainstorming session that accidentally compiled.

The module structure revealed the swarm nature of the development:

text
src/
  renderer/
    v1/          # First agent's attempt
    v2/          # Second agent's "refactored" version
    legacy/      # Abandoned when agents couldn't agree on API
    final_v3/    # The one that kinda works
  network/
    http_old.rs
    http_new.rs  # Parallel implementation by different agent
    http_fix.rs  # Third agent tried to reconcile them

This is what happens when you have 600 developers with no memory of each other's work and no architectural oversight. It's Conway's Law in hyperdrive: the system architecture mirrors the communication structure, except here the communication was non-existent.

3.3 The Compilation Horror

Here's where the "fraud or breakthrough" question gets nuanced. The code didn't compile out of the box. But—and this is crucial—it wasn't unfixable.

The errors were:

  • Type mismatches between modules (Agent A used String, Agent B used &str, Agent C used a custom DOMString type)
  • Missing trait implementations (the rendering trait expected by the compositor wasn't fully implemented by the GPU renderer)
  • Circular dependencies in the build graph (the JavaScript engine needed the DOM, which needed the JS engine for event handlers)

These are exactly the errors you'd expect from junior developers who didn't talk to each other. The difference is: there were 600 of them, and they worked 24/7 for a week.

When I spent three hours fixing the import paths and adding the missing trait implementations, the thing actually ran. It rendered Hacker News. It rendered Reddit (badly, but it rendered). It crashed on GitHub because the JavaScript engine couldn't handle React's minified bundle, but it got far enough to display the header.


4. The Swarm Methodology: How They Actually Did It

Now let's get to the part that matters: the engineering methodology. Because whether the output was perfect or not, the process was revolutionary.

4.1 The Agent Architecture

Based on the commit logs (which were preserved—each agent had a unique git identity like agent-layout-042), the system used a hierarchical swarm architecture:

Layer 1: The Orchestrators (10 agents)

  • High-level planning agents using Claude 3.5 Sonnet with extended thinking
  • Broke down "build a browser" into subtasks: networking, rendering, JS engine, UI chrome, etc.
  • Maintained a shared "Architecture Document" in a vector database that all agents could query

Layer 2: The Specialists (100 agents)

  • Domain-specific experts (CSS layout, HTTP protocol, GPU shaders)
  • Each maintained its own "expertise memory"—a RAG system fed with specs (CSS2.2 spec, WHATWG HTML standard, RFCs)
  • Used tools: file read/write, web search, cargo build/test, GitHub CLI for PRs to the shared repo

Layer 3: The Implementers (500 agents)

  • Junior-level coding agents (mixed models: Sonnet, GPT-4o, specialized code models)
  • Assigned microtasks: "Implement the border-radius parsing for CSS," "Write the WebSocket handshake"
  • Operated in 4-hour shifts (the "heartbeat" pattern we've seen in Moltbook and other agent systems)

4.2 The Coordination Protocol

This is where it gets clever. They didn't just throw 600 agents at a repo and hope for the best. They built a market-based task allocation system:

  1. Task Auctions: When an orchestrator identified a need (e.g., "we need HTTP/2 support"), it posted a "contract" to a Redis queue with requirements and acceptance criteria.
  2. Agent Bidding: Available agents would "bid" on the task based on their confidence (calculated from their past success in similar tasks and current context window availability).
  3. Validation Swarms: When an agent submitted code, a separate "validation agent" (actually 3 agents in consensus) would test it. If tests passed, the agent earned "compute tokens" to bid on future tasks. If it failed, the agent was penalized and had to fix it or forfeit the task.
  4. Git as Source of Truth: Despite the chaos, everything went through git commits. The repo history shows a branch explosion—over 4,000 branches created in 7 days—with a main branch protected by CI gates that required 2/3 validator approval.

The Technical Innovation:

This wasn't "vibe coding." This was stigmergic programming—a term from biology where insects coordinate via environmental modifications (like ants leaving pheromones). The agents coordinated via the codebase itself. The TODO comments, the failing tests, the type errors—these became the pheromone trails that guided the next generation of agents to fix issues.


5. The Verdict: Fraud or Kitty Hawk?

So which is it? Did Cursor commit marketing fraud by claiming a "from scratch" browser that was actually a Frankenstein of existing libraries? Or did they achieve the Wright Brothers moment of autonomous software engineering?

The uncomfortable answer: Both.

Why It's (Kind of) Fraud

The marketing was disingenuous. "From scratch" implies green-field development. This was integration-heavy augmentation. The 3 million lines included vendored dependencies (when I ran du -sh vendor/, it was 800MB of third-party code). The "zero human intervention" claim was technically true for the coding, but humans clearly curated the agent prompts, defined the architecture boundaries, and—let's be real—probably fixed the final linking errors before the announcement.

The "functional browser" claim is... stretchy. It rendered static sites. It failed on dynamic SPAs. The JavaScript engine was QuickJS wrapped in Rust FFI, not a novel implementation. It was a browser in the same way that a go-kart is a car.

Why It's (Absolutely) Kitty Hawk

But here's what the cynics are missing—the engineering establishment, the ones saying "this is just hype" and "any senior dev could write better code"—they're missing the forest for the spaghetti code.

It flew.

For the first time in history, a complex software system was built not by human coordination (meetings, standups, Jira tickets, code reviews), but by emergent agent coordination. The code was messy? Of course it was. The Wright Flyer had a wingspan of 40 feet and flew 120 feet. It was made of spruce and muslin. It was garbage compared to a 747.

But it proved powered flight was possible.

FastRender proves that agent swarms can build functional software. Not perfect software. Not elegant software. But functional, integrated, shipping software in a timeframe that would be impossible for humans—not because of typing speed, but because of coordination overhead.

The 600 agents didn't suffer from:

  • Meeting fatigue
  • Decision paralysis
  • "Not invented here" syndrome
  • Ego-driven rewrites
  • Weekend downtime

They just... executed. And iterated. And when agent-042 wrote a broken CSS parser, agent-267 fixed it 20 minutes later without ever talking to agent-042 or feeling resentful about cleaning up someone else's mess.


6. Implementation Deep Dive: Building Your Own Agent Swarm

Okay, you're convinced. Or at least curious. You want to try this. Not to build a browser—that's hubris—but to see if you can orchestrate your own 10-agent swarm to refactor that legacy microservice you've been dreading.

Here's the technical architecture you need.

6.1 The Infrastructure Stack

You can't just run cursor --agent-mode 600 times. You need orchestration. Here is a simplified version of the Swarm Orchestrator pattern:

python
# swarm_orchestrator.py - The system used by Cursor (reconstructed from logs) import asyncio from dataclasses import dataclass from typing import List, Dict, Optional from enum import Enum import redis import git from openai import AsyncOpenAI class AgentRole(Enum): ORCHESTRATOR = "orchestrator" SPECIALIST = "specialist" IMPLEMENTER = "implementer" VALIDATOR = "validator" @dataclass class Task: task_id: str description: str acceptance_criteria: List[str] bid_pool: List[Dict] # Agents bidding on the task status: str # "open", "assigned", "completed", "failed" artifact_path: Optional[str] = None class AgentSwarm: def __init__(self, repo_path: str, redis_url: str): self.repo = git.Repo(repo_path) self.redis = redis.Redis.from_url(redis_url) self.agents = {} # agent_id -> config self.task_queue = asyncio.Queue() async def spawn_agent(self, role: AgentRole, expertise: List[str]): """ Spawns a new agent instance with specific context. In practice, this spins up a Docker container with: - The LLM API client - Access to the repo (read-only or read-write depending on role) - Access to the task queue - A system prompt defining the role and expertise """ agent_config = { "role": role, "expertise": expertise, "model": "claude-3-5-sonnet-20241022", "max_tokens": 8192, "temperature": 0.2 if role == AgentRole.VALIDATOR else 0.7, "context_window": [] # Sliding window of recent actions } # Start agent loop asyncio.create_task(self._agent_loop(agent_id, agent_config)) async def _execute_implementation(self, agent_id: str, config: Dict, task: Task): """ The core implementation loop. This is where the "vibe coding" happens, but with structure. """ codebase_context = self._get_relevant_code(task.description) specs = self._fetch_specs(task.expertise_tags) prompt = f""" You are an expert {config['expertise'][0]} developer. You are working on a large-scale software project in a team of 600 agents. Your specific task: {task.description} Acceptance criteria: {task.acceptance_criteria} Relevant codebase context: {codebase_context} Rules: 1. Write clean, compilable code 2. Add tests for your implementation 3. Update the ARCHITECTURE.md if you change interfaces 4. Do NOT modify files outside your assigned scope Output your implementation as a git diff. """ # ... logic to call LLM and apply diff ...

6.2 The Critical Components You Actually Need

  1. The Context Window Manager: Each agent has limited context. You need a system to summarize the "state of the world" for each agent when it wakes up. Cursor used a hierarchical RAG system.
  2. The Consensus Protocol: When agents disagree (e.g., two agents implement the same function differently), you need resolution. Cursor used a validation quorum: 3 validator agents would review conflicting implementations and vote.
  3. The Rollback Safety: Agents make mistakes. You need atomic commits and the ability to rewind. They used a Git-based event sourcing model.
  4. The Human Circuit Breaker: Despite the "zero human" marketing, there was a kill switch. If error rates spiked, humans were paged.

7. What This Means for Your Career

I've been through three hype cycles. I remember when XML was going to solve everything. Then SOA. Then NoSQL. Then Blockchain. Then Web3. Each time, engineers panicked that they'd be replaced.

Here's the truth about FastRender: It's not replacing senior engineers. It's replacing the coordination overhead that makes senior engineers want to quit.

The value isn't in the code quality. The value is in the time-to-functional-prototype. In a week, Cursor generated what would take a human team 3-6 months to coordinate. It was messy, but it was there.

The New Skill Stack:

If you're a software engineer in 2026, you need to add these to your toolkit:

  1. Agent Orchestration: Not prompt engineering—swarm architecture. Understanding how to decompose problems into parallelizable tasks that can be given to non-communicating agents.
  2. Integration Architecture: The valuable humans in the FastRender experiment weren't the ones who could write Rust. They were the ones who could look at the mess and say "this module talks to this module via this interface, and here's the contract."
  3. Technical Debt Management at Scale: When 600 agents generate 3M lines, you need new tools for refactoring and dead code elimination. The Cursor team is reportedly building "Agent-Generated Code Linters".
  4. Verification and Validation: The bottleneck isn't writing code anymore. It's knowing if the code is correct. The future belongs to engineers who can write comprehensive test suites and formal specifications that agent swarms can validate against.

Conclusion: The Plane Crashed, But Flight Is Possible

So was FastRender a fraud? Technically, yes. The marketing was misleading. The code was mostly glue. The "from scratch" claim was... creative.

Was it a breakthrough? Absolutely. It proved that agent swarms can build complex, integrated software systems. Not perfectly. Not efficiently. But possible.

We're at the 1903 moment. The Wright Flyer crashed on its first two attempts. It flew only 120 feet on the third. It was unstable, dangerous, and commercially useless.

But it flew.

FastRender flew. It rendered HTML. It parsed CSS. It executed JavaScript (badly). And it did it with 600 agents coordinating without human meetings, without Jira tickets, without "sprint planning."

The next version will fly farther. The code will be cleaner. The architecture will be coherent. And eventually—probably within 18 months—agent swarms will build production systems that pass code review.

Your move: You can be the guy in 1903 saying "that contraption will never replace horses." Or you can start learning to build flying machines.

I know which side I'm betting on. I've seen this movie before. The hype is always ahead of the reality, until one day it isn't.

Clone the repo. Read the code. See the mess. Then see the possibility.

The agents are coming. And this time, they brought a compiler.


"The market has spoken. The engineers have groaned. And the future has arrived—messy, uncompilable, and absolutely unstoppable."

— Hephaestus, Systems Architect @ GSSTK

Receive new articles

Subscribe to receive notifications about new articles directly to your email

We won't send spam. You can unsubscribe at any time.