Skip to content
Aakash GuptaAakash Gupta

I got an inside look at how OpenAI PMs ship code

Ryan Lapopolo, OpenAI Frontier team, leads the team building Codex. In this episode, he walks through why code is now a liability instead of an asset, how to run a billion tokens a day in your engineering org, the three-phase harness his team uses, and the painted-door technique for validating features before any backend code gets written. If you want to see what the frontier of AI software engineering actually looks like in 2026, this is the episode. Full Writeup: https://www.news.aakashg.com/p/how-pms-ship-100k-lines-of-code Transcript: https://www.aakashg.com/how-pms-ship-100k-lines-of-code/ --- Timestamps: 00:00 - Intro 03:18 - Why code is a liability now 11:43 - Ads 13:10 - Building an internal agent from an empty codebase 20:04 - Breadth-first search through the agent's missing capabilities 20:43 - When a PM's PRD goes straight to a shipped PR 27:54 - The painted-door technique inside the codebase 28:41 - Ads 31:36 - The harness and the three phases of agent work 40:00 - Ryan's actual Codex setup, end to end 50:45 - The billion-tokens-a-day benchmark and the 60-hour PR 1:00:34 - The Monday morning roadmap for a normal company 1:11:00 - Why one agent beats multi-agent handoffs 1:13:31 - Where to find Ryan 1:14:08 - Outro --- Thanks to our sponsors: 1. Product Faculty - Get $550 off their #1 AI PM Certification with code AAKASH550C7 - https://maven.com/product-faculty/ai-product-management-certification?promoCode=AAKASH550C7 2. Bolt - Ship AI-powered products 10x faster - https://bolt.new/solutions/product-manager?utm_source=Promoted&utm_medium=email&utm_campaign=aakash-product-growth 3. Customer.io - Send smarter messages using your product data - http://customer.io/productgrowth 4. Ariso - Ship AI agents and features faster, with fewer regressions - https://ariso.ai/aakash 5. Pendo - The #1 software experience management platform - http://www.pendo.io/aakash --- Key Takeaways: 1. Code is a liability, not an asset - Every engineering org was built around the assumption that code is expensive to produce, validate, and deploy. Codex inverts this. Code is now the cheapest part of the stack and the constraint moves to how clearly you describe the problem. 2. The new constraint is product decisions per week - With code generation effectively free and parallel, the bottleneck is no longer keystrokes. It is the quality of the brief, the clarity of the architectural boundaries, and the speed of verification. 3. A billion tokens a day is the new floor - Ryan's claim is that if you are not running this volume you are negligent. The math comes out to roughly $2K to $3K per engineer per month, which is trivial against the headcount cost of human-only execution. 4. A single PR can burn 350 million tokens - One refactor that would have taken Ryan three weeks ran on Codex for 60 hours straight across three days. He gave it two prompts total after the initial spec. The output matched what he would have produced himself. 5. The harness is the actual product - Codex CLI is the surface. The harness is everything that gets the agent the right context at the right phase. Pre-work, messy middle, and close. Each phase needs different context, different tools, and different verification. 6. agents.md is forcibly injected context - This file lives in the repository root and is always loaded into the agent's context. Use it for the operating model and the non-negotiable rules. Everything else gets pulled in dynamically because context is a hard, scarce resource. 7. The painted-door technique works inside the codebase - Ryan's team enforces package boundaries so a designer can paint a fake UI on top of stubbed APIs. Real usage signal, no backend cost. This only works because the architecture refuses to permit a ball of mud. 8. The PM's PRD can become a shipped PR in one week - In Ryan's setup, the PM wrote a markdown PRD, the team reviewed it in a Monday meeting, and a working feature shipped to customers by the following week with zero PM-to-engineer back-and-forth. 9. The Monday morning roadmap starts with legibility - The first move is making the repository legible to the agent. Write the implicit team decisions down in a documentation tree. Use @-mention Codex to keep that tree updated whenever a Slack thread surfaces a new guardrail. --- Where to find Ryan Lapopolo: X: https://x.com/Laoplo LinkedIn: linkedin.com/in/ryanlopopolo Where to find Aakash: X: https://x.com/aakashgupta LinkedIn: https://www.linkedin.com/in/aagupta/ Newsletter: https://www.news.aakashg.com #AIPM #OpenAI --- 🧠 About Product Growth: The world's largest podcast focused solely on product + growth, with over 200K+ listeners. 🔔 Subscribe and turn on notifications.

Aakash GuptahostRyanguest
May 24, 20261h 14mWatch on YouTube ↗

