In short
How OpenAI’s Codex product lead explains “power user” workflows: using Codex in VS Code or the terminal, running parallel tasks safely with Git worktrees, using plans.md for structured planning, and accelerating development with automated code review loops integrated into GitHub.
Guest backgrounds
Alexander Embiricos (Codex product lead at OpenAI). Interviewer: Claire Vo (product leader and AI obsessive). Embiricos also references OpenAI teams using Codex internally.
Key claims
Codex is “thorough” for complex tasks (not the fastest). Best results come from planning for hard work, parallelizing when tasks don’t conflict, and reusing the same chat to iteratively update a plan. OpenAI used Codex to build the Sora Android app in 28 days with four engineers; it became #1 in the App Store. Codex code review is enabled across nearly all OpenAI repos and reviews most PRs.
Notable examples
Fixing a game bug (“jump” too high) and adding windmill planting in parallel; translating UI strings via separate French/German worktrees; using “/review” for reviewer-mode critiques; GitHub automated review that posts only high-confidence issues and can trigger “Codex, can you fix it?”
Written by AI. May contain mistakes. Listen to the episode to check what was said.
Chapters
Tap a time to open that second in VOIntroduction to Codex
0:00 to 0:45
Learn about the capabilities and strengths of Codex.
“People love how thorough and diligent Codex is.”
Getting Started with Codex
2:07 to 2:35
Explore basic usage and installation of Codex for software engineers.
“I'm excited about today's episode because we actually haven't seen a deep dive into codex yet, and we are going to get the expert take on how to get the most out of this tool.”
Using Codex for Coding Tasks
2:35 to 4:49
Learn how to use Codex for making code adjustments and answering queries.
“We're building it into a full software engineering teammate.”
Parallel Task Management with Codex
4:49 to 8:13
Understand how to set up parallel tasks using Codex for efficient coding.
“I'm just doing these in your chat so they can go in parallel.”
Advanced Workflow with Codex
8:13 to 12:16
Delve into advanced techniques for managing larger code bases with Codex.
“Basically, if we're going to have codecs make changes, maybe I can come up with an example on the fly.”
Building the Sora App with Codex
12:16 to 14:03
Discover the process of creating the Sora app using Codex's capabilities.
“Okay, so, you know, what we've shown is you can spin up codecs kind of in one of two ways, which I also want to call out.”
Effective Planning Techniques with Codex
14:03 to 17:33
Learn how to effectively plan coding tasks using Codex's planning capabilities.
“It didn't go in one prompt and build the entire Sora Android app.”
Acceleration in Development Processes
17:33 to 21:25
Discover how Codex accelerates both learning and execution in software development.
“And that way it has all this context in its head when it's ready to get going.”
Deciding When to Use Plans
22:22 to 26:42
Understand the factors influencing the decision to create plans for coding tasks.
“So I have to ask one question and then I do want to go to code review, which is, you know, like it's sort of this, you know, when you know, you know.”
Integrating Codex with Other Tools
26:42 to 28:00
Explore integrations of Codex with tools like GitHub and its benefits for code review.
“I would love to hear one or two integrations with other systems or tools that you found have been really like really multiply the impact you can get out of Codex.”
Show all 21 chapters
Automating Code Reviews with Codex
28:00 to 29:10
Learn how Codex can simplify and enhance code review processes.
“Yeah, get the right result in the appropriate amount of time, right?”
Codex Integration and Team Usage
29:10 to 31:00
Explore how Codex is integrated into team workflows and its impact on productivity.
“And your team has a practice of doing review, something that you can go do is actually enable automated code review in GitHub.”
Challenges in Automated Code Review
31:00 to 33:00
Understand the pitfalls and limitations of automated code review systems.
“So the thing I can tell the audience here is that earlier this summer, Codex was used by around half the company, which is like, I don't know, pretty low number, right?”
Balancing Automation and Human Insight
33:00 to 35:35
Discover the importance of human context in automated systems.
“wasn't high enough to be worth the like email you get every time that happens on GitHub.”
Flexibility of Codex Across Platforms
35:35 to 37:50
Learn how Codex can be used in various environments and its versatility.
“But then I think the other half is actually thinking, right?”
The Importance of User Experience in Harnessing Models
37:50 to 41:40
Explore how user experience impacts the effectiveness of coding tools.
“So I'm actually going to start there with our lightning round questions, which is, you know, you just released 5.2.”
Understanding User Preferences in Code Editing
42:00 to 43:13
Learn about different preferences for code editing interfaces and their impact on user experience.
“Like I love using the terminal, but I spoke to many people who don't.”
Tips for Maximizing the Use of Codex
43:14 to 43:50
Discover valuable strategies to effectively leverage Codex for product development.
“Especially if you're a builder out there, maybe you're not building a coding tool, but you're building a SaaS product that uses these models.”
Using Atlas for Enhanced Interaction
43:51 to 46:28
Explore effective methods to interact with AI tools like Atlas for better responses.
“Tell me your favorite Atlas use cases that you think people underappreciate.”
Creating Effective Prompts for AI
46:29 to 48:58
Learn how to formulate prompts that improve AI interactions and responses.
“They hear us like talking to the RAI in some way.”
Using Codex: Advanced User Tips
48:59 to 51:40
Gain insights into advanced techniques for using Codex effectively in your workflows.
“and we maybe already covered this, but we've established you're polite to AI, but when it is not replying, not doing what you want, not remembering, what is your prompting technique to get it back on track?”
Transcript
Automatic transcript. May contain errors.0:00Alexander Embiricos:People love how thorough and diligent Codex is. It's not the fastest tool out there, but it is the most thorough and best at hard complex tasks. If you're a software engineer or somebody who's even just new to using some of these AI tools, where would you get started with Codex? We're building it into a full software engineering teammate. One of the things that Codex is great at is simply answering questions. If you have a chat where Codex is producing these plans and you want to change something, it's actually really nice for the model if you just use the same chat to ask for changes to the plan.
0:26Alexander Embiricos:And that way it has all this context in its head when it's ready to get going. This is a great starter flow that shows how flexible this platform is and how it can meet a bunch of people at a variety of levels of tasks. How is OpenAI using this for bigger features and bigger products? We used Codex to build the Sora app for Android in 28 days, and it immediately became the number one app in the App Store.
0:51Welcome back to How I AI. I'm Claire Vo, product leader and AI obsessive here on a mission to help you build better with these new tools. Today, we have Alexander Imbirikos, product lead for Codex from OpenAI. And he's going to show us how you get the most out of Codex, whether you're a non-technical user trying to make changes to an existing code base or want the power tips and tricks for getting the most out of it in the terminal. Let's get to it. This episode is brought to you by Brex. If you're listening to the show, you already know AI is changing how we work in real, practical ways. Brex is bringing that same power to finance.
1:28Brex is the intelligent finance platform built for founders. With autonomous agents running in the background, your finance stack basically runs itself. Cards are issues, expenses are filed, and fraud is stopped in real time without you having to think about it. Add Brex's banking solution with a high-yield treasury account, and you've got a system that helps you spend smarter, move faster, and scale with confidence. One in three startups in the U.S. already runs on Brex. You can too at brex.com slash howiai. Alex, thanks for joining How I AI. I'm excited about today's episode because we actually haven't seen a deep dive into codex yet, and we are going to get the expert take on how to get the most out of this tool.
2:20And I love that we're just going to dive in and do a zero to one hello world with Codex. So if you're a software engineer or somebody who's even just new to using some of these AI tools, where would you get started with Codex?
2:35Alexander Embiricos:Codex is a coding agent. We're building it into a full software engineering teammate. But to get started, let's just talk about where most people use it, which is in their IDE. I happen to use VS Code. So I'll show you Codex and VS Code. You can also use it, the Codex extension in any VS Code fork, like cursor, etc. So let's say that I just installed Codex from the VS Code extension marketplace. You want me to show that, by the way? Yeah, let's do it. Let's truly zero to one. All right, okay, truly zero to one. I mean, I'm not going to uninstall and log out, but we can pretend I did that. Yes, I love it.
3:07Alexander Embiricos:So pretend I clicked on install, and then I clicked install. Right. So what would happen then is I'm going to get this glyph here, which is the Codex extension. I have to click through some steps and log in. So in case you didn't know, Codex is included in your ChatchPT plan. So you need a paid plan. So if you have a PlusPlan Pro business team or EDU, you can use Codex. And the limits are really generous. OK, so let's say I have this thing up and truly zero to one. Let's pretend I like actually I just heard that this is a game, but I don't even know how to play this game. One of the things that Codex is great at is simply answering questions.
3:39Alexander Embiricos:I'm the product lead for Codex. So I actually use Codex a lot for asking questions, probably more than most engineers do because I don't want to bother engineers with silly questions. So I might ask, how do I play this game? We just launched a new model today. So I'm actually curious what model that used 5.2. Cool, we're going to talk about that, I guess. So I'm just going to run npm run dev here as it's saying, boot up the server. And let's take a look at the game. Okay, so what I have here is like a simple commander type game, I can move my character around, I can recruit troops, it looks like planting windmills is not implemented yet.
4:13Alexander Embiricos:And I've heard there's something wrong with the jump. Okay, that's way too high. So let's get to work fixing some of these issues. So what I can do here is I can just go and ask, let's say that jump is way too big. Lower please. And so for those of you who are new to coding agents, I mean, this is pretty, pretty basic. I just wrote in plain natural language, plain English, what the change that I wanted. And we can see codecs getting to work, thinking up of a plan. Okay, I need to figure out how the jump works. I need to then reduce it. and then I need to like make sure this whole thing works. So let's do that.
4:44Alexander Embiricos:And while we're at it, let's make some more changes as well. How about we implement the windmill planting? I'm just doing these in your chat so they can go in parallel. Yeah, I want to call out some stuff for folks listening or not watching. So what you're basically showing is the process of starting with an existing code base and you as a, let's just pretend you're a semi-technical user. You're like a product manager on this and you're like, eh, you know, they ship something, but not exactly what you want. What you're using Codex for is one, how do I even run this thing locally? Which I think is just such a, you know, people forget these basic use cases because I know there are a lot of software engineers that listen to this podcast, but people forget like not everybody knows how to run every repo locally.
5:27So one little thing you can do is like, just how do I get this code base running so I can test it? And then two, you're setting up little parallel tasks, which I think is really nice. And I'm curious, you know, how many of these do you find yourself doing on any one code base to just fix little things. And so I guess my question for you is on these parallel tasks, which in this example are very small, do you feel like it's a better approach to set up parallel tasks and just have individual ones running or to do them in sort of a serial basis? Like why one or the other?
6:01Alexander Embiricos:This totally depends. So this is a bit of a toy project, but realistically, the way that I typically work if I'm running around, so this is very tactical. to like, I guess, PMs. So I'm looking at a terminal here and I often just have some like question that I want to know about. So actually like literally this morning, I was like, okay, I'm going to do a demo. I know we just launched a new feature that makes it easier to pick models. Can I disable that? And so I ran Codex, which popped me in. This is just some internal auto update logic that I ran Codex and then I asked, hey, we have this new feature.
6:34Alexander Embiricos:By the way, I don't mind telling you guys about it because Codex is open source. So a lot of new things are just like out there in public. We have this new feature that offers balanced reasoning settings. I'm going to quote it actually to give the model a clue that I wanted to search that string. Reasoning settings. How do I disable that for the demo? So, you know, I might do this kind of thing like super frequently. Or I might be like, hey, I heard a customer report about this behavior. Is that done? Or I might ask a question like, hey, did we ship this feature? I lost track of whether or not we shipped something.
7:07Alexander Embiricos:So I ask these kinds of questions a lot. And when I do this, running them in parallel is like, great. There's no reason to do anything else. On the other hand, if I'm making changes, then I'm more likely to think about, okay, how likely is this change to conflict with another change? And typically, I'll either do one at a time, or I'll use something called a work tree, which is, I guess, a bit more of an advanced concept. We can get into that if you're interested. I'll use a work tree, and I'll just send codecs off to do its work on a separate work tree. No, let's take a minute to look at work trees, because I think this is something that most folks that are new to these tools aren't really using particularly well.
7:44I see sort of the two paths that you showed, which is one, I'm just going to do like one big branch, do these things in serial and then commit them in. Or two, I'm just going to like kick off a bunch of different tasks, but they're all going in the same conflicting space and creating issues. And so maybe we take a minute and talk about work trees and how those work within codecs or how you set them up and use them to make sure that you can run parallel changes, but that they don't conflict with each other and can be reviewed separately.
8:13Alexander Embiricos:Basically, if we're going to have codecs make changes, maybe I can come up with an example on the fly. Let's say that we want to change like the language of this input to like French or German. Like obviously those both can't be true at the same time. This is a very contrived example, right? But maybe I want to try both. Maybe I'm prototyping something. What I need then is I need two different copies of the code base. So I could just copy the code base twice, right? Like just command C, command V in Finder, or I could get clone the repo twice. But Git has this really nice affordance called a work tree, which basically lets one Git instance track multiple copies of the code base.
8:49Alexander Embiricos:So, you know, as a sort of a classic mammal, I am lazy. And so I don't want to remember the commands for work tree, even though they're very simple. So typically the way that I would actually do this is I would just ask Codex to create work trees. So I might say something like codex and I could launch codex like I just did and type the prompt. But a shorthand that's kind of nice in codex is you can just put your prompt right in. So I might say codex in here, create two new work trees off the main branch. I might not be this super explicit if I was actually doing it. Main branch, one called French and one called German.
9:32Alexander Embiricos:And so what you can see that happened just here is that Codex just launched and went straight into this prompt. I do this all the time. In fact, I've gotten so used to running this that sometimes I will forget to write Codex dash dash quote. And I will literally just do something like this. I'll be in terminal. I'll say in here, do this. Yeah, I was just looking at this because we're in a very meta repository right now, which is in a folder called Codex. Running Codex, talking to Codex. It's all, you know, it's codex all the way down, as they would say. But yeah, I think this is an important one to call out for folks that are not watching the YouTube and maybe are listening is you can type as you open a new codex instance in the CLI, you can type this dash dash and your first prompt right in one line.
10:15And this is like classic developer productivity. It's like I cannot be expected to press enter, wait, and then type my words. So I love this. Okay. So then what you've done here is you've used Codex to do what we all use Codex for, which is not have to memorize Git CLI commands. And you're creating two new Git work trees off main. And then I'm presuming as you work inside Codex, what you're saying is like, okay, in the French work tree, do ABD and in German do XYZ? Yeah.
10:46Alexander Embiricos:So let's actually show working in those work trees. So if you see here, I now have two folders. I have one called French and one called German. So what I might just do is I might CD into French and then I might run codex. Let's go in and I'll just say translate the input field placeholder strings to French. Again, very contrived example. So now I can open a new tab and what I will do is I will now CD into the German tab instead. And I'll run codex. I'll use my nice shortcut to just immediately give it the command and I'll say translate the input placeholder string to German. And so now Codex can go work on both of these changes at the same time.
11:29Alexander Embiricos:Here's the French one going. It's figuring out where to do this. Here's the German one going. And so that's awesome. You know, we have a lot of people that, you know, go on social media and they're like, we're running, I'm running 15 instances of Codex across my terminal. They show all these tabs, but they're not sharing practically how they're creating separation of concerns across this code. And, you know, I love that we're showing AI tools, but I think also what these coding tools are allowing people to do is come to software engineering a lot of times without the basics of things like Git.
12:02And so, you know, if in addition to learning some of these AI tools, if I could tell anybody, like learn the fundamentals of Git and then you will be in a safe space when you're running with the power of these tools, I think is really important. Okay, so, you know, what we've shown is you can spin up codecs kind of in one of two ways, which I also want to call out. One, in your IDE through an extension, plug in. Two, if you just want to go straight into the terminal experience, great. You can, you know, ask it to do either explanatory tasks, which is, I use it a lot, even on code I have written myself.
12:39Like, you know, what did I do here? Remind me how this works. As well as sort of discrete tasks. And then you can parallelize these, especially by using WorkTree. So I think this is a great, you know, kind of like foundational, how you would use some of the basics of this. But how is OpenAI using this for bigger features and bigger products?
13:00Alexander Embiricos:Totally. So actually, we just published a blog post about this that I think could be cool for people to know about, about how we used Codex to build Sora, the Sora app for Android in 28 days. And it immediately became the number one app in the App Store. So, you know, four engineers, 28 days, number one app in the App Store. And it's not a trivial app that I was super impressed by the speed as I was watching this team go. And this article has a bunch of like really practical advice for how to do that, how to how to do so. And I think the, you know, if you so this is really written for professional software engineers building like big production apps, like working in like complex code bases.
13:38Alexander Embiricos:and a really cool sort of headline to take away here is that with coding agents, it doesn't get easier, but you just move way faster. And sort of the idea here is that, you know, we didn't have four engineers just like purely vibe code this app in 28 days. They didn't go in and just say, hey, Codex, build the Sora Android app and have it work. Actually, slight correction, they did try that and it didn't work. It didn't go in one prompt and build the entire Sora Android app. But instead what they did is they thought really hard about the architecture that they wanted the app to have. And they used a technique called planning, which I would say is just a super practical thing that you can do.
14:21Alexander Embiricos:So let me see. I'm going to pull up the codex code base here, which is a slightly bigger code base. And what I might do in order to do this is I might start a task here. Oh, yes. Sorry. One thing that I actually I wanted to share when you first install the codex extension, it will appear here in the left. And I highly recommend dragging it over to here. It's just a nice place for it to live. So there you go. News you can use. Yeah. And VS Code is easy. IDEs like cursor. It is hard to find that. So I will let you explore where it is because I feel like it even changes. But so I might say something like, hey, we want to make this like non-trivial change.
15:00Alexander Embiricos:Like, for instance, we have a TypeScript SDK and maybe we want to write a Python SDK. Right. So that's I don't necessarily want to one shot codecs on that, although I could. It might work. So I might say something like this. Make a plan to build a, you know, Python SDK based off our TypeScript SDK. And this is a reasonable prompt. I could just send this. This would be fine. But actually, some of our power users at OpenAI have gotten fairly opinionated about how they like their plans to work. And we've actually published a blog post on really effective planning. So Aaron posted a blog post about using plans.md.
15:41Alexander Embiricos:And it's super easy to use this technique. Basically, what you do is you go to this blog post and you just copy this description. It's kind of like a meta plan. It's like, hey, when you plan, this is what a good plan looks like. Yep. So for instance, a good plan is like self-contained, as good plan has milestones. And, you know, the agent should update the plan as it goes. So I have done so. I have copied that into a markdown file, plans.md. There you go. I just copy pasted that from the website. And so what I might actually do instead here is I might say using plans.md, make a plan. Yep. Right.
16:18Alexander Embiricos:And so I might just send this prompt. this will take a while because if you look at the spec for plans.md, it's very thorough. And this is actually something that Codex is really good at. Like people love how thorough and diligent Codex is. It's not the fastest tool out there, but it is the most thorough and like best at hard complex tasks. And so I actually, yeah, I could say, let's say put it in temp.md. I'm asking you to put it in a random file, mostly because I did this ahead of time. So here is the plan that it came up with. And so you can see it's about 120 lines that we can read through together.
16:50Alexander Embiricos:We see these to-dos that it wanted. We see that it's identified the TypeScript naming conventions. This is great. Codex thread, et cetera. We actually are really intentional about how we name our SDK parameters. So it's really important for me to read these and verify them, make sure that it didn't get that wrong. It's making various decisions in here that I might be happy with. Okay, great. And so now what I can do is I could say, like a sudden new chat and say implement the plan in sdkplan.md if I'm just happy with it. Yep. And it would just go and this would take, this is probably like a 30 minute to one hour task, but I would be pretty confident in the results of this task.
17:30Alexander Embiricos:And that's how they built the Android app as well. One very concrete recommendation is if you have a chat where Codex is producing these plans and you want to change something, it's actually really nice for the model if you just use the same chat to ask for changes to the plan. And that way it has all this context in its head when it's ready to get going. First of all, I love that you said that it has a head. So we are the model has model has its brain. Yeah. I mean, we see this. We see this a lot. This sort of like build a plan. Obviously, I love a spec. I love a PRD. I love a technical design document.
18:04it. I'm curious, just if we take the Sora app example, I'm presuming that you had a plan of plans, which is essentially like you look across the architecture of an app, and then you do kind of what we've always done in software engineering, which is you spec out the full thing you want to do, you break it down into components or initiatives that you can execute on, and then where I think you're suggesting the velocity comes from is anyone engineer can do a detailed you know like technical spec and plan in in partnership with codex and then have codex execute the kind of like v1 of that plan for review very quickly and so you don't kind of get to bypass the architectural thinking of like how should this app be set up and what what capabilities do we want it to have and all that stuff although you can use ai as a brainstorming partner for that um but then once you have the kind of right size chunks of work and they can be pretty meaty i mean like building an entire typescript sdk is not like a small initiative it's not like adding a method to something then you can use this planning kind of uh planning strategy to then get what you're going to do all laid out and then have codecs executed yeah i think that's i think that's like similar to how
19:24Alexander Embiricos:I think about it. So I would say right now, I kind of like the terms vibe coding and vibe engineering, to be honest. My sense is that right now you have a lot of agency in how you spend your time as a developer or, you know, as a product manager. I think when you're going to do something like the SORA, you know, build a production app like SORA app that you know you have to scale, it's really important that, you know, maybe you have a bunch of like codec senior engineers, but you want that like architect, right? Or staff engineer who think about the shape of the app. And so that's critically important.
19:54Alexander Embiricos:I think at the same time, so you're going to have to think a lot about the shape of the app and you're going to want to be really careful with review. And we can actually talk about some of that, how we've accelerated review at OpenAI, which is kind of becoming, you know, now that we can write so much code, like the bottlenecks are kind of like thinking about what code to write and then making sure that code is good, reviewing it and landing it. I think at the same time, though, codecs can be really powerful for those places where you just want to learn and you don't actually need like a scalable production ready app.
20:22Alexander Embiricos:So for instance, we use Codex a lot for prototyping. The designers on Codex actually have a fully, mostly vibe coded, full prototype of like all the Codex surfaces that they can just like design into with code. And then we use that to play around and see if we like things. And then if we do, then we'll often vibe code like a branch in the actual product. So a lot of things are just tried by designers there. and then you know sometimes the vibe coded prototype is like exactly like pretty close to what we want and so they'll just like land it with the help of an engineer or by themselves even and then sometimes we're like okay this direction was good or we we learned some stuff we iterated on the vibe coded prototype now we know what we want to build and then we can actually go and give that like really well defined spec to an engineer who might you know rethink some of the fundamental assumptions and so end up having to use codex to rebuild a lot of it from scratch so i think I think there's like two flavors of acceleration.
21:17Alexander Embiricos:I think there's massive acceleration on learning and then there's also massive acceleration on like executing. Execution. Yeah. This episode is brought to you by Graphite, the AI powered code review platform helping engineering teams ship higher quality software faster. As developers adopt AI tools, code generation is accelerating, but code review hasn't caught up. PRs are getting larger, noisier, and teams are spending more time blocked on review than building. Graphite fixes this. Graphite brings all your code review essentials into one streamlined workflow. Stacked diffs, a cleaner, more intuitive PR page, AI-powered reviews, and an automated merge queue, all designed to help you move through review cycles faster.
22:04Thousands of developers rely on Graphite to move through review faster so you can focus on building, not waiting. Check it out at graphitedev.link slash howiai to get started.
22:17Alexander Embiricos:That's graphitedev.link slash howiai. So I have to ask one question and then I do want to go to code review, which is, you know, like it's sort of this, you know, when you know, you know. But how do you decide between what needs a plan and what doesn't? To some extent, it depends more about me than it depends about the task. So obviously the harder the task, the more likely you want to have a spec. But I also think it kind of depends like what you're up to at that time. For instance, like if I just want to get something done like quickly, I might not have time to like wait for a plan and go back and forth.
22:53Alexander Embiricos:So I might kind of throw Codex at it, but I might just do it four times in parallel instead. This is actually a thing we do like Codex. You can also use Codex in the cloud. So on web where it'll like run on its own computer. And that has a feature called best event where it'll just like do the same task four times. And so often that you can just have Codex explore instead of like exploring to do a plan and then you collaborate. You just have it try four different attempts and find out what works best. And, you know, I also do that with Worktrees locally as well. So I guess the better answer to your question is the harder the task, the more you want to plan.
23:27Alexander Embiricos:But the lazy answer to your question is also it depends if I have time to wait for a plan or not. I like that. I know one of the things that I have found myself doing, which I think is really funny, is as these, you know, longer running coding models come out, 5-2 being among them, I'm like waiting a lot more. I got to I'm like trying to find ways to fill my time. And as somebody who used to have this fancy executive job where I really had a manager's schedule, and then over the past two years, I've been like builder life. And now I'm like, damn, I'm back to manager schedule. I send the task off and somebody else, quote unquote, does it.
Read the full transcript
24:06And then I got to find something to do with my time and I refuse to add more meetings to my list. So I am with you. Do I have the time and patience for a plan? I mean, a lot of the engineers on the Codex team will basically run two things that they're
24:19Alexander Embiricos:building in parallel, not more than two, like it's usually two. And so they'll kind of like be thinking about what to do on one side. And then, and by the way, this might just be like two different work trees and two different instances of their IDE open. It could be something like that. And they might just be thinking and collaborating with Codex in one while it's working and the other and just juggling two seems to be manageable for sort of normal people. Juggling more than two seems quite hard for normal people. But my view on this from a product direction perspective is we don't really want to ask humans to juggle like that's not fun for many people.
24:56Alexander Embiricos:Some people like StarCraft in code. But quick pause. Quick pause. I love StarCraft, which is why I feel like I'm really good at all this right now. Yeah, yeah, yeah. I think it's actually kind of an app analogy, but I didn't come up with it. I forget who did. But what we're trying to do is just make codecs faster and faster. Yeah. And we are also trying to basically set it up so that you don't have to do the waiting. Like, as the models get smarter and smarter, they can take on harder and harder tasks. Like, I just heard from Naveen at Every this morning, who was sharing a demo of a bug that he, no model could fix.
25:32Alexander Embiricos:And then 5.2 came out yesterday. and he threw 5.2 at it and it fought for 37 minutes and was like, this is the bug. And then in fact, that was the bug and he got the bug fixed. Right. So as we have smarter and smarter models, there is going to be more instances. There are going to be more instances where you want to wait. But I think that's our job as the product builders around the model to make it so that even when the model is thinking, you're not waiting for it to think. Yeah. Or you know that you're waiting and you feel good about it. I think that's one of the challenges I've had with, with some of these where the thinking time is long is I find myself and bless it.
26:10It's like when I, you know, worked with human software engineers, I find myself being like,
26:14Alexander Embiricos:how's it going? How's it going? You still, you still on it? Like you still good. And so I do think it's a really interesting product problem because there is, you know, useful latency in, in these models. But as a product and designer, being able to expose that latency and that reasoning and the progress in a way that makes people not feel antsy about it, I think is still a challenge out there for you all and for everybody else building these kinds of tools. You know, this has been super helpful on sort of like the basics of Codex. I would love to hear one or two integrations with other systems or tools that you found have been really like really multiply the impact you can get out of Codex.
26:55Alexander Embiricos:I think the biggest one by far is going to be GitHub and CodeReview. And then there are some others as well. This is just a nifty graph while I'm here about 5.2, the model. Let's take a quick digression. I'll show you because I just think it's super cool. Basically, what this graph shows is that 5.2, when you give it as long as it wants to think, is an amazingly intelligent model at SweetVenturePro, which is an eval of software engineering tasks. But the x-axis is pretty interesting. Basically, what it shows is the number of output tokens that the model took to perform these tasks. And so it's kind of like, how long did the model have to think?
27:34Alexander Embiricos:And when we say, hey, you can think as long as you want, ish, it's really smart. But the other cool thing is we're able to say, hey, like, we actually don't want you to think that hard, or we want you to like kind of answer quickly. And so it's performing like even higher, you know, results than like, say, this previous model here, 5.1 thinking, but in significantly less time. And so this is kind of what we're trying to build, going back to what we're saying about waiting, right? We wanna just get you the same result much faster and then get you more intelligent results and then you get the model time.
28:01Yeah, get the right result in the appropriate amount of time, right? Yeah, exactly.
28:08Alexander Embiricos:So one thing you can do with Codex is you can ask it for code review. This is actually super easy to do but without integrating with GitHub. We could just be in here. let's just say that it's written some code. I'm going to kind of ignore what happened there. And I'm just going to pretend that I wanted to review this code. So I could type slash review and basically ask it to start reviewing this code. And this is something that people really love. And, you know, right now it does feel like when you put the model in a certain mindset, like, hey, you are a reviewer and you give it a different conversation context than the model that wrote the code, you know, you'll just get like even better critiques than you might get from a human engineer.
28:47Alexander Embiricos:partially because this model has a lot of time to read all the code and maybe even execute code to like validate those changes. So this is just something super useful that I recommend doing. And like many engineers on Codex will like have Codex do work and then multiple times ask it to either review its code or critique its code or just make the code more elegant. And that's just like a massive accelerant. So let's say that you like this, right? And your team has a practice of doing review, something that you can go do is actually enable automated code review in GitHub. And so here, when this PR was pushed, Codex automatically, without anyone having to prompt it, and without anyone having to have a computer running, this is just, you know, in the cloud, Codex went, took a look, and found an issue with the code.
29:31Alexander Embiricos:And the hit rate on these is really high. Like we built this feature so that it only points out issues that it's like very confident are issues because, you know, the sort of the principle here is just like human attention is so scarce. We really want to protect it. But when it finds a really important issue, it'll post here. And this is where you start to feel the AGI a little bit. It found this issue. And then Romain basically replied like, hey, Codex, can you fix it? And then Codex went and fixed it, right? And so we can get into this kind of loop like that. So that would be my number one integration to give.
29:59Alexander Embiricos:The number two might be Slack and linear. Well, so I love this flow. And I think, again, optimizing, I'm actually running a 5.2 branch review right now. I'm not running it in codex, but I will do a comparison on the two experiences. But I'm doing a very much like compare this to base. Tell me what we did here, if there's anything I need to be aware of. I do like these in GitHub code reviews. I do feel like where I have found the highest quality is reducing noise in these. So it's really great that you have kind of focused on confidence, focused on what bugs really are going to matter. And then this loop of kind of can you fix it?
30:44And so are you running this on kind of all your repos? Has this become like how code gets reviewed? Yeah.
30:50Alexander Embiricos:I mean, Codex is just everywhere at OpenAI, which has been really cool to see. You know, I feel like when I hear a story of some tool being used everywhere, I'm always like, a little skeptical. These people are biased. So the thing I can tell the audience here is that earlier this summer, Codex was used by around half the company, which is like, I don't know, pretty low number, right? Half. We're now at the point where basically like all of technical staff, nearly all of technical staff is using Codex constantly. And so it's funny because we don't even have this comparison point since everyone's using codecs.
31:25Alexander Embiricos:It's like hard to compare the people using codecs and the people not. But there was this period of time where we were seeing that like the people using codecs were like 70 % more productive if you looked at PR volume. Obviously, PR volume isn't like the best thing to measure, but it's a thing you can look at. And now that metric doesn't mean anything anymore because everyone uses codecs. Codecs code review itself is enabled on pretty much every single repo of the company and reviews like pretty much all PRs. And, you know, it's one of those features where we were a little bit nervous when we shipped it about how people would feel, but it was just an immediate hit and like people really like it.
31:58Alexander Embiricos:You know, maybe this is a bit of a segue, but, you know, speak product person to product person, like something that we've been thinking about is if our mission is to deliver the benefits of AGI to all humanity, I believe one of the biggest limiting factors is like, do people want to type the prompt or not? you know and like i don't like typing so you know i would be too lazy to do this and so we were thinking a lot about like okay what are things we can do for teams that are just useful without anyone having to do any work and so we tried a few things code review as i showed you here is one of the things we tried big hit um we tried some other things that were pretty interesting like we built a feature that would automatically attempt to revise um the pr when you know you got a code review feedback from someone else.
32:42Alexander Embiricos:And, you know, maybe I'd be interested to try that again. But interestingly enough, that feature was not super popular. The hit rate was like often like PR feedback. I mean, sometimes it's nits, but often it's like kind of in there. You need a lot of human context to understand that PR feedback. And so Codex wasn't acing it. And the sort of hit rate wasn't high enough to be worth the like email you get every time that happens on GitHub. Whereas code review, you know, we were really careful with like how often it did things. And we made sure, for instance, this is one where Codex didn't find any issues, it doesn't even notify you.
33:13Alexander Embiricos:Just thumbs up and motion, you know, you're done. Yeah. I mean, I've had this experience too where it's interesting. I have also used automated code review and I have attempted that like full closed loop. And I have also been dissatisfied with not just the bug fixes. Sometimes they're fine. Sometimes they're not. But I often feel like putting a human in the loop that says, I'm pretty sure this is fine because X, Y, Z, or just remember we did this because A, B, C, and sometimes there's a little context lost. But the other thing from a product perspective, I think is interesting on these like proactive versus reactive agentic experiences is if you have a full agent loop, the human bar for quality is extremely high.
33:56And so dissatisfaction and frustration can bubble up very quickly. It's one thing if like your code review bot, you know, bot says this is broken, you go fix it and then you get it reviewed again and it knits you. You're like, OK, I didn't do exactly what you wanted. But if you have the experience where like your code review bot, you know, raises something, it fixes something and it knits itself, that gets really annoying. And so I do again, this is like a little bit of a agentic product design challenge that we're now going to have that people I think need to pay attention to, which is like, how do you design for latency?
34:28How do you design for perceived quality and bars when humans are involved, when they're not involved? And then one last thing I want to say to your comment, which is, I mean, if our human fingers are no longer valuable and used, what role are we going to play? Like protect the typers. But I mean, I get what you're saying, which is almost all the friction right now in my product development, software development flow is like literally writing the first prompt. Like sitting down and just going, now, let's do the thing now. And it's such a funny shift from where we've been before.
35:08Alexander Embiricos:Yeah, I mean, it's interesting to think about, right? Like, you know, obviously our mission is to just like massively accelerate every single developer and, you know, broadly than anyone who's doing anything where an agent using a computer can help. And so, yeah, the question of what our role is is interesting. Like, I like to joke that the limiting factor is typing speed. I think that's half true. So like, I think for things like review this code, please, the limiting factors is typing speed. There's a lot of just like micro places where an agent could help you. But then I think the other half is actually thinking, right?
35:39Alexander Embiricos:Like now that we can just have ubiquitous code and we can basically prototype things like trivially, the hard parts, I think, become like deciding what actually should make it in. Thinking like what a product should do, like knowing a customer, actually. and then you know if you're building a complex system like being really thoughtful about like the architecture of that system and kind of curating the agent work so yeah you know i think it's i talked to developers who are really motivated by like seeing people use what they build and i think those developers are increasingly just like thrilled right and then i also talked to developers who just love like the feeling of writing code i i don't know i experienced joy from both.
36:24Alexander Embiricos:And I think that's a place where, you know, we think constantly about like, okay, how do we make this feel as fun as possible? Right? Like setting up dependencies kind of sucks, but you have to do that for your agent. So like, how do we make that easy? Reviewing kind of sucks. So like, how do we make that easy? Great. Well, just to recap, because we've done a lot here so far before we get to lightning round, we have shown installing codecs as an extension, setting off tasks, setting up work trees, using plan and in particular the plan on how to plan on the OpenAI blog to generate plans for more complex implementations, especially when you need longer running tasks.
37:05And then automations around code review and bug fixes. The things we didn't call out but I think are really important are you can basically use codex wherever you want. So we showed it in VS Code. We showed it in the terminal. You can get it on the web. You can get it in Slack. You can get it in linear. It can kick off in GitHub. Like I do love this idea of kind of like Codex Anywhere is also really nice. So again, if you're intimidated by or don't understand VS Code, great. Kick it off in the web. If you love your command line tool, great. Let's use a couple of those keyboard shortcuts that we showed.
37:45And so I just think this is a great kind of like starter flow that shows how flexible this platform is and how it can meet, you know, kind of like a bunch of people at a variety of levels of tasks. So I'm actually going to start there with our lightning round questions, which is, you know, you just released 5.2. You showed Sweebench. We're clearly, you know, like model wars every week. I am really curious about Harness Wars. Like, why does the interface to the model like Codex matter so much? And, you know, we've seen a couple things that you've built into the platform, you know, PR review or code review, you know, little like small UX fixes that make it easy to use.
38:33But like, where do you feel like Harness differentiates in your experience using these coding tools?
38:37Alexander Embiricos:I think there's two places. One is just the quality of model work. And then the other is in the user experience. All right. So taking the quality of model work, I presume many people listening to this podcast, you know, tinker with models or have friends who are building models. And like some people just are, you know, they're model whisperers and they know how to use a model. And some people are model whisperers for like a specific model, but then maybe not for another model. And one of the things that's I think very true is that these models are changing all the time, right? Like we've been I've lost track.
39:09Alexander Embiricos:I think we're shipping a new model like every two weeks recently at OpenAI. Right. And each model we ship is better than the last model. It's like super exciting. But they're also evolving. Right. They have new capabilities that are kind of hard to keep track of unless you spend all day on Twitter slash X. And so I think that there's kind of two things here. The first is like you need to know how to get the most out of the model. You need to know, for example, that OpenAI models, we kind of have this like very, again, in an AGI-pilled way that we train models, we kind of just give them access to a shell.
39:40Alexander Embiricos:And we say like, go and do whatever you think you should do in the shell. And so we see these like really interesting emergent behaviors where, you know, sometimes the model will decide to write a Python script to make many, many edits to code. And then we have debates about, well, is that a good idea or not? Like we would prefer it if the model was like plotting through the edits or do we like it running a script? But either way, that's like a thing you should know. And so one of the cool things about Codex is that we're building our furnace in open source. And so you get to see the updates we're making for each model that we ship to make the most out of the model.
40:13Alexander Embiricos:And I can say like every time we ship a model, engineers from the Codex team will go like test it, think about it, talk to the research team. I mean, it's something they're just working super closely together to figure out how to make the most out of the model. And sometimes we'll ship a new capability like models getting better at parallel tool calling. Let's see how that works. Or recently we shipped something called compaction where the model can basically, where we can basically have the model like start a new conversation with itself with a fresh context. And what it'll do is just give itself just enough, just the right information so that to the user, it just feels like it's one conversation rather than like two conversations.
40:47Alexander Embiricos:And so when we build features like that, by building both the harness and the model together, we can be much more opinionated about what to do with the model. And then we can make the actual outcomes like way better for users. And so part of why the Codex CLI is open source is so that anyone who wants to get the best out of Codex models and actually just OpenAI models generally can just go observe how it works. They can use the Codex SDK if they want and just like not even touch the harness, just like delegate to us for that. Or if you want to build your own harness, you can just go copy paste parts of code.
41:21Alexander Embiricos:So we do this all the time. Like I'm at a bunch of like Slack DMs with customers and we'll just send them code partners. Like, oh yeah, this is how we do this. Just like, just copy this code, please. So that's on the just like having higher quality model outputs, but also keeping pace with the pace of innovation from our research team. That would be like why I think the Codex Harness is awesome there. The other side is product overhead. For instance, earlier this year, most of the sort of like really powerful agentic flows that people were using, like Codex and other, were in the CLI. Right. And this is super basic, but like I spoke to many people who don't really like spending all day in terminal.
42:01Alexander Embiricos:Like I love using the terminal, but I spoke to many people who don't. And I spoke to many people who really like seeing the code that is being edited at the same time. That's me. I'm a code reader. I like to read my code. Right. And so, you know, that's a very, very basic thing. But it's a place where just building the right product experience unlocked a ton of growth for us. And so, you know, empirically, I could say that we see many, many more people who like looking at the code that's being written at the same time as the agent than we see like just like running in terminal like on the side.
42:33Alexander Embiricos:So I think, you know, that's a very basic example. And then we were kind of touching on this point of like latency for a more advanced example. Like, I think if we can harness the model right, we can make it so that you can deploy the model to help you with like hundreds of thousands of things a day. but without you having to type, right? But also without it being annoying to like filter these outputs and without you having to wait because whenever it's helping you with something proactively, it's sort of doing so on its own computer and only letting you know when it has something great. So my view is actually that even as all these models are progressing, if like, let's just say that stopped, which it won't, there are many years of product building to do to just like get the harness right and useful for people.
43:13Well, that's great. And I do want to make sure people did not miss this tip, which is if you're trying to figure out how to get the most out of these new models, go peek under the hood at Codex open source and just see what, I mean, I think that's the other thing is what kinds of changes do you have to make when a new model comes out? Especially if you're a builder out there, maybe you're not building a coding tool, but you're building a SaaS product that uses these models. When they come out, being able to observe how the creators of the models actually maximize their unique strengths, I think is a really valuable thing that I think people really underestimate.
43:50Okay, my second question. I spied with my little eye, Atlas. Tell me your favorite Atlas use cases that you think people underappreciate.
44:00Alexander Embiricos:Ooh, the first one is kind of boring, but it's really, really true, which is I have started just asking chat for everything instead of chat being chat to BT. I just ask chat for everything because I get answers that are like really catered to me because I talk to Chad about everything. You know, I'm a weird person. Like if I ask a question and then I like make a decision based off it, I tell it what decision I made because then it remembers. And so then the next question I answer I get is even better. And so just simply like my workflow for anything that's not code, I go to Atlas, I command T to open a new tab.
44:37Alexander Embiricos:And then I just type whatever I want and I get an answer. And I often follow up. Like for me, that's the sort of magic thing about using an LLM. So being able to just like ask your question and then follow up and then maybe navigate to links like super boring. But but I love that. My other sort of favorite feature is that that is side chat. So basically any page you open. Maybe I can show this. Yeah. And while you're doing that, I have to call out that you have settled a debate that I saw today on X, which is like, should you tell your AI when it's done something right or wrong after it's done it?
45:13like once something's fixed a bug, I'm the person's like, great, it looks awesome. Thanks, that fixed. But I do think that in my mind, I've convinced myself that closed loop creates some context that's like, yes, I did this particular thing right or wrong. User has accepted it and that in some future world, it's going to make my life better. Yeah.
45:33Alexander Embiricos:I mean, so I think there's two reasons to do that. The first is just like memory, right? Like if you have memory enabled, which most people do, then you'll get a better answer. A very concrete example is I was on holiday and some plans changed. So we were deciding where to get dinner. And so we just asked chat for dinner recommendations. To be clear, we also we like food a lot. So we also like searched. But it's interesting to get asked chat because it knew like where we were staying and it knew what food we'd had like the day before or whatever. And so it just gave like a really bespoke recommendation.
46:03Alexander Embiricos:And that was cool. So I think my other sort of hot take reason to do this is I think it's important to be polite to AI. I agree. This is not an official company stance, just to be clear. But my sort of meta reason here is I just think it's important to be polite to everyone. And I think that if you start not being polite to chat, I think it can wear off on you and you just start not being polite to other people in your life. And like we're adults. Like imagine kids, right? They hear us like talking to the RAI in some way. They're going to go treat someone who they, you know, their children, they don't know in some like not polite way.
46:36Alexander Embiricos:So that's kind of my my hot thing. I could not agree more. You know, I am a please. Thank you. Good job. And honestly, it's not because of the A.I.'s humanity. It's to protect my own humanity, which is if I get used to being a jerk to anything human like, there is no way that does not bleed into how I think about people, speak to people, clip this. pin it to the top of the YouTube channel. Be polite for you. 100 % that resonates a lot. It's like our humanity is defined by how we treat others, not how they treat us. Right. Exactly. So side chat. So basically, I can go in here, I can click this button.
47:16Alexander Embiricos:And I can ask questions about the page, right? So I could be like, what's great about GPT 5.2. You might joke, like, and be like, why are you asking AI to summarize this article but like oftentimes i'll be at work and someone will send me a thing and be like thoughts and i just like i don't have time so it's like what is this right and you know and then i can have a conversation though right so then i can be like oh like interesting like you know um hey chat what do i think about this i mean when i ask my questions it often grounds itself on what i've talked to it about before it's like well since you are a person who likes you know like this, you probably would be interested in this detail.
47:59Alexander Embiricos:So, I mean, this is not maybe the best example because I'm asking for a summary, but oftentimes if I'm looking at like numbers or math or I need to learn more about like a concept, I'll use this. You can also use this to rewrite something. So if I was like, you know, in a Google Doc, I could like select some text and like be like, hey, like how else might you rephrase this? So I think for me, side chat is a really cool feature. But I think I might be a bit nerd sniped by it, to be honest, in the sense that this is this is what I joined OpenAI to like help build. So I'm very interested in it. I'm like, for me, the idea of an agent that I don't have to, it understands me, I don't have to like map myself to its world is really powerful.
48:39Alexander Embiricos:So side chat is that codex is that too, right? You launch it in the code base, and it's in your environment, you don't have to go to it. I think this is the future. And I'm like really excited for how we can just like take all the best ideas from Atlas and Codex and kind of bring them together into like a basically AGI super assistant. AGI super assistant. Maybe we'll see it next year. It sounds like the name of a product you would really... AGI super assistant 5.1 Mac. I point to you thinking high Mac. Okay, last question. and we maybe already covered this, but we've established you're polite to AI, but when it is not replying, not doing what you want, not remembering, what is your prompting technique to get it back on track?
49:28Alexander Embiricos:Yeah. I mean, so first off, I have a bit of a weird job in that if I notice the AI not replying, I have to go probably file a bug or like start a sev, sev being like a word for an incident. So I, you know, yeah, I have to go do those things. But I think context is everything. So if I see the agent not doing what I want, so I guess one really tactical tip is I don't usually ask for things from the agent without asking for context, without giving context, because I'll say like, hey, I want you to like, like, change this UI from this to this so that, users do this or because we don't want people to be confused about XYZ.
50:09Alexander Embiricos:And I often, it's funny, I think another hot take, I think PMs are the best prompters because we're used to not being the expert in what we're doing and we're used to not being the most intelligent person in the room, right? And so usually we can just maybe suggest, but we don't even know if that's right. So I sort of work with Codex in that way. I'll be like, hey, can you make this more elegant? and I won't say what I want because I actually, it'll look at the code and it'll know better than me. So tip number one is give a lot of context and actually get really good at describing the level of ambiguity of your request.
50:45Alexander Embiricos:Like do not create false precision in your prompt if you don't actually care exactly about what the outcome is. And then the second thing is like, if that doesn't work and you explain why again and it still doesn't work, then I just start a new chat. And you can do things, this is a very like advanced user thing that I don't think anyone listening to this will ever do. But Codex is a very open product. It stores its conversations logs in like your home directory in a.codex folder in a subfolder called sessions. So like.codex slash sessions. So you could just go say like, hey, I started a new session because you got confused.
51:19Alexander Embiricos:I wanted you to do this because of this. Go read your previous session, understand what's going on and then like, you know, continue from there. I love it. ending this episode with a hidden hot tip, which we didn't get to through our codex walkthrough, which is all your sessions are stored locally. So just ask it to go read them. This has been really fun. Alex, where can we find you? And other than reporting bugs, how can we be helpful? I am hiring PMs. So if you're interested, please apply on the job site and also hit me up on socials, we are hiring generally a lot on Codex. We do love bug reports, and we do love feedback.
52:01Alexander Embiricos:And actually, it's already an open source, I don't mind talking about it. We actually are also releasing a bunch of new configuration abilities for Codex, like the ability to allow us commands or skills. So if you wanted to like help build Codex skills, or like tell us what configuration you want, that would be very helpful. And lastly, just check it out. Codex is awesome. So you can find me on Twitter. I'm at Embarico, E-M-B-I-R-I-C-O. And at the r slash codex subreddit, we are there all the time and also love chatting there. Amazing. Well, thank you for joining How I AI. Cool. Thanks for having me.
52:36Thanks so much for watching. If you enjoyed this show, please like and subscribe here on YouTube or even better, leave us a comment with your thoughts. You can also find this podcast on Apple Podcasts, Spotify, or your favorite podcast app. Please consider leaving us a rating and review, which will help others find the show. You can see all our episodes and learn more about the show at howiaipod.com. See you next time.
From the publisher
Alexander Embiricos, the product lead for Codex at OpenAI, shares practical workflows for getting the most out of this AI coding agent. In this episode, he demonstrates how both non-technical users and experienced engineers can leverage Codex to accelerate development, from making simple code changes to building production-ready applications. Alex walks through real examples of using Codex in VS Code and terminal environments, implementing parallel workflows with Git worktrees, and creating detailed implementation plans for complex projects. He also reveals how OpenAI uses Codex internally, including how they built the Sora Android app in just 28 days, and offers insights on automated code review and the future of AI-assisted development.
What you’ll learn:
- How to set up and use Codex in VS Code and terminal environments for both simple and complex coding tasks
- A practical workflow for running multiple Codex instances in parallel using Git worktrees to avoid conflicts
- How to create detailed implementation plans using the Plans.md technique for complex engineering projects
- Why context is critical when prompting Codex—and how to provide the right information for better results
- How OpenAI uses automated code review to accelerate development while maintaining high quality standards
- The key differences between vibe coding for prototypes versus building production-ready applications with AI
- How the new GPT-5.2 model improves Codex’s capabilities with faster reasoning and better problem-solving
—
Brought to you by:
Brex—The intelligent finance platform built for founders
Graphite—Your AI code review platform
—
Detailed workflow walkthrough from this episode:
https://chatprd.ai/how-i-ai/advanced-codex-workflows-with-openai-alex-embiricos
—
In this episode, we cover:
(00:00) Introduction to Alex and Codex
(02:06) Getting started with Codex
(04:54) Using Codex for parallel tasks
(07:34) Understanding Git worktrees
(09:51) Terminal shortcuts and command-line efficiency
(12:16) How OpenAI built the Sora Android app with Codex
(15:37) Using PLANS.md for problem solving
(17:57) The importance of high agency
(22:22) Deciding between what needs a plan and what doesn’t
(26:42) How to multiply the impact of Codex
(28:08) Implementing automated code review with GitHub
(31:58) Delivering the benefits of AGI to all humanity
(34:35) Accelerating developer productivity
(36:38) Recap and final thoughts
—
Tools referenced:
• Codex: https://openai.com/blog/openai-codex
• VS Code: https://code.visualstudio.com/
• Cursor: https://cursor.com/
• Git: https://git-scm.com/
• GitHub: https://github.com/
• Atlas: https://openai.com/atlas
• ChatGPT: https://chat.openai.com/
• Slack: https://slack.com/
• Linear: https://linear.app/
—
Other references:
• Sora Android app: https://openai.com/blog/sora
• GPT-5.2 model: https://openai.com/index/introducing-gpt-5-2/
• SWE-bench: https://openai.com/index/introducing-swe-bench-verified/
—
Where to find Alexander Embiricos:
LinkedIn: https://www.linkedin.com/in/embirico
—
Where to find Claire Vo:
ChatPRD: https://www.chatprd.ai/
Website: https://clairevo.com/
LinkedIn: https://www.linkedin.com/in/clairevo/
—
Production and marketing by https://penname.co/. For inquiries about sponsoring the podcast, email jordan@penname.co.




