LongCut logo

ChatGPT Work + Codex Tutorial: My Complete System at OpenAI | Jason Liu

By Peter Yang

Summary

Topics Covered

  • AI chief of staff runs on a schedule
  • Skills evolve like a new hire
  • AI fixes your video while you bike
  • Let Codex define its own success criteria
  • The only job left is articulating taste

Full Transcript

The only job left is to like understand what you don't like about something and put it into words and like tell the AI.

So much of my work now [music] can just be done through the Codex app. Whether

that's the browser, whether that's like drafting messages, sending messages, turn this thread into a heartbeat. I

want you to check my emails, my Slack, my linear every as I've used this over time. It's been able [music] to do

time. It's been able [music] to do things like pre-draft Slack responses or pre-draft emails. The work shouldn't

pre-draft emails. The work shouldn't have to stop because you close your laptop. Once that's the case, I'm even

laptop. Once that's the case, I'm even more excited for what's possible.

Hey everyone, my guest today is Jason from the Codex team at OpenAI and really excited to get Jason to show us how he uses the new Chat GPD work and Codex app from managing threads to setting up

scales to schedule tasks and long running loops and Jason is one of the best codeex maxers that I know. So,

welcome sir.

Thank you so much for having me. Excited

to be here.

Yeah. So, uh why don't we start with the basics? Can you give us a quick tour of

basics? Can you give us a quick tour of the new chatbt app uh and maybe talk about when I should use chatbtd work versus kodex?

Yeah, I mean for the most part chatb work is sort of a different view of the codeex experience, right? So it turns out that if you want to build a very good work productivity tool, a really

good coding agent is a place to start.

And so codeex will be able to show you things like your git history, your pull requests, code changes, whereas work kind of just hides that behind the scenes. you know, if I'm making slides

scenes. you know, if I'm making slides potentially, I don't really really need to see that I've written 20 lines of Python to do something, right? And so

work as a way of sort of just redressing those uh that UX experience.

So, it's primarily UX and maybe a default prompt kind of change.

Exactly. It's I would say it's mostly the UX. I actually do a lot of my work

the UX. I actually do a lot of my work in work now because I don't have to review I don't really review most of the code I write.

Yeah. Yeah. I think a lot of us don't review code anymore for better for worse. Yeah. Um great. Okay. and and

worse. Yeah. Um great. Okay. and and

then okay can you share your screen and uh I have another question for you which is you know there's GPT 5.6 so terra and luna and each of them have different effort levels so can you give us some

advice on um which model and effort level to use you know or what do you default to for the most part I I mostly just use sole medium right a lot of the work that I do these days has been just organizing

my life at work reading slack you know setting my calendar scheduling all these meetings these are all things that don't need the highest intelligence right so Most of my work generally is in medium.

And then when it comes to actually building out potentially prototype applications, so for example, I'm trying to learn the drums. I I've been working on a small little app that just teaches me how to play the drums. Uh there I'll

set things on extra high or ultra. I'll

build out a pretty complicated goal and then I'll just have Codex work for a couple hours to build that out.

Oh, that's interesting. Okay. I'm sure

we'll talk about that later. Maybe you

can share your Codex app and let's talk about maybe first how you kind of organize all your threads and projects.

So basically in the codex app you basically have work in codex. The only

real difference here is por requests for example right. So maybe we can just go

example right. So maybe we can just go back to work. A lot of my work on the developer experience team is operationally very heavy. And so half of the work that I do is mostly just managing what's going on externally. And

so you'll see here I have a bunch of different automations that are doing things just reading Reddit, reading Twitter, reading LinkedIn to figure out, you know, where the feedback is coming from, what are some issues people face.

Then I also have chief of staff threads that tell me what I need to focus on on a daily basis or a weekly basis. And you

can see that these run at a different uh automation loop. And then I have things

automation loop. And then I have things for how I'm planning dev day. Uh I'm

working on a you know mission video. How

do we think about the agents API? These

are some of my drumming uh drumming projects, my personal projects. I'm

working on some slides. But you'll see that almost everything is kind of just a pinned thread, right? I don't really have hundreds of threads working in the background. Every pin thread is a

background. Every pin thread is a workspace and it with compaction um all that's just kind of managed for me. I

see. So everything is kind of a long running paint thread. Uh because because really good compaction, it doesn't lose previous context. Right.

previous context. Right.