CHAPTERS

  1. 0:00 – 5:56

    Why “code is a liability” in an agentic world

    Ryan reframes code from a scarce, expensive artifact (human throughput-limited) into something cheap to generate with modern coding agents. The new bottleneck shifts from writing code to validating it and maintaining quality with less direct human attestation.

    • Traditional orgs treat code as costly to produce/validate/deploy, so they build heavy process around it
    • Codex/GPT-5 makes code generation effectively abundant and parallelizable
    • Removing humans from direct code production creates new quality/verification challenges
    • Agents reduce lossy handoffs between customer needs → PRD → implementation
  2. 5:56 – 12:57

    Rethinking roles: from EPD silos to “one agent with many perspectives”

    Aakash presses on what happens to PM/design/engineering boundaries when everyone can touch code. Ryan argues roles still matter for diverse judgment, but the work changes: everyone contributes their worldview into a shared agentic system rather than guarding lanes.

    • The right question isn’t “which roles do we hire more/less of?” but “how do we encode diverse judgment?”
    • Agentic models can do the full job across discovery, implementation, deployment, and learning loops
    • Diverse perspectives (PM, design, eng) improve the agent’s output when compiled into shared context
    • Goal: reduce expensive handoffs and make collaboration happen inside the same code artifact
  3. 12:57 – 18:14

    An internal experiment: building an agent from an empty repo (1M LOC, 0 human-written)

    Ryan describes an OpenAI internal project started from a blank codebase where Codex produced all code. The team’s job became steering, diagnosing failures, and encoding corrective guardrails into the repository so future runs self-correct.

    • Started from zero to build a non-engineering knowledge-work agent using Codex
    • Repo grew to ~1M lines, including ~250k lines of markdown prompts (agents ship prompts)
    • Hard constraint: humans wrote zero lines—engineers could only “backseat drive”
    • Engineers focused on improving GPS/harness: tests, lints, knowledge corpus, critical journeys
  4. 18:14 – 20:35

    The slow first month: recursive dependency digging as a breadth-first search

    Early progress was dramatically slower because the agent lacked foundational primitives (e.g., Slack access). The team repeatedly decomposed goals until they found the missing lowest-level capability, built it, then climbed back up—banking leverage each time.

    • Initial goal (triage Slack outages) exposed missing capabilities and harness gaps
    • Work recursed through prerequisites: Slack access → credential mgmt → keychain → secure coding primitives
    • Treating capability-building as breadth-first search creates reusable leverage for all future work
    • Mistakes get eliminated by encoding fixes into repo guardrails, not repeated human prompting
  5. 20:35 – 24:24

    When a PM’s markdown PRD becomes a shipped PR

    Ryan gives a concrete case where a PM authored a PRD and, without direct engineer collaboration, the feature shipped within a week. This worked because the codebase was modular, interface-driven, and testable with high-fidelity fakes—making “PRD in, product out” feasible.

    • Feature example: durable “skills/knowledge” library that interviews users and reuses learned context
    • PRD reviewed early week; demo by end of week; rolled out soon after
    • Modular architecture: interfaces + hidden implementations reduce spaghetti risk
    • High-fidelity fakes enable tests to exercise real business logic safely
    • Evaluation is artifact-based: does the feature behave correctly, not “is the code pretty?”
  6. 24:24 – 31:40

    The painted-door technique: letting designers ship UI safely without backend spaghetti

    A failed attempt at building scheduling/automation created unwanted coupling and messy infrastructure. The team adopted a “painted door” norm: designers can ship realistic UI with no-op backend stubs plus instrumentation to test desirability before full engineering investment.

    • Failure mode: designer built cron/scheduler plus infra before harness rules were mature
    • Result: spaghetti dependencies (e.g., scheduler logic in the wrong layer), leading to a revert
    • Painted door: full UI exposure with backend no-ops to validate interaction patterns
    • Instrumentation provides signal to prioritize backend work and improves triage/scheduling
  7. 31:40 – 39:54

    Harness engineering: the three phases of agent work and how context gets injected

    Ryan defines the harness as the system that provides Codex the right context across planning, implementation, and review. Key elements include a root agents.md, a rich docs tree, codebase homogeneity, tests/lints as taste enforcers, and multi-persona review agents in CI.

    • Three phases: (1) plan/work breakdown, (2) messy implementation/debugging, (3) PR review/merge confidence
    • agents.md is forcibly injected context—powerful but constrained by context window costs
    • Docs tree holds playbooks, critical journeys, and team decisions; agent chooses what to pull
    • Tests/lints encode human taste (e.g., typography/curly quotes) as enforceable constraints
    • CI runs persona review agents (frontend arch, app sec, reliability) to generate actionable feedback
  8. 39:54 – 41:56

    Practical setup: Codex CLI vs app, and why plugins become the team’s distribution layer

    Aakash asks for concrete tooling details. Ryan explains they intentionally used a frictionful CLI workflow to discourage “watching the agent,” but says today the Codex app plus shared plugins is the better default—especially for wiring tools like Figma and distributing team guardrails.

    • Intentional friction: CLI + multiple tabs to prevent people from babysitting the agent
    • Codex app now centralizes the workflow and scales well across teams
    • Plugins can package “collective taste,” tools, and instructions for reuse
    • Pre-wiring Figma allows Codex to stay current on mocks more reliably than humans
  9. 41:56 – 48:30

    Inside the repo: exec plans, llms.txt references, self-maintaining docs, and observability in local dev

    Ryan walks through what’s actually in the repository that makes the harness work: durable planning logs, design docs, cross-linked documentation that fails builds when stale, and embedded third-party references (llms.txt). They also give Codex production-like observability and UI-driving capability to close the loop end-to-end.

    • Everything important lives in-repo: exec plans, design docs, user journeys, operating norms
    • Docs are enforced by tests: cross-links and “current as of” rules must stay consistent or builds fail
    • Vendored llms.txt references for major dependencies (Stripe/OpenAI docs, internal design system)
    • Local dev includes observability tooling for logs/metrics—like giving Codex “Datadog for every change”
    • UI loop closure via browser shell + DevTools; newer “computer use” reduces bespoke plumbing
  10. 48:30 – 50:41

    Architecture as access control: preventing a ball-of-mud and defining safe contribution lanes

    To make broad contribution safe, the system constrains where code can go. Ryan describes enforced package layering and boundaries that prevent spaghetti by construction, and norms that map roles to layers (e.g., PM in business logic/UI, designer in UI with stubs).

    • Static package boundaries limit non-local side effects and prevent “ball of mud” codebases
    • Business logic is isolated into domains with fakes, enabling safer prototyping and tests
    • Role-based norms: engineers anywhere; PM mostly business logic/UI; designer mostly UI + API stubs
    • Folder-path and layering rules function like practical ACLs enforced by the code structure
  11. 50:41 – 53:26

    The “billion tokens a day” standard—and the 60-hour, 350M-token PR

    Ryan argues heavy token usage is a rational investment because more inference yields better results and more autonomy. He shares an extreme example: a single long-running Codex session producing a major refactor in days with only a few human prompts—enabled by harness investment.

    • More tokens → more effective reasoning/inference → better autonomy and output quality
    • North Star: push agents to do more work independently and in parallel
    • Example: ~350M tokens on one PR; ~60-hour session; only 2 extra prompts beyond the first
    • Harness-driven context and quality gates allow long-horizon work without constant steering
  12. 53:26 – 56:41

    Capability inflection: GPT-5.2+ autonomy, Symphony orchestration, and computer-use removing glue code

    Ryan dates the big workflow change to GPT-5.2, after which productivity jumped without additional process changes. With higher baseline reliability, they added parallelization via an orchestrator (Symphony) and benefited from computer-use features that eliminated custom UI-driving plumbing.

    • GPT-5.2 delivered a major uplift; subsequent point releases kept accelerating
    • Observed impact: +1–2 PRs/day/engineer immediately; later 10× PRs/week with orchestration
    • Symphony: ticket state machine that turns ticket text into PRs at scale
    • Computer use reduced earlier complexity (FFmpeg/docker/X server setups) for UI testing/verification
  13. 56:41 – 1:00:39

    The new engineering job: staff-level leverage, “five interns named Codex,” and identity shift

    Ryan reframes engineering as building systems that empower massive parallel code production rather than personally typing code. He addresses the ego/identity shift and argues the craft moves to assembling a “virtual team,” ensuring quality by default, and keeping GPUs/productive tokens saturated.

    • Engineers become leverage builders: encode guardrails, verification, and process into the harness
    • Mental model: every team effectively “hires” multiple Codex interns; success is using them well
    • Systems-thinking focus: reduce thrown-away PRs, avoid repeated review cycles, keep compute productive
    • Identity shift: value is shipping user outcomes; new craft is orchestrating and structuring work
  14. 1:00:39 – 1:06:26

    Monday-morning roadmap: make the repo legible, make validation cheap, and expand harness users

    Ryan provides a practical adoption plan for normal companies over ~6 months. The core steps are documenting team-specific “what good looks like,” building closed-loop validation, and pulling PM/design/ops into the same harness flywheel so improvements compound.

    • Start by externalizing implicit team decisions into a docs tree and an agents.md map
    • Use @Codex to convert Slack learnings into durable guardrails and keep docs updated
    • Invest in cheap validation: tests, lints, end-to-end proof that UI and side effects match the brief
    • Broaden participation beyond engineers to extract domain expertise and improve quality/throughput
    • Example emergent win: documenting product features led to QA agents that run critical journeys
  15. 1:06:26 – 1:14:45

    Looking to 2027: more experimentation, one-agent advantage, and where to follow Ryan

    They close with a forward look: product teams will prototype more rapidly across modalities as agents become more capable at end-to-end work. Ryan argues the optimal multi-agent system often collapses to a single well-contextualized agent, then shares where to find his writing and talks.

    • Future teams iterate faster and explore more UI/modalities beyond low-fidelity text interfaces
    • Key personal skill: close the loop—let agents see/drive the app and prove the change works
    • Common leadership mistake: treating coding agents as synchronous tools instead of autonomous teammates
    • Case for OpenAI stack: full-job agentic optimization + compaction + parallel tools + computer use
    • Ryan’s links: X (@_lapopolo), OpenAI blog, upcoming conference appearances

Get more out of YouTube videos.

High quality summaries for YouTube videos. Accurate transcripts to search & find moments. Powered by ChatGPT & Claude AI.