
Product and engineering lead for the Codex desktop app at OpenAI
Andrew Ambrosino is the product and engineering lead for the Codex desktop app at OpenAI, a designer turned engineer turned product manager. The thing most worth learning from him is that when building is cheap, taste and picking the right format matter most, and features that fail today should be retried as models improve.
The implementation is actually not the expensive part anymore. It's dare I say taste.
Why OpenAI is merging Codex and ChatGPT and the future of knowledge work | Andrew Ambrosino
Ambrosino moved from designer to engineer to product manager. He now builds the app that others use to build their own products, and says he is held to making it the best desktop app that has ever existed.
He long felt he should not be a software engineer because he did not care about assembly or memorizing TypeScript syntax.
He failed for 10 to 15 years before Codex worked. He was a startup founder for years and sold that company essentially for parts. A second startup built AI tools in another locked-down, regulated industry, and things kept not working.
His read is that things work only when skill set, passion and the market line up at one moment.
Codex grew from a coding tool into the app OpenAI opens first. Usage is up 6x since January to over 5 million weekly users, with nearly 100% of OpenAI employees using it weekly. People use it for files, documents, data analysis and email as well as building products.
These figures rest on his word alone, and he expects them to be out of date quickly.
His favorite lesson is agency: you can just do things. He takes it from the children's book The Big Orange Spot, where a man repaints his house after it is hit by orange paint and the neighbors copy him one by one.
He says the new fluidity between roles suits people with agency who want to do whatever needs doing.
The Codex app dogfoods itself, even where it is the worse tool. His goal was to build the Codex app with Codex, and each gap he hit became a fix that let him do more. The team does as much work as possible in the app so it becomes the best tool.
The cost is that the team often does not improve its own process, so the product has to improve instead. He calls this uncomfortable.
He is confident the app would have failed if released in November. The Codex app shipped in February, and he says the only difference from November was the models.
This claim has no data behind it beyond his judgment.
He treats failed features as artifacts to retest at each model leap. Operator, the agent in Atlas, the in-app browser and Codex are the same idea released again with better intelligence. At a past company he prototyped a year or two of ideas, shipped what was ready and let the rest sit.
"It might not be ready yet." People still have the muscle memory that code written means ship.
The first Codex web was too early in form. It took a task, went off and came back finished, but did not do the task well enough. Claude Code launched local, asked questions and fit the models of the time better.
He says "we were too agi pilled for the moment", and that a product may need releasing six times before it works.
Non-technical staff stayed in Codex, which pushed it toward general work. Marketing, comms, finance and legal staff used the app even though it showed code and asked for command approvals. Adding Codex to the ChatGPT desktop app and Atlas did not pull them away.
"Nobody would leave the Codex app for the apps that were allegedly for these other personas." The plan is to start simple and add complexity from what each user does.
Codex drives specialist tools instead of rebuilding them. Brent, the in-house videographer, edited the Codex app launch videos with it. Codex first edited the files behind Premiere Pro, then built itself an extension to work inside the program.
The aim is a place where work starts, ends and gets automated, handing editing off to the video editor. He dislikes the label "super app".
He says implementation is no longer the expensive part of product work. With unlimited tokens everybody at OpenAI builds everything, so there are probably 90 uncoordinated attempts at any needed feature. Product work now runs backwards: many builds first, judgment after.
The old process de-risked through documents, research and prototypes because building could only happen once.
He defines taste as aesthetics plus systems thinking and direction. It covers how a thing fits the whole, which theme it belongs to and how it is framed, even whether an animation is too snappy for its meaning.
He recalls a Linear product head's tweet using Paul Graham as the example: great taste, cargo shorts. The real question is what the goal is if anything can be built.
He picks documents or prototypes by the point to be made. A document suits product clarity in a vague area, and a prototype suits stress testing an interaction. He does not believe PRDs are dead.
Non-engineers over-prototype and engineers write many documents not worth reading.
He labels prototypes by stage so polish is not read as readiness. A production-looking app used to signal that risks were removed and design reviewed. That signal is gone, so people over-anchor on explorations.
"You do not want to over anchor on this thing that was meant to be an exploration."
He keeps a baby version of the product for design exploration. A baby Codex is a simplified codebase that approximates the app's interactions, so designers can vibe code over it and test ideas quickly.
He says the old design process is dead if you are tied to its day-to-day specifics, but dropping the sense of which stage you are in is the mistake.
He expects models to stay weak at design for now. Design needs novelty and models drift toward known patterns. They also struggle with the layer between design and code, such as a rebrand that must grasp semantics instead of updating 263 components one by one.
Design is also harder to grade than code and was not part of the research flywheel.
He runs product managers as a zone defense. PMs spread out to cover gaps across the company and guide bottom-up ideas from inception. The core team has double-digit engineers, about half that many designers and few product people.
"If two product people are working too closely that's often not a good signal." He hires product-minded engineers so a team need not review a pile of code for coherence.
He keeps the product role and calls dropping it a terrible idea. Some companies are removing it so everyone is a "builder". He says product holds best practices and lessons from past failures that get abandoned.
What erodes is gatekeeping by tool. Roles are the average of where someone's work falls, not a fence around it.
He hires for agency and taste, since everyone now manages something. ICs manage agents and managers manage teams, at different granularity. The team is mostly ICs, many of them former founders.
"We can't just be doing slop."
He plans in detail near term and keeps long-range plans hazy. Models decide what is possible, so he treats precision on a nine-month plan as false precision.
The team needs a view of what models can do and when.
He automates his own job with a daily brief and automations. A scheduled task gives him a morning brief across about 3,000 Slack channels, and he answers five questions from it. For the May release, automations pulled pull request and Slack updates into a status tracker.
He steered the first runs in plain language. He admits the setup is too hard for people outside OpenAI.
He promotes workflows many people invent into product primitives. Memory is the example: people built Obsidian or Notion mind palaces, so a generic memory feature should do that. Job-specific processes stay the user's own.
The team keeps asking "what should become a primitive what shouldn't".
He wants overnight cleanup because models add code complexity. The team explores overnight garbage collection of the codebase, and he asks research teams for models better at deleting code. 100% of the product's code is already AI-written.
A self-improving loop is not possible yet, since a model must learn which requests to build, ignore, group or reframe. The costs of 90 uncoordinated attempts are left unquantified.
Cheap implementation has flipped product work: anyone can build anything, so curation, taste and picking the right medium matter most. The Codex team's habits (dogfooding, zone-defense PMs, hazy long-range plans, re-releasing features as models improve) helped usage grow 6x since January to over 5 million weekly users, with nearly 100% of OpenAI employees using it weekly.
Ambrosino moved from designer to engineer to product manager. He now builds the app that others use to build their own products, and says he is held to making it the best desktop app that has ever existed.
He long felt he should not be a software engineer because he did not care about assembly or memorizing TypeScript syntax.
He failed for 10 to 15 years before Codex worked. He was a startup founder for years and sold that company essentially for parts. A second startup built AI tools in another locked-down, regulated industry, and things kept not working.
His read is that things work only when skill set, passion and the market line up at one moment.
Codex grew from a coding tool into the app OpenAI opens first. Usage is up 6x since January to over 5 million weekly users, with nearly 100% of OpenAI employees using it weekly. People use it for files, documents, data analysis and email as well as building products.
These figures rest on his word alone, and he expects them to be out of date quickly.
His favorite lesson is agency: you can just do things. He takes it from the children's book The Big Orange Spot, where a man repaints his house after it is hit by orange paint and the neighbors copy him one by one.
He says the new fluidity between roles suits people with agency who want to do whatever needs doing.
The Codex app dogfoods itself, even where it is the worse tool. His goal was to build the Codex app with Codex, and each gap he hit became a fix that let him do more. The team does as much work as possible in the app so it becomes the best tool.
The cost is that the team often does not improve its own process, so the product has to improve instead. He calls this uncomfortable.
He is confident the app would have failed if released in November. The Codex app shipped in February, and he says the only difference from November was the models.
This claim has no data behind it beyond his judgment.
He treats failed features as artifacts to retest at each model leap. Operator, the agent in Atlas, the in-app browser and Codex are the same idea released again with better intelligence. At a past company he prototyped a year or two of ideas, shipped what was ready and let the rest sit.
"It might not be ready yet." People still have the muscle memory that code written means ship.
The first Codex web was too early in form. It took a task, went off and came back finished, but did not do the task well enough. Claude Code launched local, asked questions and fit the models of the time better.
He says "we were too agi pilled for the moment", and that a product may need releasing six times before it works.
Non-technical staff stayed in Codex, which pushed it toward general work. Marketing, comms, finance and legal staff used the app even though it showed code and asked for command approvals. Adding Codex to the ChatGPT desktop app and Atlas did not pull them away.
"Nobody would leave the Codex app for the apps that were allegedly for these other personas." The plan is to start simple and add complexity from what each user does.
Codex drives specialist tools instead of rebuilding them. Brent, the in-house videographer, edited the Codex app launch videos with it. Codex first edited the files behind Premiere Pro, then built itself an extension to work inside the program.
The aim is a place where work starts, ends and gets automated, handing editing off to the video editor. He dislikes the label "super app".
He says implementation is no longer the expensive part of product work. With unlimited tokens everybody at OpenAI builds everything, so there are probably 90 uncoordinated attempts at any needed feature. Product work now runs backwards: many builds first, judgment after.
The old process de-risked through documents, research and prototypes because building could only happen once.
He defines taste as aesthetics plus systems thinking and direction. It covers how a thing fits the whole, which theme it belongs to and how it is framed, even whether an animation is too snappy for its meaning.
He recalls a Linear product head's tweet using Paul Graham as the example: great taste, cargo shorts. The real question is what the goal is if anything can be built.
He picks documents or prototypes by the point to be made. A document suits product clarity in a vague area, and a prototype suits stress testing an interaction. He does not believe PRDs are dead.
Non-engineers over-prototype and engineers write many documents not worth reading.
He labels prototypes by stage so polish is not read as readiness. A production-looking app used to signal that risks were removed and design reviewed. That signal is gone, so people over-anchor on explorations.
"You do not want to over anchor on this thing that was meant to be an exploration."
He keeps a baby version of the product for design exploration. A baby Codex is a simplified codebase that approximates the app's interactions, so designers can vibe code over it and test ideas quickly.
He says the old design process is dead if you are tied to its day-to-day specifics, but dropping the sense of which stage you are in is the mistake.
He expects models to stay weak at design for now. Design needs novelty and models drift toward known patterns. They also struggle with the layer between design and code, such as a rebrand that must grasp semantics instead of updating 263 components one by one.
Design is also harder to grade than code and was not part of the research flywheel.
He runs product managers as a zone defense. PMs spread out to cover gaps across the company and guide bottom-up ideas from inception. The core team has double-digit engineers, about half that many designers and few product people.
"If two product people are working too closely that's often not a good signal." He hires product-minded engineers so a team need not review a pile of code for coherence.
He keeps the product role and calls dropping it a terrible idea. Some companies are removing it so everyone is a "builder". He says product holds best practices and lessons from past failures that get abandoned.
What erodes is gatekeeping by tool. Roles are the average of where someone's work falls, not a fence around it.
He hires for agency and taste, since everyone now manages something. ICs manage agents and managers manage teams, at different granularity. The team is mostly ICs, many of them former founders.
"We can't just be doing slop."
He plans in detail near term and keeps long-range plans hazy. Models decide what is possible, so he treats precision on a nine-month plan as false precision.
The team needs a view of what models can do and when.
He automates his own job with a daily brief and automations. A scheduled task gives him a morning brief across about 3,000 Slack channels, and he answers five questions from it. For the May release, automations pulled pull request and Slack updates into a status tracker.
He steered the first runs in plain language. He admits the setup is too hard for people outside OpenAI.
He promotes workflows many people invent into product primitives. Memory is the example: people built Obsidian or Notion mind palaces, so a generic memory feature should do that. Job-specific processes stay the user's own.
The team keeps asking "what should become a primitive what shouldn't".
He wants overnight cleanup because models add code complexity. The team explores overnight garbage collection of the codebase, and he asks research teams for models better at deleting code. 100% of the product's code is already AI-written.
A self-improving loop is not possible yet, since a model must learn which requests to build, ignore, group or reframe. The costs of 90 uncoordinated attempts are left unquantified.
GuestChief Product Officer at OpenAI, former head of product at Instagram and Twitter
OpenAI
GuestProduct lead for ChatGPT Work and Codex at OpenAI; ex-Stripe, Watershed, Sutter Hill EIR
OpenAI
GuestProduct lead for Codex at OpenAI
OpenAI
GuestHead of product design at OpenAI (ChatGPT, Codex); formerly Artifact and eight years at Instagram
OpenAI
GuestExecutive in Residence at Thrive Capital; first marketing hire at OpenAI and Stripe, former marketing lead at Retool
OpenAI
GuestHead of developer relations at OpenAI
OpenAI