Yeah. And and everything else I just write down, right? So for example, if I think think something is important, I'll just tell the model to save that in the notes directory. um if there's extra

notes directory. um if there's extra work that needs to be done, instead of telling the main thread to do this task, I'll tell it to spin up a sub agent. And

you know, this is something that can be done automatically with ultra mode, but I tend to be a little bit more cautious on when I spin up sub agents.

Okay. And I noticed that uh just real quick that you have a project called vault. Do you have multiple projects or

vault. Do you have multiple projects or you keep to like one big project for everything? Yeah. So, because I have so

everything? Yeah. So, because I have so much of my context written down in an Obsidian vault. Vault is basically the

Obsidian vault. Vault is basically the only project. The other one is animate

only project. The other one is animate codeex. That's kind of a side project

codeex. That's kind of a side project I'm working on where I can just, you know, put codecs in reotion and just move some stuff around. But, okay,

everything's in the vault. I have other code bases like a monor repo or I have other code bases, different demo projects, and everything starts from the vault. And that way, if it's at GitHub,

vault. And that way, if it's at GitHub, when I move to the cloud or anything else, I can just pull that repo and start from there.

I see. Okay. So, and why do you use Obsidian instead of just have a bunch of markdown files or, you know, just better or organize things?

Yeah, sometimes it's just nicer to open up Obsidian and just see, you know, the images rendered to be able to go through all these cross links, but generally Obsidian is just the structure that I use. Um, it's very rare that I actually

use. Um, it's very rare that I actually open things in Obsidian. It's mostly

just in context for my for my agent, but uh from time to time it's it's definitely beneficial to uh set that up.

And just to confirm, this is just a bunch of markdown files. It's not a database or anything or No. Yeah, it's it's basically all just

No. Yeah, it's it's basically all just markdown files. Um, I have a directory

markdown files. Um, I have a directory for different projects. I have a directory for people. I have a directory for different notes. I have my daily notes and my preferences. And these are

all just things that I've saved down.

Okay. Got it. All right, dude. Well,

let's talk about the chief of staff. So,

yeah.

So, basically the chief of staff, you have a daily one and a weekly one, and they work based on scheduled tasks, right?

Yeah. Um, so how does that works every day? Let's take the daily one. It

day? Let's take the daily one. It

schedules what? What does it do?

Yeah. So I have a automation that runs at 9:00 a.m. and at I think 1 p.m. and

5:00 p.m. And basically all it does is it has to read all of my Slack. It reads

all of my Twitter DMs using computer use. And then it will read all of my

use. And then it will read all of my emails that I have not responded to and my linear board. And it will just give me a glimpse of what's happening. right

on linear if it finds that something is uh needs to get cleaned up, maybe a status needs to be updated, codif will just do that for me.

And so I just always get a clean view as to what what needs to happen. So for

example, I'm going to Brazil really soon and it's been able to just show me that I need to go figure that out, right?

It's also telling me I need to go pick up a package. Um

okay, one other thing I do for example that the Kashiva staff is really really helpful on that I want to share is just to checking the flights now. So usually

because I have a lot of travel, if Codex finds that there is a booking ticket and a reference number, it will check in the flight for me and you know text me the boarding pass to my personal phone. This

is my work laptop. These are just small things that I just have set up over time. This is not something that just

time. This is not something that just comes for free in any way. But as you start realizing how you can use codecs, uh now if I'm in New York, I'll just get a text message when I realize that my CEX has just sent me the boarding pass.

But see, you know, it's telling me about the artifact. I had some notes prepared

the artifact. I had some notes prepared for our meeting today. Right? There was

a linear ticket that was made. This is

the meeting I have afterwards with the marketing team. You know, this is just

marketing team. You know, this is just someone from the company giving some feedback, right? Some projects, logistics,

right? Some projects, logistics, and then some other projects that I'm working on.

And then what you'll see here is, you know, someone told me that there's a uh production thing that's happening in Toronto. I just take an appshot and just

Toronto. I just take an appshot and just make sure they're in my calendar. And

that's basically how I use these things.

This episode is brought to you by Google AI Studio, the easiest and fastest way to build and share your idea with real users.

For example, I use AI Studio to create three different landing pages for this bakery using images generated by Google's built-in nano banana model. One

highlights fresh bread, another highlights awesome cakes, and the last highlights the bakery story. I can

publish the website easily and get a custom URL. In this case, corgi

custom URL. In this case, corgi confections.ai.studio

confections.ai.studio

