All right. Hi, and welcome. Thanks, Dan. Excited to be here. So you are a software engineer at Notion, working on Notion AI. Notion is one of our favorite companies, and we've built our entire company on Notion. And I think you're one of the most slept-on companies in the AI age, because you guys get it and get how valuable having a company brain that is connected to all your agencies. And just excited to have you on to show us a little bit about how you do your work, especially your coding work in Notion. Yeah. We're not a frontier lab or anything, but we're extremely AI-built, nonstop. AI for everything. I can tell. I can feel it from the product decisions.
So maybe jump into your demo and show us a little bit about how you work. Yeah. Yeah. So right now we're looking at a bunch of me yapping. Actually, I'll even open up a new thread here so you can get an idea of how this works. I start a new thread. For me, I start all of my tasks by just yapping. I'm a big believer in if I'm speaking, there's all these little bits of nuance and detail that I'm going to provide versus me just typing on the keyboard. If I'm just talking, it's completely free-form. And I'm including way more context and details.
And the models don't really care about how many times I say, or if I say, do this—oh, wait, no, actually, never mind, do that instead. The models don't care, and in fact, I think it might even help. But this demo that we're looking at here, this is actually something real I was working on today. We're working on the redesign of our model picker, and this version, this alpha version of our new AI, doesn't have the new model picker. And so I was like, cool, the guys have built that. They did a really great job. I want to bring that over, do some code sharing and whatever. And so I'm just like, blah, blah, blah, blah, blah, blah, blah.
And we shipped recently in Notion AI the ability to use Notion AI and add a computer. Right now we're using Vercel sandboxes. And so anytime you're asking Notion AI to do something that's too complicated with the tools it's already got, it would be like, cool, I'll just open up a computer. I'll start using bash or whatever and make PowerPoints, HTML files, do whatever. And that's great, but you're starting with a really bare-bones sandbox anytime you're doing that. And with what we've been building, we have this other internal project. We nicknamed it Boxy, which is our coding VMs, or remote compute on demand.
And so instead of running everything locally, I've got these other machines out in the cloud that I can connect to and write code on. We were like, wait a minute. What if we gave Notion AI, instead of a simple sandbox, our prebuilt Boxy VMs? And so now we have, in this little picker, Boxy as our computer. And so when I ask it to go and figure out how this new model picker that we're building works, it can actually go out and run all these computer commands and go and explore our code base. And at the end of it, in this instance, I'm actually asking it to create a task.
I'm like, cool, add it to our M2 milestone project, make the task, and include all the context and requirements for doing this migration, and how do you verify it yourself? And so it ends up producing this pretty detailed task with all the code pointers, requirements, verification steps. And this is prebuilt, ready to run. What I'd been doing before we built this was I'd actually use Codex. I still love using Codex. I would connect it to my repo, either with Boxy or locally, and then have it create a Markdown file, or I'd use the Notion MCP to create a task like this. But I'm hopping between apps and stuff.
And all of a sudden, I'm just talking into Notion, and with all these native tools to create pages and stuff, it just writes the page, no app hopping or anything. Plus, it runs in the cloud. So I send it a message, and I just close the tab, and I go to a meeting or something. I come back, and I'm like, cool, there's my task. And are you, is this all in a board somewhere? Yeah, we have our company canonical task board up here. I'm pretty averse to project management. I can't look at Kanban boards or anything. I'm just one task at a time. I've gotten into the habit of pinning my tabs or my chats as I go.
And so that's almost my de facto project management, like what tasks do I still have pinned? That's what I gotta be thinking about. That's really interesting. And does this also kick off reviewers or anything like that? Or how are you tracking it through the full life cycle? Well, yeah. So this is just the generation of the work that needs to be done. What I end up doing next is I spin up a new chat thread where I'm like, work on this. And actually, you can see up here, this is my actual workflow. So I will link the task. I'm like, meet all the requirements.
I have this review swarm skill because before I even look at the code, I want this thing to be hammering all of the generated code it did itself with a little bit in-depth review skill that I've built. And then once it's done iterating on all that, I want it to put up a PR. Then I want it to monitor all of our continuous integration. If there's a type error, test fails, that's fine, but just go fix it. I don't want to look at that. And this thing, I had it start at 12:53, and this is all from within Notion. Yeah. At the end of it, done at 2:27, PR is up, things pass. Earlier I was just clicking around, and it's perfect. Basically one shot at it.
And I don't want to glorify the one shot as in I just said, build a thing, make no mistakes. The part that's awesome for me is I'm spending all the time planning, and I'm thinking about what I want to achieve. What's the environment? What are the changes? What are the constraints? And then I'm giving it all the instructions and the tools it needs to be able to build this feature. And it's completely eliminated the busywork. That was literally an hour and a half, two hours of work that this did. I was in meetings. I kicked off other tasks. I think, to me, one of the killer reasons I love doing this within Notion now is that it will find an example.
We built this edit references feature a while ago, and here in part of my skill, I tell it, take notes. And so it's able to use Notion as the source of truth, not only for the original spec and the tasks, the requirements, but then it also turns into a living work journal. As it's building the feature, it's going and updating all the things it finds, problems it runs into, whatever. That's really interesting. I'm curious because we use Notion for a lot of planning and company information stuff, so it's a new thing for me to process. Oh, maybe I could do coding in here.
What are the non-obvious second-order effects of having your coding agent live inside of Notion that I might not realize? One of the things I'm thinking about is I have Codex search our meeting notes all the time, which are taken in Notion. Right. So I assume there's stuff like that that happens. What's your experience so far? Yeah, for me, I didn't think it'd be as big of a deal personally as it's been to just have less context for me to manage. Is my local repo up to date? Is Codex updated? Do I have the latest? Is it connected to the right environment or whatever? I think simply being able to eliminate more of those steps is really exciting.
But I think what's been really great for me is just the consolidation of essentially treating Notion as the source of truth for all context. But eliminating the hopping around has been pretty magical for me. That's awesome. Super cool. Any other last piece of the process you want to show us? I found we're making gigantic changes, especially with this feature that we're building, and I needed something that's not only going to look for bugs, which obviously I need caught, but I need something that's looking out for, am I writing maintainable features and changes and infrastructure? So I built this review swarm skill to essentially take a change set, slice it into domains.
So maybe you have a front-end change and a back-end change. And then within those changes, delegate out to a correctness reviewer and then a maintainability reviewer. And then each of those is going to look for bugs, and the other one's going to look for patterns. Is there code that we should be reusing? Are there existing patterns that we should be doing? Or did I build something in a way that's going to just completely implode once it goes to scale? And then for each of those slices, I also run all of this for both GPT and Opus.
And so they're each doing a pass, and then the top-level agent collects all of the findings and turns that into a report of things that need to be actioned. And then essentially I just have the agent loop on that until things are good. And it's, for me personally, been the best review loop flow I've ever experienced. And I think that's another really cool thing about the age that we're in, is how malleable this stuff is. I was like, cool, all of these other skills are really great, but I have my own things that I care about.
And instead of just being like, well, nobody's built it, I don't have the time, whatever, I just opened Codex and I was like, analyze these other skills, but here's the things I don't like about them. Here's the things I do like. Build me a new skill. And it just did it. And that's turned into my own thing. That's awesome. Well, I hope you open-source that skill so that we can all get the benefit of it. Ryan, this is amazing. Thank you so much for joining. Like one of the things I'm thinking about is I have my, I have codecs search our meeting notes all the time, which are taken in notion. Right. Um, so I assume there's like stuff like that, that happens.
What's your experience so far? Yeah, for me, I didn't think it'd be as big of a deal personally as it's been to, just have less. Like context for me to manage. Um, is my like local repo up to date is like codecs updated. Um, do I have like the latest, is it connected to the right environment or whatever? Um, I think just simply being able to eliminate more of those steps is like really exciting. But I think what's been really great for me is just the consolidation of. You know, essentially treating notion as like the source of truth for like all context. Um, but like eliminating the like hopping around has been pretty, pretty magical for me. That's awesome. Super cool.
Uh, any, any other last piece of the process you want to show us? Um, I found we're making like gigantic changes, uh, especially with this feature that we're building and I needed something that's like not only going to like look for bugs, which like obviously I need caught, but like, I need something that's looking out for like, am I writing maintainable features and changes and infrastructure? So I built this review swarm skill to essentially take a change set, slice it into domains. So maybe you have like a front end change and a back end change. And then within those changes delegate out to a correctness reviewer and then a maintainability reviewer.
And then each of those is going to like look for bugs and the other one's going to look for like, what are like patterns that we, uh, is there code that we should be reusing? Are there existing patterns that we should be doing or like, did I build something in a way that's going to just completely implode once it goes to scale? Um, and then for each of those slices, I also run all of this for both, um, GPT and Opus. And so they're each doing a pass and they, then the top level agent collects all of the findings and turns that into like a report of like things that need to be actioned. Um, and then essentially I just have the agent loop on that until things are, are good.
Um, and it's for me personally, uh, it's been like the best review loop flow I've ever experienced. Um, and I think that's another really cool thing. And just about the age that we're in is like how malleable this stuff is. I was like, cool. All of these other skills are like really great, but like I have my own things that I care about. And instead of just being like, well, nobody's built it. I don't have the time, whatever. I just like opened codex and I was like analyze these other skills, but here's the things I don't like about them. Here's the things I do like build me a new skill and it just did it. Uh, and that's turned into my own thing. That's awesome.
Uh, well, I hope you open source that skill so that we can all get a benefit of it. Um, Ryan, this is amazing. Thank you so much for joining.