In short
Spec-driven AI engineering workflow at Notion—using custom agents to (1) generate high-quality standup pre-reads automatically, (2) run background coding/CI tasks from Slack, and (3) implement features from repo-stored specs with a verification loop.
Guests
Ryan Nystrom, engineering manager/technical lead at Notion (manages ~6–7 people; previously did iOS/mobile work; has 20+ years in software engineering). Podcast host Claire Vaux is a product leader and AI obsessive.
Key claims
AI reduces meeting overhead by compiling Slack/GitHub/telemetry/meeting transcripts into a structured pre-read; faster CI is essential for agent-driven shipping; “specs as source of truth” plus automated verification enables one-shot implementations; managers should stay close to coding to avoid paperwork.
Notable examples
“Afterburner” standup template + custom “hot potato” agent pulling last 24 hours of Slack/Notion/GitHub/metrics; “Boxy” internal “software factory” that triggers Codex from Notion tasks to produce PRs with preview URLs and screenshot-based UI verification; spec library in an “agent specs” folder where Codex generates code from Markdown specs and runs tests via CLI/ask-mode.
Written by AI. May contain mistakes. Listen to the episode to check what was said.
Chapters
Tap a time to open that second in VOThe Power of AI in Code Development
0:00 to 1:13
Discover how AI tools can streamline the coding process and improve efficiency.
“One line that I've been putting in my prompts lately is I literally don't know what I'm doing here.”
Ryan's Journey with AI Tools
2:49 to 4:28
Hear how Ryan adapted his workflow with AI tools and the impact on his work life.
“I am really excited because you're going to show us, I think, start, medium, advanced mode on some AI coding stuff.”
Using AI to Improve Team Management
4:28 to 6:04
Understand how Ryan uses AI to enhance team processes and project management.
“So we had this really aggressive goal to cut our CI into like a quarter of what it is.”
Revamping Stand-Up Meetings
6:04 to 7:13
Learn about the automated meeting template that transforms stand-up meetings.
“But so what I want to show you is a little bit about how we run projects in Notion and how I'm using AI to kind of streamline those projects.”
Fostering Collaboration and Engagement
7:13 to 12:01
Explore how detailed updates in meetings can boost team engagement and collaboration.
“And then basically like a notes document that's a very high level because some human is putting it together, it stinks.”
Balancing Coding and Management
12:01 to 14:01
Discuss the importance of balancing coding tasks with management responsibilities to prevent burnout.
“This kind of like raises everything up to the top and makes it very visible.”
The Evolution of Engineering Management
14:01 to 15:56
Explore the shift in engineering management from tedious tasks to engaging teamwork.
“mechanism where they're supported through these automations.”
Building the Notion AI Agent
15:57 to 20:28
Learn the thought process behind creating a custom AI agent for Notion.
“This is not how do I get better at my soft skills and managing stakeholders.”
Simplifying Daily Workflows with AI
20:29 to 23:04
Discuss how AI can streamline daily tasks and reduce mental load.
“at work or life, I just feel like write down what you would do if you had time.”
Enjoying Work While Reducing Toil
23:05 to 23:51
AI enhances productivity while making work more enjoyable.
Show all 19 chapters
Notion's Internal Development Workflow
24:53 to 28:05
Insights on the new coding and task management workflow at Notion.
“Sometimes with your fingers and sometimes with, you're my favorite harness of the moment.”
Internal Tools and Development Processes
28:05 to 31:05
Explore the development tools and processes used at Notion, including code reviews and the role of AI in these tasks.
“we built i can actually mention codecs from within our comments and this triggers are like boxy uh This is all our internal dev tooling stuff.”
Spec-Driven Development in Software Engineering
31:05 to 36:25
Learn about the concept of spec-driven development and its importance in modern engineering workflows at Notion.
“And it just, I think the, we'll talk about this, but the velocity plus your DevEx plus your CI, I think is a huge piece of AI adoption in engineering.”
The Impact of AI on Developer Experience
36:25 to 39:25
Discover the relationship between developer experience, CI speed, and AI tools in improving engineering productivity.
“So it's not like there is not code in the spec.”
Optimizing CI and Development Processes
39:25 to 42:00
Discuss strategies for optimizing continuous integration and overall development processes using AI and other tools.
“wherever you work, Notion being a great place to do that, kicking off virtual machines, getting PRs done, just saying yes when your friend texts you, can you ship this feature?”
The Importance of CI Speed for Developer Experience
42:00 to 42:40
Learn why CI speed is crucial for enhancing developer comfort and productivity.
“And so I find it's one of my daily drivers.”
Maximizing Output with Fast CI and Agents
42:40 to 45:00
Discover how fast CI and agents can exponentially increase coding efficiency.
“And if I can close the iteration loop, like even tighter, then I'm going to be putting out a change.”
Effective Prompting Strategies in AI
45:00 to 46:10
Understand different approaches to interacting with AI for better outcomes.
“And honestly, like good for AI, good for humans.”
Engaging with Ryan Nystrom: Insights and Help
46:10 to 47:10
Learn how to connect with Ryan Nystrom and his approach to addressing Notion issues.
“Little arrow button has never gotten so much work.”
Transcript
Automatic transcript. May contain errors.0:00Ryan Nystrom:One line that I've been putting in my prompts lately is I literally don't know what I'm doing here. You got to explain it like I'm a five-year-old. I didn't start with writing code. I didn't start with anything. I just started with an empty markdown document. I actually just opened up whisper and just started yapping about how this feature should work. I gave the yap session to codex and was like, write a spec. I then opened up codex again, pointed it at this spec file, and I said, build it. And basically one-shotted this. I've been in software engineering for 20 plus years we were writing these documents and we were sitting in meetings with other engineers debating the merits of one implementation versus another and now no more waiting for the meeting no more waiting for review i'm not a ci expert but i kind of know what i want and so other folks were kind of like can you just bring some of your like puppy dog energy to like ci and just see what we can do your ai your agent is never going to complain when you ask it to do this five minutes before the meeting starts.
0:58Ryan Nystrom:It is more relaxing and it's more fun. And I feel like I'm getting more done. It's weird to have this like win, win, win. They do the triangle and they're like, pick two. And you're like, no, I'm going to pick all three. Give me the whole triangle. Give me the whole triangle.
1:13Welcome back to How I AI. I'm Claire Vaux, product leader and AI obsessive here on a mission to help you build better with these new tools. Today, we have Ryan Nystrom from Notion, and he's going to show us as an engineering manager how you can never prep for a standup again. We're also going to see how you can get a background agent to write code for a fix your friend texted you, and how Spectrum and Development really works in a code base at scale. Let's get to it. This episode is brought to you by WorkOS. AI has already changed how we work. Tools are helping teams write better code, analyze customer data, and even handle support tickets automatically.
1:51But there's a catch. These tools only work well when they have deep access to company systems. Your copilot needs to see your entire code base. Your chatbot needs to search across internal docs. And for enterprise buyers, that raises serious security concerns. That's why these apps face intense IT scrutiny from day one. To pass, they need secure authentication, access controls, audit logs, the whole suite of enterprise features. Building all that from scratch? It's a massive lift. That's where WorkOS comes in. WorkOS gives you drop-in APIs for enterprise features so your app can become enterprise-ready and scale up market faster.
2:31Think of it like Stripe for enterprise features. OpenAI, Perplexity, and Cursor are already using WorkOS to move faster and meet enterprise demands. Join them and hundreds of other industry leaders at WorkOS.com. Start building today. Ryan, welcome to How I AI. I am really excited because you're going to show us, I think, start, medium, advanced mode on some AI coding stuff. And so before we jump in, how has AI just changed how you live your life at work?
3:10Ryan Nystrom:I mean, it has completely upended the way I work. I've been doing this, I did a lot of mobile iOS work in my past, and I worked the same way every day for 12 plus years. And then the last year I have changed IDEs, terminals, tools, whatever, like 10 plus times. so it's like really weird and scary to be like changing this stuff so much but it's also I feel that like I've been doing this for a while and I'm feeling like so much like joy and freshness and like newness in this that like I wake up every day super excited to like tinker and build things and I'm also like working faster and harder than I feel like I ever have but like in a good way I know people are like kind of freaked out about like everything's changing the pace is up but like It's really energizing for me.
4:07Well, you are not alone. I think every How I AI guest has come on and said, I'm having more fun. I'm working faster and everything is different. And what I love about what you're going to show us is it's not just the set of tools, which I think has changed or how we write code has changed. How you run a team has changed. And I think for the better. you know so i would love to see how you're using notion ai to actually run teams differently
4:36Ryan Nystrom:yeah for so for context i i manage a team of like six seven people um i'm like an engineering manager or a technical engineering tech lead manager or whatever we call it i manage people and write code uh is like my role which i love and i've run a bunch of different projects here notion the the one i'm going to show today uh we've we've nicknamed afterburner like kind of a quick backstory is i've been kind of vocal about our like devx ci for a while um i've just i worked at places where it's really slow i've worked at places where it's really fast and i came here and i was like we're kind of like in between but i feel like we're like slower than we need to be uh and eventually this like caught up to me and somebody was like could you just come fix it and like come work on it and I'm not like a infra expert I'm not a CI expert but I I kind of know what I want and I think also most importantly the the group that I manage and the the org that I work in we're a little notorious for being like really fast and like very very AI pilled and so other folks were kind of like can you just bring some of your like puppy dog energy to like CI and just like see what we can do.
5:56Ryan Nystrom:And that's what we've done. So we had this really aggressive goal to cut our CI into like a quarter of what it is. We're on the path to doing that. But so what I want to show you is a little bit about how we run projects in Notion and how I'm using AI to kind of streamline those projects. So what we're looking at here is like our like project hub called Afterburner. and so in here I've got all this documentation I've got databases um we'll look at some meetings I have like a automation that looks for any sort of like little wins if we knock off seconds from different jobs or whatever and we keep it we keep track of them in here but what I want to show you is basically how we run our meetings our small group we'd run a stand-up every single day and doing stand-ups where everyone just like is kind of like dead-eyed and going around being like I did this I shipped this change or you know no updates for me thanks is like painful and in my opinion like a huge waste of time I want to like get to the the meat so we have this kind of like automated meeting template that shows up every single day that we run our meetings which is basically every day and it starts blank and then what i have set up behind the scenes is a custom agent so we chipped this notion ai custom agent stuff a little bit ago and this runs right after the meeting template gets generated and it looks through all of our like slack conversation in the last 24 hours any tasks in notion that we close any um pull requests that we've like merge just like all sorts of contexts oh and it looks at like yesterday's meeting transcript as well and then it compiles it basically like a pre-read and um this is a this is one from a week or so ago and it yeah it shows it pulls metrics it can show us like what our latest ci time is it shows some of the things we've decided shows like progress on different like projects or like different things that we're trying to like make faster bugs feedback open questions like anything that's like of concern and like i can basically work up until like the minute of our meeting without having done a bunch of like prep and then we all get on a video call and we look at the screen and we're like okay here's what we need to talk about and we'll like hit each bullet we have like meeting notes that we run down here um within notion and like all the context is basically captured all of the like agenda is like set up for me so we spend the entire time talking about like problems decisions wins findings like what are we going to work on next and it's less the like oh i did this thing yeah what i want to call out for folks that are maybe listening and not watching is this is a very detailed meeting like kind of like pre-read status update which if you're a you know tlm or an em running good meetings unfortunately is part of part of the job and there's a really big difference between a good stand-up and a bad stand-up and i think the the ones you described these like wrote like i wrote with this PR, today I'm gonna start on this.
9:29And then basically like a notes document that's a very high level because some human is putting it together, it stinks. And you start to like do, the other thing that I found and maybe I'm curious if this has impacted how you work or just made it easier, which is like you start to have those meetings less because the updates aren't super rich, people don't feel like it's a good use of their time and I think you lose something by reducing the frequency. But if you can have high bandwidth, high quality meetings with high frequency without the overhead, I think you can get better, more detailed work done collaboratively, especially if you're running like a remote team where not everybody's in the same room.
10:16So I'm curious, do you feel like just being able to get to this level of detail in your standup has improved how you can actually build this product and do this work basically?
10:25Ryan Nystrom:I've been in way too many meetings where I can tell like everybody's eyes are glazed over nobody's paying attention and I like I have run enough projects at this point where like to me that's like pretty dangerous because like everybody in that room has ideas they have insight but like because we've made it like so non-productive and like not engaging that like we're not we're just like we need the point of the meeting is to like exchange ideas and information. And if we're like not doing that, like literally what's the point? The whole like this could have been an email. Like that's what the meme is from.
11:01Ryan Nystrom:And so I found that this is basically a good conversation starter. And a key thing to me that tells me that this is working is when I'm like I'm running these meetings and kind of going through like bullet by bullet. And then I see like, oh, somebody like fixed our mock server environment in our our just tests. And we're seeing a test improvement by like up to 13 percent. Like, oh, I miss that. You know, that's that's super cool. Like tell like let's talk about it. And then from that, maybe like, oh, there's additional headroom that we can make on this. And so all of a sudden, like, let's drill into it.
11:42Ryan Nystrom:And so just like I also think it sort of democratizes that like sharing so that you've got some people that I could talk for an entire 30 meeting without shutting up. And then other engineers are like, you know, kept keeping to themselves, but like brilliant and super talented. And I think it's great. This kind of like raises everything up to the top and makes it very visible. I was thinking last night, truly, this is a little bit of a sidebar, but I was thinking last night how people don't know this. It's very, very confusing, as Claire Vo, the podcast host. I am such an introvert. I'm a crazy introvert.
12:19I will avoid humans with every fiber of my being. And I find, like, AI as a proxy for me to get over my own anxiety communicating with the other sidebar. It's, like, so insane. But I really feel it. Whenever I like message my open claw and I'm like, hey, Polly, can you email so and so blah, blah, blah on my behalf? My anxiety is gone. But when I sit in front of my Gmail and start typing an email, my introverts start showing. I'm like, I can't. I can't do it. So I think this is a real point, which is like you got to pull information out of everybody. Yeah. And there's like spikes and valleys of who is going to come and show off their work, how detailed they're going to be.
13:00It does not mean the work is not good. It does not mean they are not talented. They just have different skills in different environments. And so I love this call out of like, we're going to pull equal amounts of information out of everybody because the playing field is is equal. I also want to go back to something you said, which makes me think about burnout. But you said I can like work up until this meeting starts. And I know so many people who feel like they're in meeting after meeting after meeting. One, because when they're not in meetings, they're preparing for meetings. So you're getting rid of that.
13:35And then two, I think managers being able to, for example, code up until the stand up is such a burnout like protection mechanism, which is you would much rather your managers hands on the code, hands on doing work, filling a creative impulse than prepping for meetings. Sure, they're great at running the meetings, but let's do that in like this just in time mechanism where they're supported through these automations. And so I just imagine I used to feel so stressed as a leader and as a manager being like, if I'm not in a meeting, I'm prepping for a meeting and then I'm in a meeting. And if I can carve back more of my time to just do real things, that feels so much, so much, so much better.
14:21So I'm guessing you're having more fun just through the balance of the kind of work you're trying to do.
14:27Ryan Nystrom:Yeah, I'm having so much more fun working this way. I have done the like run a big engineering group where, yes, you're spending half of your time just compiling information, synthesizing it, writing reports, like doing all this stuff. And I hated it. Like, it's so draining. And now I feel like I'm in a sweet spot where I can support and work with a team of, like, very talented individuals. But also not have to, yeah, be, like, doing, like, paperwork the entire time. Like, I don't want to do, like, the tedium. I get a lot of joy out of working with people. It's, like, why I like managing. I like talking with them, having fun.
15:09Ryan Nystrom:I love, like, solving hard problems together. And then I like building stuff. And yeah, I think that we're maybe at an inflection point where like maybe this is controversial or not. But like if you're like a line manager, like write code, you know, get in there and like stay close. Maybe don't do the P0 hero projects, but like help your team fix bugs, like make optimizations, like whatever. You know, it's just it's so easy now. I mean, I'm going to pull that thread all the way up, which is like directors of engineering, VPs of engineering, like CTOs, CPOs. Write some code. Now is the time. And I say this all the time on this podcast.
15:59This is the era of the hard skill. This is not how do I get better at my soft skills and managing stakeholders. This is literally like how do you write code? How do you write automations? How do you learn these new tools? How do you understand what models do, do what for your own skills? That I think is super important. Okay, we could go on forever on this topic. I do want to show folks how you built this. Yes. Because we haven't seen, actually haven't seen, we've had a couple of Notion folks on the podcast. We haven't seen Notion AI in action. And I just want to see kind of your thought process on how you build something like this out.
16:32Ryan Nystrom:So I'm going to flip over to, this is our custom agent. Don't ask me why we got this like potato theme for like the entire project. I think it was kind of something about like CI is just this like cobbled together like mess. And so we're going to like make the potato like a rocket ship. I don't know. I don't even know if that makes any sense. But like now we're having fun with it and we have reactions and like agents and it has spun off into its own thing, which is fun. But this is our hot potato agent. So you can see I have this set up to run at 9 a.m. every single day. It's also set up for chat.
17:06Ryan Nystrom:it's set up if the agents mentioned but we never really use any of that and probably the important part is the actual instructions so in this instruction page giving context on like what the purpose of this agent is i am telling it to run yeah look back at 24 hours so basically telling it your job is to run every single day and i only want you to look back for the last like 24 hours of activity i'm explicitly telling it to use subagents which is kind of a sleeper feature in notion ai like this exists but we don't we don't really push it to use it very often yet because it's one it's very expensive and two it can be kind of finicky sometimes but um i helped build it so i know how this works uh and then i ask it to kind of like fan out and do like a map reduce where I'm saying go use the honeycomb mcp to figure out what the latest metric is look in our project channel and like find updates feedback questions I tell it where the task database is and how to look for tasks within this project and then how to find yesterday's meeting and then I give it a template in the instructions or I'm like this is your format I care about ci speed decisions progress changes bugs questions risks a little bit of guidance on writing and then when it's done uh i have it post to slack and i like emphasize this like brief i want it to be brief and fun and sometimes it's really corny and then sometimes it's like really good uh and it'll be very quirky and just post this like link in our slack channel and it's like hey here's your your pre-read some little quibble about like whatever you know like hey you guys are not making enough progress uh and then that's it and then it's we have our meeting note it's updated what i like the most about this one i can show you some of our like internal settings so this is like i give it access to all these things i'm like you can only view all this stuff because i don't want it going and like modifying our task database our project database like everybody at notion uses those but this meetings database in particular i'm like you know you can edit content because this is the one you're gonna like write and update the page it can read from our slack channels respond to our project one and then this was new to me actually when i set this agent up is our mcp so we've had mcp and we have this other thing called workers which is like kind of like writing code i haven't used them very much within custom agents but in this one in particular i'm like i know exactly where this metric is it's in honeycomb and so i like just configured the mcp in notion and by the way i like i like used the agent to like set itself up because i was like here's the query i literally gave it a screenshot of the honeycomb query i was like i don't know how this works can you just like update your instructions i love that you screenshot it you didn't even copy and paste it you're like please OCR this screen exactly too lazy I'm like here it is just take it figure it out and it it kind of it got it mostly like most of the way there I had to fiddle with it a little bit but yeah what what I appreciate about this and again for anybody trying to just brainstorm workflows where AI can actually have a huge impact on your productivity at work or life, I just feel like write down what you would do if you had time.
20:39If you had time, every morning at nine, you would sit down and you with your eyebrows would go through Slack. You would go through Honeycomb. You would ask people what's going on. You would look at GitHub and then you would compile it. And then you would try to be very fun in Slack. Like it's, it's just a description of what you would do. And it's, it doesn't have to be that complicated. and you can iterate so quickly on it. What I appreciate about this, you know, versus old era of more deterministic, like workflow style builders, is the updates are so easy to make. Just change the natural language, redo the order, change the trigger, give it more access to data, and then it's ready to go.
21:24Ryan Nystrom:Yeah, and you know, I think the other thing I've gotten hung up on when trying to think about like these automations, and I've seen others do is that like you get this like you start gigabraining it and you're like well how am I gonna save like five hours of work a day and I what you just said made me realize too that like the tedium that this removes for me is not like world changing but it's like 20 minutes a day and that's like 20 minutes I can spend doing other stuff and that like it's not even just about like saving that 20 minutes but it's like protecting my brain from like having to context shift about all this stuff and like ingest it and instead yeah it's just i know that the information will be there when i'm ready to like read it and i'm ready to like shift gears to this project um rather than yeah i i hate doing the like read this update copy all this information like put it into like an update board like it's soul sucking i mean you and i have been doing this for a while that's like that was i feel like 70 of my job at some point 70 of my job was just like what's going on and how do i massage it into a format appropriate for the audience at hand and it's always the same information it's just like what's the executive version of it and what's the team version of it and what's the full team version of it and like oh like my shoulders drop out of my ears when I realize we don't have like we just don't have to do it anymore.
22:57And the other thing that I think people maybe underappreciate about AI and this like just in time delivery is your AI, your agent is never going to complain when you ask it to do this five minutes before the meeting starts.
23:10Ryan Nystrom:I know. It's so great. It's so great. It's just like when you have it, drop it, get it done and out of your brain, I think is again, I go back to like burnout and enjoying your work and reducing toil and it just feels like a more relaxed way to work yeah we're happy it's so funny because it is more relaxing and it's more fun and i feel like i'm getting more done yeah it's weird to have like this like win win win yeah you know they they do the triangle and they're like pick two and you're like no i'm gonna pick all three yeah and i'm like give me the whole triangle give me the whole triangle that stamp it for the YouTube thumbnail.
23:51Give me the whole triangle. All right. This episode is brought to you by Orcus, the company behind Open Source Conductor, which powers complex workflows and process orchestration for modern enterprise apps and agentic workflows. Legacy business process automation tools are breaking down. Siloed low-code platforms, outdated process management systems, and disconnected API management tools weren't built for today's AI-powered world. Orcus changes that. With Orcus As conductor, you get a modern orchestration layer that scales with high reliability and brings humans, AI, and systems together in real time.
24:26It's not just about tasks. It's about orchestrating everything. APIs, microservices, data pipelines, human-in-the-loop actions, and even autonomous agents. So build, test, and debug complex workflows with ease, all while maintaining enterprise-grade security, compliance, and observability. Orcus. Orchestrate the future of work. Learn more and start building at orcas.io. Let's talk about, so we're talking about how meetings happen. Love this. You do write code though.
24:56Ryan Nystrom:I do write code. Sometimes with your fingers and sometimes with, you're my favorite harness of the moment. So let's go to how you get coded. Yeah. I want to show the little bit of a new workflow that we have going on in Notion. I honestly don't think this is necessarily a big feature that we're going to ship or we might ship some version of this feature. So this is all basically internal only at this point. But prior to this, the way, one, I love Codex. I've been a Codex stand for like, I don't know, six, seven months now. And we started building this Codex integration into Notion. prior to this it was like well i mean obviously you're using the cli to like write your prompt and then they created the codex app which is which is nice but i'm still like writing my prompt in this thing so i started actually writing prompts in notion pages where i can be a little bit more like free form and structured and you know i'm in like the cli i don't have to worry about like hitting enter and then like oh shit like i sent my prompt uh i can actually like write a document in Notion.
26:10Ryan Nystrom:But then, of course, I'm highlighting all of the text, copying it, going into my terminal, hitting paste, and letting it go. It's fine. There's MCPs and other stuff that I could be using, but I'm a very simple person. It was too much stuff. So we built this thing that we're kind of calling it, I think we're calling it both Software Factory, but I like its internal project name is Boxy because it's like all these little VMs that we install codex and clog code on. It's our little boxes where now we can actually invoke them from like tasks within Notion. And so literally happened this morning. A friend of mine who's a Notion fan texts me.
26:55Ryan Nystrom:He's like, hey, I like the tab block that you built, which is this thing. He's like, but I really wish I could like, I can like copy. I'll show you now. if I click on the dot dot dot thing next to a block, there's like copy link to block. He was like, man, I really wish I could just like copy link to a tab and then like send it to somebody. And I was like, oh yeah, that sounds really easy. So I opened up this task and I just took some notes and I dropped in this screenshot showing them where it could live. You know, this is like on the the tab block if i right click on it we get this little flyover menu and i just described the task i was like yeah let's put a copy link button here i also noticed that hovering over the delete button didn't change to red so i was like yeah we should fix that and i was like i know one edge case is like you're gonna have to like if you land on a url where we're like linking to this block and this tab like it's got to like switch to the tab on like fresh refreshes so i like kind of outlined all the the cases but you can see here this is one two three paragraphs four like four sentences and a screenshot it was like not not a lot and then uh this new thing that we built i can actually mention codecs from within our comments and this triggers are like boxy uh This is all our internal dev tooling stuff.
28:21Ryan Nystrom:And then it got to work. And I was looking at the timestamps earlier, and I think 10.40, 10.51 started the implementation. And then another 10 minutes later, it replies with a pull request link and a preview URL because we do the preview environment stuff. And it built the entire thing. And if I switch actually over to, here's the pull request. It built like the entire thing. It was like, here's how I tested it. And this was actually the coolest part to me is like, it actually uploaded screenshots of it doing its own like UI verification. And there was like a CI failure in it. So I was like, hey, I replied down here.
29:07Ryan Nystrom:Like, oh yeah, this part of this code change, I was like, I don't know what is going on here. This doesn't make sense. and there's some type check things and it was like cool here's why we did this change and i fixed your types and then there was a merge conflict let's also talk about just all world new world the emotions around code review uh-huh like i love that you're like i don't get this not i'm gonna try to get it or i've done my best to investigate and i'm pretty sure this is wrong like literally just i don't get it i don't get it i mean i didn't like send sending that to somebody oh yeah the win teammates be like no look it up it makes it so that's one of my one of my code review mechanisms as well as i'm just like i don't think this is right i yeah one one one uh line that i've been putting in my prompts lately is i'm like i literally don't know what i'm doing here you need to explain this to me especially doing all this ci stuff i'm like i'm in over my head like you gotta you gotta like explain it like i'm a five-year-old and sometimes it's like literally like caveman style like here are the things and i'm like i needed this well what i appreciate about this and we'll talk about it in a little bit later i think is we're not getting any of these clawed code warm fuzzies from codex i love it but when it talks to me I'm like I feel real dumb when you're talking to me Codex can you like okay okay here's what's going on so I think that sort of like I don't understand what I'm doing please explain it to me is I love it but I think it is a Codex specific experience Claude Code shows up and is like hey buddy guess what I made for you okay so stepping back before we go too deep on the personalities of all these coding models you have built just at mention and i think people miss this but it's important for particularly our engineering team and engineering leader listeners to pay attention to which is everybody they know that's smart it has some background agent hooked up to a virtual machine that they kick off so that you're not spinning up your local environment and doing all this stuff on your machine.
31:28And it just, I think the, we'll talk about this, but the velocity plus your DevEx plus your CI, I think is a huge piece of AI adoption in engineering. So if you are not, if you don't have a VM strategy and background agent strategy in your large engineering org, time to get one, time to do it.
31:48Ryan Nystrom:And we'll just ask Codex to build it. Be like, I don't know what I'm talking about, but I think this is, Claire said this is a good idea. Please build. Make no mistake. Okay, last one. We have a last use case you were going to walk us through. Yeah, so we recently rebuilt our entire agent harness. The quick TLDR is, just like everybody else, we reached this point of tool and instruction fatigue where you had this bloated system prompt. So we're like, okay, we need to dumb this down. and we borrowed the kind of like skills and progressive disclosure concept from coding agents and brought that to Notion AI.
32:29Ryan Nystrom:And when we were doing this big rewrite, we were asking ourselves like, you know, it had only been like six months since we shipped the last rewrite. And this time we were like, what would we do differently? Like seeing the state of the art with coding agents and someone had this really great idea to like, let's not start with code. like let's just start with specs and what we've ended up building um is we have this like in our checked into our code base you see this we have this we're looking at this is a notion repo but we have this agent specs subfolder and within this subfolder we have all these markdown documents this is one that that i worked on uh we have this thing in our uh ai called ask mode where we basically ban all the like mutating tools so it can only just like read and answer questions and so when i was building this i didn't start with writing code i didn't start with anything i just started with an empty markdown document and uh i mean i actually just opened up like whisper and just started yapping about how this feature should work and at the end of it i gave that But I gave the YAP session to Codex and was like, here's our other like spec library.
33:46Ryan Nystrom:Learn the format. Take my information. Write a spec. And then it spiked the first version. I did a couple revisions on it. And I ended up with this Markdown document. Now, the Markdown document is like, it's nice. But what we did with it next, in my opinion, is I kind of think that this is like the future of software engineering. where I then opened up Codex again, pointed it at this spec file, and I said, build it. And it basically one-shotted this because the entire spec file is so comprehensive with code pointers, with down at the bottom, we have verification. It was like, here is how you're going to verify all of this stuff works.
34:30Ryan Nystrom:And we've even built our own CLI tools so that you can run Notion AI from the CLI and it could, once it's done seeing that all the tests pass, it can actually just spin up Notion AI itself, send it queries, send it questions, enable ask mode, disable ask mode, and then see the transcripts and like see what actually happens. And I think the first shot of this took a couple hours, but I came back to whatever, a couple thousand lines, did some code review, played with it myself. And I was like, it's right. It's like done. and you know since then we've made i can the other beauty of this is like this is inversion control so i can go to the past changes of this spec file and i can see how the the spec has evolved and it i could go look through all the code changes which also have their own like history but this is now the sort of like source of truth for how this part of notion ai works and it's just in plain English that can then be verified and implemented by agents.
35:33Well, I think the other thing that people don't appreciate is, you know, taking this outside of the engineering flow is this plain English can be ingested by other parts of the business that need this information. So let's say you need to then release this feature via some sort of marketing. This is actually like a pretty good asset that explains how it works. That can be translated into another thing. In a way that like code itself is still a little intractable and so this idea of spec driven development but what i like about what you said i don't want people to miss is the way you make these updates is you update the spec and go go go look make the make the update change the thing um and so like the spec is the source of truth the spec as the the change log i think is a really interesting model.
Read the full transcript
36:24And for people that aren't watching, it's very detailed. It's very technical. So it's not like there is not code in the spec. There's just not all the code in the spec. And I think that's a really kind of good hybrid model for experienced engineers to start to bridge into what would it look like to have an agent do more of your coding work while you still do architecture work while you still do design work while you still make sure that the thing is going
36:54Ryan Nystrom:to scale yeah exactly i i view our job as like engineers evolving into like systems thinkers and architects and not and not even just necessarily writing like the spec and thinking about the behaviors but most importantly is like the verification loop like is it a like how should it verify correctness of this feature or this change and honestly it's like if it can't or if like the verification's a little hazy it's like that's the first thing you actually should be going and doing it's like do you have a tool to let the agent run itself that's like one of the first things we did with this project was like we we should actually build a cli so that i can tell codex like send this prompt and like see what happens and now that we have that then we can take these specs and actually just like go deeper and deeper and deeper and so it's like we're still doing engineering but i'm not doing the like plumbing work of like wiring up this ask mode feature well and what i think is really funny is i mean i've been in software engineering for 20 plus years like we were writing these documents anyways we were writing technical documents documents anyway and we were sitting in meetings with other engineers debating the merits of one implementation versus another and then we still had to go write the code Yep.
38:45Have a verification loop, debate it on the merits of it being live and working versus the theoretical merits of it sitting in a document waiting for everybody's calendar to open up for a live argument.
38:59Ryan Nystrom:Yep. Yep. Couldn't agree more. Let's do it. This is what my – just you and I could talk all day about this. Just to recap for everybody because I know I got to get you out of here. Three use cases. One, never prep for a meeting again. Hook it up not only to your Slack but to your meeting notes. your GitHub, your telemetry, and build the best stand-up meeting. So no one has to stand there glassy-eyed, being boring, giving updates. Second use case, background agents, at mention from wherever you work, Notion being a great place to do that, kicking off virtual machines, getting PRs done, just saying yes when your friend texts you, can you ship this feature?
39:36And then the last one, putting all your specs in your repo, using them as a source of truth for a more autonomous coding agent like codex let it cook for a couple hours review the code and then when you update update the specs don't update the code did i get it right nailed it uh okay let's do a couple lightning round questions and i'll get out you get you out of here you and i love codex why why you love
39:59Ryan Nystrom:codex i'll tell you why i love codex but you go first um okay i well so i first i first fell in loved oh my god did i just say that you did i first i first fell in love with codex so because uh when i was like evaluating both like cloud code and codex um i found anytime cloud code like filled up its context window window it would just kind of like lose the plot really quickly and codex i don't i don't know exactly what it's doing if it's the model if it's the compaction if it's like both they can it can grind for like hours um and uh with with the way that i work both the systems and things that i work on and just like i like to be able to fire off a bunch of them like at the same time and then like go to a meeting or go do something else or like uh spend my time kind of like round robin managing like all of these agents like i i don't necessarily want to i'm not the person that is like sitting with the browser open and like some agent next to it and like iterate, look at the browser, iterate, look at the browser.
41:06Ryan Nystrom:I'm like, the more, the closer I can get to one shotting solutions, the better, because that frees me up to do other stuff. So I found that like Codex was, was pretty good about that. I also just feel it's like pretty simple. Like it's, there's not a lot of bells and whistles. It's not like too fancy necessarily um i'm happy with the addition of like mcp and skills um and some like other stuff coming out i also really love gpd 5.4 um i think it's a great model so i'm like all of those things together it's just it really like matches my working style uh and type of work a lot yeah i'll tell you why i love codex and i sent this to somebody i said work trees everywhere ports three 3000 through 3009 spoken for like we're just we're just going across across the board um i do think it's fit at long-running tasks i like its concept of projects because i run a lot of different projects i think it's just like a very helpful mental model and then it's great at code review honestly oh yeah it's just like a really good code reviewer it's a really good security reviewer tireless, uncomplaining with the most tedious of things.
42:23And so I find it's one of my daily drivers. I just, I really like it. It's good. Okay. Second question, because you and I also agree on this. Give people the reason, this isn't even a question, this is a demand for you to share my point of view, which is why bang on developer experience and CI speed right now? A couple,
42:45Ryan Nystrom:a couple things to me ci was like super important prior to agents um because in my opinion i mean it's not even an opinion it's like fact that like the faster your ci completes the faster you get signal um the faster you're like the more comfortable your engineers will feel with like making changes and doing things because they know like i can make a change and get it pushed into dev or into production really quick because I know my CI is fast. If it's slower, then you're building up these like monster changes and you're going to be even slower about like judiciously, like reviewing every little like tiny thing when I'm like a learn through like doing sort of person.
43:29Ryan Nystrom:And if I can close the iteration loop, like even tighter, then I'm going to be putting out a change. People are going to be using it. I will take that feedback. I will make another change and I don't have to worry about um you know it taking another day before like the deploy train is ready to go i just want to like i want to crank really really fast and that was all pre-agent and now that we're like in the agent land it's it's that but like on steroids because agents don't get tired they can work on a vm they can work like while i'm sleeping and you know if i'm take if i've got a ci loop that takes an hour to run, that your agent's just going to sit there and spend for like an hour waiting for results to like do something.
44:13Ryan Nystrom:If it takes three minutes to run, like, holy crap, how much more stuff are you, you as a human, and then especially as your like little swarm of agents going to be able to get done? Like so, so much more. And so super important. I agree. And we just had Steve from Stripe on and they're doing like 1300 agent PRs a week. Oh my God. You cannot do, yeah. You like cannot do that if your CI is slow. It's just you might as well be throwing all those PRs in the trash. And so I do think there is just a true mathematical limit on your capacity to ship code to production. That is a reflection of how fast your CI pipeline is.
44:53And so if you are, again, engineering leaders, if you are not spending time on making that fast and you are tolerating something slow there, you're not going to get the benefits of AI that you could. And honestly, like good for AI, good for humans. No engineer wants to sit waiting for their stuff to hit production. It's miserable on the engineer side. Lots of downsides. So allocate time to your pipeline, please.
45:18Ryan Nystrom:Yep. Yep. Ryan and Claire say so. All right. Last question. When AI is not listening, it's writing bad specs. It's not being funny in Slack. What is your prompting strategy? Do you yell? yeah i can tell i can be a little bit of a diva sometimes if it like really goes off the rails though the the other the other prompting strategy that has like saved my ass working on the ci stuff lately is because like even the best models i feel like can sometimes be a little sycophantic i'll be like i will just like be like you're wrong like you need to defend your argument because I like I want it to defend it in the way that I like I want but I'm like I just need I just need to see the evidence that if I push counter to what it has done that it can like back up with like good pointed reasons rather than just be like are you know are you sure this like change looks okay it's like oh boy it's like totally fine I mean no no I need like the cited hard argument against it because like in a lot of times like with the ci stuff i'm like i don't know what i'm doing i know generally what i'm doing but like the specifics are a lot more nuanced and i like i need to get this right um and that's been super helpful and then when it goes off the rails i'm like i could be such a diva to it escape all caps no that's what i do interrupt and no steer the conversation.
46:54Little arrow button has never gotten so much work. Ryan, this was so much fun. Where can we find you and how can we be helpful?
47:02Ryan Nystrom:You can find me on X. I'm out there shilling for Notion right now a lot. But that's basically where I spend my time. Yeah. My DMs are open. So if you have Notion problems, I like to try and fix them. I'll send it to Boxy and we'll get it done. Perfect. Love it. Well, thanks for joining the podcast. Thanks for having me, Claire. Thanks so much for watching. If you enjoyed the 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.
47:43You can see all our episodes and learn more about the show at howiaipod.com. See you next time.
From the publisher
Ryan Nystrom is a software engineer at Notion. He joined in December 2024 after Notion acquired Campsite, the team communication platform he co-founded with Brian Lovin. At Notion, he’s been a core builder of Notion AI and the Custom Agents feature launched in February 2026. He manages a team of six to seven engineers while still writing code himself, currently running Project Afterburner, a push to cut Notion’s CI time to a quarter of its current duration.
What you’ll learn:
- How to build a Notion AI custom agent that auto-generates your daily standup pre-read by pulling from Slack, GitHub, Honeycomb metrics, and yesterday’s meeting transcript
- How to configure subagents and MCP integrations within Notion AI
- How Notion’s internal “Boxy” system lets engineers @mention Codex from within Notion comments and get a full pull request with screenshots in 20 minutes
- The spec-first development workflow: dictate an idea into Whisper, have Codex format it as a proper spec, commit it to the repo, and let the agent implement and verify it autonomously
- Why fast CI is absolutely critical in the age of AI coding agents
- How to prompt AI coding agents to defend their reasoning under pushback
- Why engineering managers and even senior executives should keep writing code
—
Brought to you by:
WorkOS—Make your app enterprise-ready today
Orkes—The enterprise platform for reliable applications and agentic workflows
—
In this episode, we cover:
(00:00) Introduction to Ryan Nystrom
(02:48) How AI has upended 12+ years of the same working routine
(04:30) Project Afterburner: Notion’s push to cut CI time to a quarter
(09:00) Why high-frequency, high-quality meetings beat lower-frequency standups
(11:10) How automated context surfaces every engineer’s work equally
(12:15) Why cutting meeting prep is a burnout protection mechanism
(14:26) The case for engineering managers writing code
(16:13) Inside “Boxy”: Notion’s internal VM-based background agent system
(20:30) Old World vs. New World code review
(24:51) Prompting Codex from Notion comments
(29:20) The emotions around code review
(31:01) Quick recap
(32:00) Spec-first development: writing and checking agent specs into the repo
(35:10) The spec as changelog: version control for how a feature actually works
(37:53) How engineers’ roles are evolving
(39:00) Lightning round
(45:21) Where to find Ryan
—
Tools referenced:
• Notion AI: https://www.notion.com/product/ai
• Notion Custom Agents: https://www.notion.com/blog/introducing-custom-agents
• Codex (OpenAI): https://openai.com/codex
• Claude Code (Anthropic): https://claude.ai/code
• Honeycomb (observability + MCP): https://www.honeycomb.io
• Whisper (OpenAI voice transcription): https://openai.com/research/whisper
• Slack: https://slack.com
• GitHub: https://github.com
—
Other references:
• How Stripe built “minions”—AI coding agents that ship 1,300 PRs weekly from Slack reactions | Steve Kaliski (Stripe): https://www.chatprd.ai/how-i-ai/stripes-ai-minions-ship-1300-prs-weekly-from-a-slack-emoji
• Notion 3.3 Custom Agents launch (February 24, 2026): https://www.notion.com/releases/2026-02-24
—
Where to find Ryan Nystrom:
LinkedIn: https://www.linkedin.com/in/ryannystrom/
GitHub: https://github.com/rnystrom
—
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.