to share all three variations with potential customers for feedback in one tap. When I was a product manager,

tap. When I was a product manager, Google AI Studio was my go-to tool for building prototypes like this. And it

really is an easy and free way to share ideas with your team, customers, and everyone else. Check it out at

everyone else. Check it out at astudio.google.com.

astudio.google.com.

Now, back to our episode. Let's say I'm just a normal person trying to set this up myself. I I don't you know let's say

up myself. I I don't you know let's say I have uh email calendar and maybe Slack you know so what kind of prompt do I voice dictate to Codex to this thing going?

Yeah, I mean in the beginning I would say uh turn this thread into a heartbeat. I want you to check my

heartbeat. I want you to check my emails, my Slack, my linear every, you know, whenever it makes sense, 9:00 a.m., 1 p.m., 5:00 p.m. and just tell me

a.m., 1 p.m., 5:00 p.m. and just tell me what I need to uh prioritize, right?

Just by doing that, you'll get a pretty good overview of what you need to do.

And then over time, as you tell the model its different preferences, so for example, when it first did this, it didn't include links. I would just say, "Great. Now, I want you to make sure

"Great. Now, I want you to make sure that everything has a link. And then

over time, as things got more complicated, I said, you know what? I

want you to start using linear, right?

Um, now as I've used this over time, it's been able to do things pre-draft slack responses or pre-draft emails. And

so, instead of just telling me that an email came in, it'll give me a link to that opens the uh the email draft pre-written. And then I can just clean

pre-written. And then I can just clean some things up and then respond. And

those things have been super helpful.

Okay. So, you never actually get to just automatically send a Slack message for you. Do you do that?

you. Do you do that?

I do that sometimes as well, but it really depends on the context, right?

Um, for example, if I'm working on some code, I might just say, "Great, make a pull request and then check in on this pull request and once once all the tests are green, I want you to DM Andrew on

Slack with the link to the pull request and the preview URL."

Right? Okay. Yeah, it can it can do that quite well. But the cheapest app thread

quite well. But the cheapest app thread because it reads 40 emails and you know 100 slack messages. I want to be a bit little bit more surgical on how things are handled.

And you can tell to also learn your voice over time, right? Read my sent emails or read my messages and kind of draft stuff in my voice.

Yeah. So one of the my favorite skills is basically I have a write me skill.

And so if you open up uh codeex and say, "Hey, I want you to use a slack connector and read the past week of Slack messages I've written." and make a skill to figure out how to talk me. It

does a pretty good job. And then I might say, but I also want you to recognize that I want you to talk differently when you talk to external users versus people on my team. And I want you to talk differently whether you're messaging an

executive or a co-orker and you start investing in these skills over time. So the first version just

over time. So the first version just talks to you and then as you go over time, you learn these things, right?

You're always editing the skills.

I do the same thing with email.

Okay. Are you able to share this rightly skill?

So I have my my personal you know repo of all the skills that I use for my personal website sorry my personal codec and so yeah I have an email me skill.

All right. I have a tweet me skill. I

have a skill that turns my voice transcripts into blog posts. I have

skills that turn v videos of me into video essays. A bunch of different stuff

video essays. A bunch of different stuff here that has been very helpful for me.

Uh why don't we can you open one of them like tweet me or something?

Okay.

Yeah. So, it's there's a couple different voices that you have, right?

You sometimes you're teaching different things in codec, sometimes you're sharing demos, sometimes you're just replying to people who are who are giving feedback and collecting feedback, right? It's being able to find all these

right? It's being able to find all these things and figure out the kind of language I use. And I just small examples of what this might look like.

And how much of this does you actually type out versus just get codex to write it out? Most of this is written by

it out? Most of this is written by codeex because all I really need is sort of the the ability to do these kinds of references.

Yeah, I have a lot of these skills too and uh I think you'll agree with me because clothes can do all this stuff. I

feel it's become the hub of everything.

I I kind of read my emails and send emails through codeex and write social media posts and post them through codeex too. So it's kind of like this hub that

too. So it's kind of like this hub that that I actually used to do everything else.

Yeah, totally. I I feel so much of my work now can just be done through the Codex app. Whether that's the browser,

Codex app. Whether that's the browser, right, whether that's drafting messages, sending messages, and then now with computer use, even the small things, booking a flight, uh I just get to do that with with Codeex and it's been pretty funny to sort of watch these

things get better over time.

Uh do you worry about that? Uh you know, as the skills proliferate and all this stuff proliferates that, you know, there's just a lot of bloat inside uh everything that you use, try to clean up

periodically or no?

Yeah, I I clean them up tons. So, one of the cool things with uh Codex is all the sessions are saved in a database somewhere. I don't even know where it is

somewhere. I don't even know where it is at this point. But if you just tell Codex and say, "Hey, I want you to look at the past 400 sessions. Which skills

were never used? Can you clean things up? Can interview me and go through this

up? Can interview me and go through this process?" It generally does a pretty

process?" It generally does a pretty good job. Right? So, recently it had

good job. Right? So, recently it had said, "Hey, you don't really use these like data analysis skills. You can just delete them and reinstall them when you need to." Um, you use a bunch of

need to." Um, you use a bunch of different Slack skills. Should we

consolidate them? or even the fact that hey you have a right me skill a slack mike me skill and an email me skill should we have merged them into one thing and then it just starts cleaning things over time right it's no different

than hiring someone day one you have to tell them a lot of information and you give them feedback and they change over time and that's how I think of using codeex it's not the fact that I'm going to have a skill that just runs forever

perfectly right these are always things that are going to be uh improved over time okay so you have maybe you have a schedule task or something that just runs this cleanup job and then it pings on a regular basis.

Yeah, I mean I I used to have that I have that less and less these days. I

really just sort of decide at some point uh you know maybe I should do some cleanup, you know, sometimes I clean up the work trees uh and stuff like that.

Um and of course the skills need to improve over time, right? Because for

example, all the writing skills that I use, they never get anything perfect in one shot. I have to go back and forth

one shot. I have to go back and forth with it a lot. So um do you just say, "Hey, uh hey, look at our past conversation and try to update the skill or do you have some sort of trick to that?" That's basically it. Yeah, it's

that?" That's basically it. Yeah, it's

kind of incredible. I I feel one of the the disappointing things I I always uh tell people is like so much of it is just you just tell Codex, you know, why are you giving me this feedback? Just

tell Codex.

Um yeah, so oftentimes when I'm doing writing, I I'll I'll just say, hey, you know, it's been a couple weeks since this skill has been updated. Go read the last 200 Slack messages. Well, you what has changed? Go read the last 200

has changed? Go read the last 200 tweets. Um go read the last like couple

tweets. Um go read the last like couple blog posts I wrote. Something else I do is every once in a while I'll just say, "Hey, read all the sessions that invoke skills and what was the feedback I gave to those skills." Four months ago, I

built a skill called self-improve, which I have not updated on my personal repo yet, but it's probably changed a lot.

But all that does is it says, "Okay, look at these skills that are the most uh called, read the sessions of those skills, and tell me if there's been any consistent feedback about them." Um a

recent example of this was actually the Slack honey skill where um basically what it realized was every time I do something from Slack, I ask Codex to then reply back into Slack. Right? So

for example, someone might say, "Jason, can you make sure that this person is in is included in the program and then code I'll tell Codex this question." Codex

will say, "Yes, they're in the program."

And I keep telling, "Okay, can can you can you post back into Slack? Let them

know that it's been done." And over time, CUDEX will now just decide, oh, you asked me to handle something on behalf of a of a request internally.

Once I'm done, I'll reply back. These

are some small details that just reduce the friction. And at some point, you

the friction. And at some point, you just get more time back.

That's really smart. Okay. So, I've done the self-improvement thing by just kind of manually asking it each thread to improve. But I haven't done something

improve. But I haven't done something where you've done where you build a scale to look at all the past threads.

So, it actually saves all the past threads in the database some somewhere.

Yeah, they're all just in session JSON.

Yeah.

Okay. Then you kind of review the feedback and you kind of uh go do one or three and skip two or something. You

kind of Yeah.

kind of review it, right? Yeah.

Yeah. Oh, I do agree. I I do ask you to like I I feel this pain. I do ask you to f close the loop every every single day.

Please just do this automatically. And

you know, if I told it to close the loop day one, I think I would be too nervous, right? But now, because I know it's

right? But now, because I know it's something I asked for and it does it correctly, I feel much more confident about uh updating these skills to just, you know, slack on my behalf. Got it.

Okay. So, it sounds we both run our kind of operating system with Codex using a bunch of skills. Um, uh, can you talk about what the difference between a skill and a plug-in is? Should we be building plugins too or?

Yeah, I think generally the a skill is sort of one component of a plug-in, right? So, a plug-in is a couple of MCP

right? So, a plug-in is a couple of MCP servers potentially. It's a couple of

servers potentially. It's a couple of skills and it's a couple of, you know, different resources and scripts, right?

So for example, I right now have the uh write skill, the slackly skill, the email skill. Generally, I think the

email skill. Generally, I think the right thing to do is if I wanted to share this with my team, I would build a single plugin called better writing. It

contains all these skills and maybe some other MCP servers and that's the thing I can share with the rest of the team. So

I would say a skill is a one piece of a plug-in.

Okay. So plugin is like maybe a collection of skills with a bunch of scripts and other files they can share more easily. Yeah, I would have a

more easily. Yeah, I would have a content creation skill that might have all these different sort of content creation plugin that has all these skills combined.

Uh, okay. So, um, and I should know not this, but let's say I actually do have a content creation skill. So, let's say I want to make it into a plug-in and publish it to to everybody who uses codeex, I can do do that.

Yeah. Yeah. So, uh, since last week, we just had the ability to have folks be able to submit their own plugins into the, uh, codeex plug-in directory. And

so anyone can now just submit these things. Uh if it's just skills, it gets

things. Uh if it's just skills, it gets reviewed pretty quickly. If it's MCPS, we'll do a little bit more of a process to audit the security, but generally you can just get that installed in uh anytime you want.

Nice, dude. Okay. All right, dude. Well,

let's talk about browser and computer use, which in my opinion is probably my favorite feature that Codex has. Uh it's

is pretty incredible. Let me ask you this. What What is the most incredible

this. What What is the most incredible browser and computer use thing that you've seen? I think I think the example

you've seen? I think I think the example that I always talk about was this this time when I was going on a bike ride, right? I'm going on a bike ride and I check my phone and at work

someone says, "Hey, Jason, can you reexport this video for me?" Something

about the subtitles is not working correctly. Uh, and I need to GitHub

correctly. Uh, and I need to GitHub access to review the code myself. Can

you help? So, I connect remote control to my phone to my MacBook and I text it like, "Please use computer use to figure out where this video is. what tool was used to export this video and just edit

the video and post it back on Slack. And

then 20 minutes later, there's another video that has been shared on the Slack thread that has all these fixes changed.

And then I basically said, great, every 30 minutes, check the Slack thread, look for any feedback, and with any feedback, just export V2, V3, V4 of this video.

[laughter] All right.

And then when I when I got home, it was green lit and it was a launch video for uh migrate to Codeex. That was pretty awesome.

And did [clears throat] the other person know that your codex was replying to him or her?

Uh I mean if I think if you look at the time I I don't think uh they would they would have been able to know, right? It

was just the fact that every time I they gave some feedback 40 minutes later uh there would be another a new video, you know, with the wording changed or something made a little bit faster, a

little bit slower.

Got it. Uh do you have any tips for getting the most out of browser use? uh

are just asking it more and more ridiculous things. Yeah. [laughter] Do

ridiculous things. Yeah. [laughter] Do

you have any tips?

I mean I think the biggest one is understanding that now browsers the browser inside Codex has the ability to do O and and bring in your cookies. So

you can you can use it in a login state which means you just have access to way more information.

The second thing is just understanding that you can also control multiple tabs.

And so if you want to do things like research or comparisons and preparing your browser for some review, uh Hodex is really really good at that. A really

simple example, I wanted to go shopping.

So one thing I could have done is I I could have said, "Okay, I want you to do some research and give me a markdown file of the things I should buy." But

instead, what I said was, "I want you to do this research. Once you're done, give me a recommendation, but I want you to open every product in its own tab."

And I got to get my coffee. And when I came back, I had four tabs open. I read

the review. I looked at all four and I just pressed check out on the one that I really agreed with.

Right. Got it.

Maybe in the future I'll feel confident in letting it check out for me. But just

presenting the information as four tabs was very useful.

Yeah, some people are using I think browser use trace stocks or something. I

don't think I trust it enough to to do that kind of stuff.

Yeah, I mean I I know people who've been buying stuff with computer use for for quite a while. So uh maybe I'm not there yet, but maybe I will be there one day.

And um so that's actually something that maybe I have some feedback on. So so do you primarily use the browser use now in the inapp browser incodex browser? So

you have to sign into everything.

Yeah. So generally is I just didn't know that my AI has its own browser and then Chrome is the thing I use. Um that's how I usually think about it. And then

computer use is basically on the application level. And so it can do

application level. And so it can do things if I if it needs to control settings it'll use computer use. But if

it's any website, I generally try to keep it within the internet browser.

Computer use, I've only used it to clean out my downloads folder. [laughter]

I don't know if you have any kind of f fancy things use cases for computer use.

Just nothing too much. I mean, most of what I care about is never having to fill out a form again, never having to do some automation and figure out some API. So

for example, our open source program uh is a form that goes into Air Table and to get the data back out uh I have to download the CSV file. And so part of

my automation just opens it, presses download, moves it into some other drive and then does this automation, right?

And this point it just it just works. Um

other than that is most of it just going to be testing apps.

Testing apps. Okay, got it. Yeah. Yeah,

that makes sense.

Yeah. Okay. That that that's actually a really good segue. Uh I'd love to now talk about how you built apps. We can

talk about your drumming app or is that a website or is that an app?

Uh same thing, right? So I think yeah uh basically a couple couple weeks ago I ordered a drum kit. It's it's on my way and I learned that I need to learn things like rudiments or or which is

like you know how do you like do your sticking? Uh, I learned that the best

sticking? Uh, I learned that the best way of learning is like doing call and response, which basically says, you know what, someone will play a drum beat and you copy them. So, I said, "Great, CX, make me an app that has a library of

different rudiments and I want to be able to change the tempo." And then as I learn a new concept, I add it into the app. And now I'm able to upload any

app. And now I'm able to upload any YouTube video of music, take the drums out, play drums along with it, put the drums back in, play with the drums, and I can just make a custom learning app.

uh based on the my own progression and that has been really really fun.

Yeah. So so dude can can you show us how you built this app maybe from scratch?

I mean it's been like it's been like a week of work. So I I don't know scratch.

Okay. Okay.

Again one of the things I I want to really call out it's it's it's cool to have these demos where it's just yeah I ran a go for six hours but a lot of it is the fact that you can grow these things over time.

Yeah. So what I really want to understand is because you talk about running a goal for six hours right but to do that you need to have a really good plan or a spec or something right initially. So, how did you come up with

initially. So, how did you come up with that?

Yeah. So, basically, I just had a long conversation with it, right? I basically

recorded like, "Hey, you know what? I

want to learn how to play the drums." Uh, a bunch a bunch of YouTube videos talked to me, telling me about things practicing rudiments and doing hand and feet coordination.

Mhm.

And look at this. It's like, you know, 300 sub agents. Uh, I want to learn how to get all this coordination. What are

the what are the core skills I need? And

then with that I basically built out a plan MD file, a goal MD file and a worklog. And this

is part of that skills library. It's

just called ultra goal. And by doing that is able to work on different applications. So here this is an example

applications. So here this is an example of me being able to upload a song and and play that. Let me see if I can just tell it to serve the app.

So what I want to understand is you wanted to learn the drums and you wanted to build an app, right? But it sounds like the first step was to get it to just talk to it and figure out what you're trying to build.

Yeah. And then you said you generated um some sort of a plan MD or go MD or something. What's the difference between

something. What's the difference between those two or Yeah, I mean the goal is sort of like the success criteria, right? So for

example, a goal would be at some point I want you to be able to paste in a YouTube URL and actually extract

the different parts of the drum set, right? That's a goal, right? And until

right? That's a goal, right? And until

you can do that, you have to keep working. Got it?

working. Got it?

And the plan is like the implementation detail. I want you to write this in

detail. I want you to write this in React. I want you to have two different

React. I want you to have two different tabs. I want you to use these

tabs. I want you to use these technologies. And if you don't know how

technologies. And if you don't know how to use these technologies, read the documentation. Um,

documentation. Um, and basically go from there, right? And

the work log is just a way that I can just review the code and say, "Oh, yeah, it's really getting stuck on this permissioning issue." The work really is

permissioning issue." The work really is for me as just someone on DX team to understand uh what are the limitations of these tools.

Oh, the work clock is kind of updated as you go along during the app.

Yeah, it's kind of like the log itself because through compaction I'm not going to read every message, right?

And the plan and the goal you got codeex to generate it or is it Yeah, I I would almost say if you are trying to build good goals, don't write the goals yourself, right?

Like I think the right thing to do is to basically tell Codeex what you want.

Yeah. describe what the success criteria is and then just say great now set your own goal to accomplish this task. It it

is generally much better. And the reason I have the goal as a goal MD file is that I can just edit that file every once in a while and the goal will still keep running. So if my scope expands, I

keep running. So if my scope expands, I can just edit the goal without having to uh do you mind just sharing the goal to MD or can you open it?

Basically, I want you to verify the ability that to uh transcribe a video from a YouTube video. Yeah, this is the test song. This is the video ID.

test song. This is the video ID.

I see. So goal is not just build me a really cool drum app to do XYZ. It's you

got to people to verify.

Exactly.

Yeah. Verify some sort of core functionality.

Yeah. Right. So in this example, it's I need you to be able to open the app using computer use, upload this YouTube video, and get the data back out.

Okay.

Got it. And before you start building this thing, do you have I guess it's like personal app, but do you get catch images to generate some designs or do you do any of that?

I think that was needed more in the 55 world. Uh for 56, I think that you the

world. Uh for 56, I think that you the the front end is like good enough that I don't really need to worry about these things, right? Usually I just tell it to

things, right? Usually I just tell it to use certain tools. So I say I want you to use Tailwind and Shad CN.

Okay.

And it it has become much better at uh doing front end without using image gen.

Got it. Okay. Okay. So, in the beginning of every project, you have a plan and a goal. And uh well, we can't end this

goal. And uh well, we can't end this without you actually showing the drum map. So, you can show it real quick.

map. So, you can show it real quick.

Yeah. So, I just I I now just have all these like different tools to tell me how to play these things. Right. So,

this is a fourlim grid where left hand, left foot, right foot, right hand.

Oh, wow.

And it counts me in.

And I'm just trying to, you know, learn these little patterns on myself.

Oh, you're just trying to follow along on the drum.

Exactly. Exactly. Got it.

And then it just says, "Okay, now I want to learn like poly rhythm. How do I clap five beats in one hand and two beats in the other?"

the other?" Yeah.

Right.

That's pretty cool, dude. So, so

normally uh to learn this stuff, you watch some YouTube videos, you maybe take a course or something, but basically you build an interactive app to teach yourself.

Exactly. Right. Because now I can add anything that I want. So, so one thing is to be able to do this, which I think is the first step on just learning the coordination. But I would love to be

coordination. But I would love to be able to then at some point say, you know what, I want to give it a YouTube video.

I want to learn this drum solo codeex break this drum solo into small parts and put these parts in the same components and change the tempo so I can practice these things. Um, and yeah, you know, like this is just a good way of

warming up, but also understanding how we can use AI to sort of build these tools myself.

So you have an engineering background, but what if someone doesn't know, for example, to say, hey, use Tailwind or you know, this is how you convert a YouTube video into this drum thing.

Should you get Codex to give you some trade-offs or I mean I think again this is this is one of the things where a lot of people in college for example ask okay now that coding is solved what is the thing that people should really figure out right

and the example I always give is hey if you want to if you want taste you have to eat I think our job now is to come up with that language and learn more about what you want and so a part of it yeah it makes a lot of sense to know all

these things ahead of time but it's also just really valuable to be dissatisfied with how good something is and learn the vocabulary and the words you need to figure out um what it takes to make

things better. So I would just rather

things better. So I would just rather say tell Codex to make something and just think hard about what you don't like about it, right? And learn more as you go, right? The benefit of even

learning to code has always been just go build something and as you face problems, you'll learn to face these problems. And maybe four years ago, the problems were just how do I write the

code? But now it's like, "Oh, no. I want

code? But now it's like, "Oh, no. I want

you to Oh, actually the I don't have a good experience. Why is that the case?

good experience. Why is that the case?

Oh, I don't have to write keyboard shortcuts to change the tempo of this song. Okay, let's add a keyboard

song. Okay, let's add a keyboard shortcut system. Oh, I don't like the

shortcut system. Oh, I don't like the fact that I can't switch between these two panels. Why is it flicker so much?"

two panels. Why is it flicker so much?"

And you'll ask Codeex. And Codex will say, "Oh, the reason this flickers is because we're not we're not like eagerly loading this page." Like, great, fix that. I think as long as you're

that. I think as long as you're dissatisfied or as long as you're conscious of what you don't about something, you can make progress towards making it better. Like that that's the real skill, right? You don't need to know everything ahead of time.

Okay. Got it. Yeah. So, it's kind of like you iterate and improve it and you learn stuff over time. Yeah.

Yeah. Right. It's the same with skills.

It's the same with hiring somebody. My

expectation is never that AI will solve my problem at the first step because I don't expect humans to know what I want unless I really knew what I want. I

think you kind of have to go the extra mile because uh Kodas will just build something for you and hey go fix the drum or go fix this thing and they'll fix it, right? I think maybe there's some way to add some instructions. Hey,

can you actually explain how you fix it or what kind of trade-offs did they make, you know, to actually understand what's happening behind the scenes?

That's the same thing as saying that go fix it is I think I think that's the the issue is that people keep saying go fix it without actually thinking about what is the thing that they don't like, right? I think the things I'm talking

right? I think the things I'm talking about are more, oh, I really want to think about how should we should make better keyboard shortcuts. Could we

color code things better to make sense of it a little bit more? Instead of

having circles, can it have right hand, left hand, right? It's actually about like being really conscious about the things you want it to improve. If you

just say make it better 20 times, it's going to be hard to figure out whether that's actually going to get you good results right?

Yeah. So, so I guess leveling up building of codeex is just being learn to be more specific in the feedback that you give the AI, right? Yeah. And like I think that's that's the only job left is to understand what you don't think about something and put it into words and like

help the AI.

Sometimes I feel uh just getting a little bit philosophical as the last question. I kind of feel like these days

question. I kind of feel like these days we're all managers, right? We're giving

feedback to our AIS. But sometimes I kind of miss the craft of just getting there and getting my hands dirty whether it's changing some code or manually tweaking some tweet or something.

Yeah.

Do you kind of have that feeling or not too much? Right. I don't think of myself as a manager. I don't really think about myself as being heavily rewarded for like working hard. Everyone

works hard at OpenAI. But what makes you stand out? You stand out because you

stand out? You stand out because you care about how good something is. You

care about the results that something's going to deliver, right? And for me, this app is a good app if I actually learn to play the drums better. This app

is a good app because uh I can sh I've made it sharable and other people can use this tool and and learn something about uh how maybe how it's made or how to play music, right? This app is

successful if I like can build a small community around that. How the code looks to me I think is is secondary to sort of the outcomes I want to drive whether it's for myself or for others.

Okay. Basically the user experience and the user outcomes. Yeah.

Yeah.

Makes sense. All right, dude. Well, I

mean you guys are doing an amazing job.

Um I'm curious just over this past weekend uh there were so many updates from Tibo and everyone else. Uh do you guys have any kind of principles in the team that just or is this everybody you hire cares a lot about the community and

the users? How do you guys

the users? How do you guys Yeah, I mean I think so much of it comes top down from Tibo what I said before, right? Everyone works hard. Like Tibo

right? Everyone works hard. Like Tibo

works hard, I work hard, but I think just Tibo cares a lot, right? And Tibo

engages with the community in a really great way. And I think that just

great way. And I think that just trickles down to the rest of the team and the rest of the team cares a lot as a as a consequence of that.

Yeah, I think it's important just to be transparent and talk to human because I I think it's very easy to just become very corporate and you know do press releases and stuff. I I've seen this in my whole career, you know, and it never works out. People just want to talk to

works out. People just want to talk to the human face.

Yeah. Yeah. I I think T has been doing a great job of just representing the company and also representing the users towards the company as well.

Awesome, dude. Well, where can people follow you online and maybe uh give us some hints about what's coming next for Codex? is going to take over even more.

Codex? is going to take over even more.

Yeah, so you can find me on Twitter at uh JXNLCO. If you want bigger updates on

uh JXNLCO. If you want bigger updates on the uh product, you can also check out OpenAI devs. And I think the biggest thing for me is just like so far CDEX has been on the desktop and we're moving

a lot of that into the chatbt work experience in the cloud, right? And so

some of the automations now can be running in chatb work rather than codeex. And I think I'm really excited

codeex. And I think I'm really excited to just make more progress in the cloud experience overall, right? the work

should have to the work shouldn't have to stop because you close your laptop and uh you know once that's once that's the case I'm even more excited for what's possible.

Yeah, we talked online about that uh live calling feature too. You got to let me call my codeex and give it some directions. [laughter]

directions. [laughter] Yeah, voice of the future like I use dictation a lot and I think we're going to make a lot of progress there.

All right, Jason. Well, uh thanks so much for your time, man. I I definitely learned a lot in this conversation.

Awesome. Take care. Thanks for having me.

Loading...

Loading video analysis...