Skip to content
Building what's next (Interview) episode artwork

Oct 22, 2026 2 hr

Building what's next (Interview)

from The Changelog: Software Development, Open Source

This week I'm talking with Zeno Rocha, CEO of Resend, about scaling "boring" email to 3 million users, the secret Go rewrite behind it, and building for agents. We cover pricing.md, MCP, spam gangs, and why Resend keeps what's next for email.

Episode details come from the podcast's RSS feed.

Embed this episode

Ready to play

Building what's next (Interview)

0:00 2:00:21

Chapters

  1. 0:00 Welcome back!
  2. 1:23 Sponsor: WorkOS
  3. 4:24 Zeno Rocha is back!
  4. 6:15 Why email? Lessons from boring businesses.
  5. 8:40 Stripe as inspiration: Email for developers.
  6. 14:15 Innovation tokens and Resend's architecture
  7. 20:24 Rewriting the sending pipe in Go
  8. 29:28 Three million users and the official CLI
  9. 38:25 Receiving email and building inbound
  10. 44:22 Sponsor: Buildkite
  11. 47:10 Identity, adjacency, and staying in lane
  12. 51:12 Twilio, multichannel, and becoming a utility
  13. 56:43 Who counts as a developer now
  14. 1:06:10 Defending the free tier against abuse
  15. 1:11:32 Pricing, positioning, and the pricing page
  16. 1:16:25 Making pricing readable for agents
  17. 1:23:58 What agent experience really requires
  18. 1:27:48 Sponsor: Coder.com
  19. 1:30:55 AX = Agent Experience
  20. 1:36:08 Building a CLI for humans and agents
  21. 1:39:43 Build versus buy for auth
  22. 1:43:13 Trusted agents and paid sign-ups
  23. 1:48:11 AI adoption and shifting bottlenecks
  24. 1:52:13 Challenging how you work and hiring
  25. 1:56:48 Dracula theme and developer joy
  26. 1:59:08 Closing thoughts and stuff
of matches

Transcript Auto-generated, may contain errors

What's up friends welcome back this is the change logo let a agents They cannot drag a pricing slider. That's how Zeno rocha found out that cloud and chat GPT were both telling people recent was the most expensive email service On the market, which is not true and the fix was simple It was a markdown version of the pricing page served through content negotiation And this week I'm talking to Zeno founder and CEO recent about building for agents as seriously as for humans We discussed why following the RFC for rate limit headers matters more than inventing your own and why agents couldn't care less about his animated icons and keyboard shortcuts We also get into publishing your open API spec as Jason in the dot well-known folder So tools can actually find it why agents demand granular API permissions and the closed loop system He's building that turns down votes on resend in app agent into draft PR's It's a whole new world and speaking of a whole new world. I'm gonna be live on stage at recent forward on October 21st This Wednesday talking about Taylor Rottwell live on stage in the builder room learn more at recent calm slash forward

Alright, let's do this Well friends, I'm here with a good friend of mine my who Greenwich founder and CEO of work Oh as Michael offer agents. I feel like this is burgeoning. It's it's kind of happening all of a sudden What's the state of the world for author agents? Yeah, it feels like author agents is one of those things that nobody knows what it means But it's very provocative everybody wants to talk about it practically speaking I think there's two things here The first is when you say author agents you're talking about how do I get the data into an agent that it needs to do its job? And for that we built something called work was piped section more of integrations product It helps you take your agent and connect it to your customers Google Drive and connect it to Salesforce and HubSpot Connecting slack and all this other stuff that they're gonna use and do in a way that's safe and secure and managed That's one type of author agents Kind of data access the other type is actually authorization It's like permissions for what the agent is going to go do because you connected all these systems But then you say what capabilities does it actually have how can I restrict the agent behavior?

So it doesn't go off the rails and go do a bunch of crazy stuff. That's a lot of stuff we're building today We don't have a product announced yet without we don't work in on it The third I would say is probably the identity layer for agents How do I identify an agent by its name? You know that's really coming from the enterprise identity system So throughout there you look at Microsoft and Microsoft's intro agent ID. They're doing a lot of interesting work there There's also expansions to open ID connect and skim for agents We're building all this into the work of us platform So if you're looking for an identity stack that will support agents again future proofing work was a great place to go But it's changing really quickly. None of us were talking about open claw You know like weeks or months ago, and that's a new paradigm I think we're gonna see not just within consumer software and the enterprise to it's an area very very rapid topic Well, it makes me think about agents versus people not negatively But this will wear we'll have more agents than people you know today if we have seven or eight billion people on the planet in the future We're gonna have trillions of agents going off and doing things and so the challenge around identity authentication for agents is actually significantly bigger Than just how people interact in the same way like you know

GitHub isn't gonna work super well for agent coding because you'll have so much more code getting written the same is true for Identity and permission and logging systems with agents start to accept it. So we're building for not future today All right friends the next best step is to do what I've done which is use off kit Okay, that's how I authenticate my CMI's my API's my applications all that good stuff work O s calm is where you go try it out today a million users with off kit for free. You can't be that deal It's it's literally free again work OS calm try out today friends. We're back with my Long time dear friend Zenrocha a man of many hats of course Your most recent and most successful hat I would say is probably being a dad and husband I want this count that's your problem father and yes, but at the same time a very successful founder and CEO recent everyone uses

recent is that that's the best right? Yeah, yeah We care about email more than others. That's all right I mean when I first If I'm being a little I so I first heard you announce recent I was like why and a couple wise not like why oh my guys What are you doing but more like why email like why is email? I mean I know how important it is But it's such a boring protocol driven kind of hard Manouche slow to innovate, you know, like all these sort of like seemingly negatives, but yet you took it on And then succeeded of course, but just even you like you were not in the email space necessarily Why obviously has email become the I would say epicenter of identity and then the epicenter of distribution and then the epicenter of you name it What do you know?

Yeah, I feel like those like for the longest time I've been searching for the most innovative idea I like you hear about the entrepreneurs of our age like Stevie jobs and how innovative he was so I was always like searching for that and During my time at work OS I saw how much like a boring business can actually be incredibly successful right like you know Work OS was selling single sign on and it was the kind of thing that once people integrated they they would never leave So and I would see just like how usage based businesses also grow over time And if you go after like a big audience like how expansion revenue also helps with this and so just looking from those things from the inside And I was a complete outsider female like man I was I'm still am learning on the job right like there's so many layers to email that are Incredibly wild. There's like an email conference that I went one time like wow pretty crazy email conference like only like the people who are

Running this fan filters that Yahoo and outlook like it's just like it's a crazy world and but man I believe those boring businesses those ideas that seem extremely like oh why do we need another one of these things like we already have so many different email services right like and I just saw like Yeah, there was an opportunity I feel like every 10 years or so there's a new wave of tools and developers are looking for what's new So I saw that with SendGrid and Mayo gun like they all have been acquired by now So there's just a bunch of factors that made me feel like you know what I might not know anything about email But I do know one or two things about developers and how they think I am a developer and I feel like I can just put myself on their shoes and Yeah, to me, that's the most important thing like being able to just have a lot of empathy with users I mean you can tell that you're a developer obviously with and I don't know how much you play the key role in CLI and even the commands and the way it composes but just resend emails send is

And the way that composes from the from the to and the subject and the body of course So the way it composes is you've taken something that I suppose should be hard But you've made it easy it reminds me a lot of stripe even and you mentioned like SendGrid and others You know striking about after brain tree and several others were like already key major players and they dominated because they simplified to an API and they simplified to really I would probably describe it as like core developer substrate when it comes to how you take and deliver payments And it's a thing that was kind of boring Still is kind of boring except for exciting to make some money right?

But it took this this already had been done thing and global player Well, you know the the place when you think about sending money or accepting money or payments or anything like that you think stripe right Totally and they were obviously a huge inspiration to us I remember going to archive.org and looking at their old landing pages One of the first landing pages from stripe had this tagline payment for developers And that's the tagline we use at recent email for developers simple is that like we're just articulating in the easiest way possible What this thing does and oh my gosh, right like stripe is a business that is so loved Like good luck trying to compete with stripe right right think about all the different industries where you don't have a right Squares like the best also ran, you know in a good way. I mean I love a lot of folks at square I've got some friends at square, but obviously Jack Dorsey is a dear friend of mine. Just kidding I know okay. I was like okay. I'm just kidding like I wish I knew Jack I'm gonna do much that was about it

But you know there and also ran kind of away But they've also just like dominated in good ways to but now they're being dominated at the hardware level like the clover and I can think of like two or three others I can't think of this very moment but several other players that sort of stepped in their space when they weren't really driving it and You know stripe just sort of stuck in the we're gonna provide the conduit the API layer and they really haven't ventured further than that I'm not sure of any hardware on their front I'm sure they're probably doesn't have some collaborations, but I'm not sure of anything in particular like like Square has square terminal for example I don't know is there a stripe terminal. I mean maybe no layer and I mean the software layer I think the beauty of stripe is like they solve one problem and they get that one problem and they solve a different abstraction layers Right. So when I think about my own journey as a as a stripe user with recent we started it was like January 2023 And YC batch was kicking off right?

So I was like stressed out Oh my gosh What I'm gonna do and I have to sell this thing I have like growth milestones that I need to hit every single week So I don't have time to build the whole stripe integration I did I barely had a product and now like you know integrating payments like no no way so I use Their payment link which is just something to generate on the dashboard you send a link and that's how I was selling recent back in the day Like I would go on a college just like this I would pitch the product by the end of the call tell my friend or whoever introduced me to that person So okay, so what do you think do you want to try it out? And they're like I don't know It's like no you should go for it and then I would just send them the payment link And they would either pay at the call or like after I would like keep bothering them And say hey, can you please sign up for my thing and then people would eventually pay so that was like I could code But I decided to go with a no code solution because it simply didn't have time and then the next iteration a few months later We're like okay now. This is obviously not gonna scale. We need something the product So then we added Those widgets that they have so that was great and then once the you know we got even more users like

This feels ugly doesn't really match our brand. Let's just use the APIs and the SDKs directly right? So they just articulated like okay, we have this problem people might have different knowledges Or even if they have the same knowledge but at different stages of their business here's a way to solve it So that's why I feel like they are really interesting the way they exit yeah Talk me talk me through some of the architecture from primitive up to Usable product by a customer for example like help me understand when you deployed a production what exactly is recent? Is it multiple application applications? Is it like recent d running on a server via system d are you in Google Cloud like where exactly you know?

How what we threw some of that architecture and some of the primitives that make up the service yeah like early on we were very intentional about like Deciding where are we gonna spend our innovation tokens right? Every company has a limited amount of innovation tokens and we knew that okay Where where do we think is the best place to put them and to me that wasn't the dx layer So we started with thinking about like okay? How do people actually create a meal template? So then we built react email and we made it easier for folks to send emails using to your wind types create and react right? So we build that layer and made it open source. We knew that we would never make money with that

But that was a great way to get users at the door Then we're like okay, how do we invest on a SDK first world not an API first world truly believe that so okay? Then we invested super heavily on the node SDK, but also SDKs for dot-net rust you know languages that would be You know, maybe not as used because they were either too boring or too new So we build those and then we have the actual service right? Okay, we're gonna run this thing how we're gonna do it and And on during the early days we chose the the tax stack that made us move as fast as we could So we chose and maybe I shouldn't name names, but we chose like the the hottest deployment platform We chose the hottest database platform and we weren't choosing the boring parts of tech just the things that would allow us to ship every week and Some of those vendors they actually stayed with us for the longest time otters. We just outgrew them and we had many

Cases of that like the the queuing system that we chose it was great until a certain point then we had to move to another So at the end of the day we do have most of our software running on AWS right now And there are parts of that that we are like looking into either like building more of that internally others not as much We did rely on SES which is Amazon's email service to get started and now we're like, you know We're sending billions of emails by now. So how can we just own the metal? So we are investing heavily. This is one of the most exciting things for me this year Like we're gonna own that piece of infrastructure. So it's gonna be pretty pretty exciting it But yeah, that's life at a startup like you choose a stature. It serves you well at a certain point. Maybe they know got to move

But there are other parts that that you know We still use in love and so are you involved in in the architecture then like with Amazon web services are you involved in like Higher application shape there Can you just talk me through? What is it like to deploy recent like you mentioned to partner's like I like if you had to today like in this podcast The fire broke out you had to step in and do something you probably fire a cloth. Maybe it's Codex, you know, whatever Maybe your hand coding still yet I don't know But if you had to step in really momentarily look at something check a log confirm something and do a new deployment because of something What does that process like for you? Yeah, we use CDK a lot So in the beginning it was all click-ups like at the AWS dashboard and they were like okay This obviously won't scale we look at the our forum, but we had a team that was very heavily Like using type scripts. So we felt like okay, CDK is a great way for us to deploy this In a good way a lot of our system was not designed as a

Like it was everything was synchronous and then we everything we had to like keep rethinking so We started adding cues everywhere. So we use SQS for those cues We use SNS a lot for all the email events that when you click on on an email when you open an email we fire those events through SNS We use data dog It's like so heavily It's definitely like all the other startups out there. It's probably one of the most expensive light items It's insane how much they charge, but it's insanely useful. So we have as a lows for every single part of our infrastructure And but we do have like Vercel in other places to so our dashboard or marketing website runs over sell We try to use type script everywhere and I I was like holding that for it for the longest time Like you know, we're a type group company But then it comes to a point where that language is not the right fit for what you're trying to solve So we have one piece of infrastructure was which is the actual pipe when we're sending the emails and we wrote that in go

Recently like tree or four months ago. So those parts are way more Scalable right now and and but it's all very modular now and Yeah, can you share some details about that that go rewrite like what was involved? Like what does the pipe do? Why I always go why go make more sense was probably the binary right the the ease of reasoning about a binary is pretty simple How to deploy that's pretty simple, you know, a lot of things about that really? Yeah, so there's two different ways of sending email at recent There's one where you call the API or sending one email you just go right?

So we queue those emails so even if the database is down we can retry them later all the kind of stuff But those ones are fairly straightforward right you can also schedule an email So there's that aspect that we have a scheduler that we could run but that's still fairly easy When we send a broadcast which is this thing where okay, I'm sending 10,000 emails all at once How do I do that? So we found that if you just send 10,000 emails all at once Gmail will look at that and be like huh? This is weird like why you're sending all that volume all at once right? So what every single email platform out there in recent does that too is that whenever you're sending a big batch of emails you have to separate and break down those batches into mini batches you have to space them out as well in the opinion of the size of the audience so if you have 300,000 listeners and or you have like 3 million, you know, we need to like space those out so that you're not gonna be trotled by Gmail Which is what happened Gmail looks at those emails are coming in and they might say you know what?

This is way too much like I'm not gonna place them on the inbox right away Let me see the first ones and depending on that I might move them to the right place So that part was really tricky because you have one customer sending five million emails But then you have I don't know dozens or hundreds of customers sending five million 300,000 like all at once And we were struggling with concurrency with node for all those batches And so it was tricky to handle that and goes is much faster with concurrency That sense yeah, I'd imagine How does it work to batch those is that something that you give the user the choice of or is that a smart layer of the platformer?

The platform understands how to shape things to your SNS partners, etc. How do you think about how do you solve that problem? It's a smart part of the platform. So this is something we do behind the scenes to protect you as a sender Some people are like, oh, it sucks that I have to wait four hours for all my emails to be sent three million I wish they would all go at the same time Of course you do wish that to happen, but at the same time if you do that You might have all of your emails landing on spam So depends on the shape of how many emails you're sending in the past that also That that's also important There's a lot of little things that we might do to improve your deliverability that if you were to just like move them and send to Those inbox providers that would just either trot all your sending which is what you know does very often or send straight to the When you fit this this go application and how how did you have to?

Did you have to completely deprecate and remove something from the system that you have to just gracefully, you know Blue-green it how did you approach the swap and have you swapped? They just swap it over yet. Yeah, we did we had multiple false starts like we would go try to go with that And then oh my gosh something broke down the line The shape of the email body and all the Heathers Because we're building this no system like maybe someone would send an email with like some Foreign characters that we didn't anticipate. Okay. Now we have to go back fix that issue. So it was a gradual rollout

It took multiple weeks before we could actually have every single user using it But it was transparent like no one knew this was happening We haven't even talked about it publicly. This is the first time that I'm actually you know saying Oh, we use go at recent, you know nice I'm a fan of go you know, I think about my thought matrix when it comes to languages The first thing I want to choose is TypeScript because it's so versatile It's obviously the language of this modern era when it comes to anything agent which is pretty much anything These days you sort of have to you have to embrace TypeScript and the the agent the model doesn't really need the types But what it does, you know enjoy I suppose maybe doesn't enjoy it is the Intentional determinism when it comes to like zod and schemas and types and things like that So like all that the TypeScript does it the agent doesn't need to remember the types But it does need that system to make remain sort of like guard real So it doesn't have to do these wrong things the right things and so I try to choose TypeScript first But I find that more often than not the better shape for almost everything

I want to use is a simple binary is literally a binary not a bunch of files and I have to then deploy and maybe compile if I'm using Bunch something like that or make it executable if it's you know, no or something like that So like just different things like that, you know, I find that go really is the better fit in almost every case I really just wish that go had a better web story like once you get past the system the API, you know All those things of learning services You kind of I mean there is web stuff there but nowhere near obviously the world of JavaScript Which is kind of all right. I almost wish that TypeScript and go with just somehow merge It's a beautiful world in now where we can choose more than one language And we don't have to be TypeScript for life as you may have been in the past Totally and like I wish there was a next JS for for go right like or even like an Express for go You obviously have a big ecosystem there, but there's there's something lacking when it comes to the web like you mentioned But yeah, it's just beautiful like the idea of like okay You have a system you have all the tests and that's what matters and you can just swap languages based on those tests

Like how crazy is that right like if we decide you know you're from now that you know what let's move from go to rest Obviously, there's some work to be done, but there's so much you can do with that test suite crazy Can you share how difficult or some of the things you did to make go fit into your type of world? I imagine you're sharing like schemas via zod or something like that So they're able to use the same types maybe even bar the same types Did you have to build anything in the middleware in between the languages to make them play better together? It was definitely a struggle because we We already had a Mona repo, but there was still some reples that were like scattered around and For this to work we had to bring them over to the Mona repo in a more intentional way and try to reuse the types as much as possible But we didn't feel like a layer in between them or something like that but there was definitely like Some work even like when you're setting up CI okay now. We have a different way of building this this whole Mona repo How do you do that?

We use turbo repo a lot, but okay, how do we fit that with go so and and the Software development life cycle like now you don't necessarily have preview URLs as you used to insert insert a part It's thankfully for this part of the system We didn't need that but you start getting to those things like oh people simply don't have going install on their machines So now okay, let's teach them how to do that So there's little things like that and we use Docker we like the traditional sector to imagine But the moment you go multi language there are the linker you use now you have to worry about that Oh needs to support There's other language as well. So you start to look at things like oh how we can use a different linker or same linker Like though delivery tree test suites another one too. Yeah Well three million users is a big deal last month is big announcement I think it was like six months before that you were a million so obviously you're growing fast I think we're in a unique era for a lot of services I think you're in the perfect scenario where you could be at which is kind of where I started with the conversation around being like

Why recent not necessarily like questioning your your direction, but like really email but yeah really email You know what a moment where now we can automate so much with it And so I thought it was kind of funny in a way that here in 2026 you would announce an official CLI as if like that wouldn't have been like big Zero one, you know like honestly I couldn't deliver build or operate a service unless it has the lies on I'm sure you have like an ops CLI in some cases for your Systems, but a user facing CLI is finally announced so three million users this new agent take era Official CLI what's what's the nugget in there? We can talk about me and I'm sure you felt that way too But after January it feels like the whole world changed right?

We're coming off the holidays clock code is here all poses here and We felt like how that changed the market like it just changed in a big way It changed the way we use different SaaS tools I found myself like building my own little apps, but more than that like all the entire infrastructure as a service category I would say benefit it from from what happened right so recent is growing a ton But we're not the only ones like the companies who are being suggested by Claude suggested by opening I They they are writing that wave same way as we are And it turns out like once you have those integration points like the CLI things that you would imagine oh, they're so silly, right?

Man the things you can do once you have a CLI like that was like impossible if you didn't Or now with mcp like it's just insane like the I see people and I see myself using Cloud code cloud code work as my operation system and I do work from that and having those integrations in places super important and then the tools that don't give me that I'm like I just can't use them. I'm like I need an mcp server. I need a CLI like there's no No negotiation like I would just move to something else Yeah, I feel like which was kind of the comical thing here's here in 26 Officially having a resend CLI What's like you so long? Yeah, we're just too busy with like I know in three years time You got so much to do but like seriously why did it take you to this year when the boom happens to make an official CLI?

Like what? Yeah, that's a great there. That's a great point We built CLI's over time internally like doing hackathons and stuff like that But I've always felt like man who's gonna want to send an email from the terminal like we are trying to help businesses to send you know transactional emails reset password welcome emails like whatever you need to send right usage emails But would someone go and like oh spin up their terminal and try to send an email from there? My feeling was like oh, maybe not but turns out you need all these other tools around it right? You are configuring a domain you are like looking at your logs those things are extremely valuable to have on your terminal And then when this whole craziness happened we just had to build one like for myself I was speeding up all these open claw instances for internally for the team and for my own use and There was no way like I would have to give my open API spec It would generate a super poorly written CLI based on that and I just hated that

So we're like no, that's actually be one which else I spread for that one because we wanted to make it open source We debated using go but we just said you know what let's just go with what's better for open source contribution rather than just deployment or or or be old or performance necessarily and Yeah, it took us a long time and it took us a long time to ship the mcp2 With mcp what was hard was we built the mcp server we made it out there and then all the mcp clients now require like an all-off Authentication method by default so we had to go back and say okay now Let's revisit our whole authentication layer and how we save every single request how we do everything to support not just a single way of Authenticating requests for an API key which is what we had put your bear Token on your headers are good to go that we had to rethink the whole thing deploy the whole thing think about like auto trailing and Observability for mcp service which is a new thing that's emerging to and then now finally we ship like a hosted remote server

So yeah, it's crazy how those things take longer than you want those interfaces So I see that as an interface layer and at the same time you have users ask before the product layer They want features they of course they need different interfaces, but they actually want different ways to interact with email So for us was started with marketing then we added more started transaction Then we added marketing then people asked for a way to receive email So we added that and then they asked for automation. So we added that so we have all these different things you'll have to build You know to actually solve user issues as well as improve your interfaces. It's crazy. It's just so much to build What's it take for you all to receive an email like of this list the things that really stand out to me is like receiving an email Broadcast and automations, but that's just my that's my take. Yeah receiving is tricky because First just the setup can be tricky you added MX record, but then if folks use Google workspace now there's like a competition between the priority of the MX record

So you got a deal with that you got to teach users how to deal with that once there's a conflict So that was one challenge and we think a lot about friction and that can be an action that if someone is just distracted and they try to set up in a way They might break their whole organization Now things don't work anymore and I can't even tell you it doesn't work as I can't receive us an email. Oh my goodness, man It's insane. It's crazy and then with receiving you don't really have control over what you receive, right? You do have control over what you send but what you receive it's a wild world out there and people are sending spam to like these wild cards user names like support at whatever security at whatever sales at whatever So gotta do a that too. It's like you're walking around out there in the marketplace as I know with this target back Basically, you know like just take us down. We're dealing with the hardest problem here

Especially the inbound how to do approach. How do you approach that specific problem set? Do you like how old is that product and when you thought about it? Did you sit in a room for a week and just Dream about where it can go and what that first like even for the first thing the user needs like what do they need? They set up an email inbox you automate it for them You just tell them records and they're going into cloud floor dashboard or wherever, you know They're doing their DNS you know simple or you know wherever they're doing it like how do you even approach that kind of problem?

Yeah It was a wild journey because the first thing is like man I gotta feel the pain myself if I don't feel the pain myself then there's no way I'll be able to build a great product So we were like looking for use cases internally that we will be able to receive emails triage them out of age Like okay based on a support message Let's not necessarily reply but draft or reply for our support team whatever it might be the use case right? So we like it was a journey to get to that and then there was a journey to like first of all users were crazy about this This was our number one most requested feature for over a year and we were looking at that It was always at the top like every support ticket we have we use plane for support There's a way to link to a linear ticket so we link every single feature request and this one the frequency was just so freaking high So we're like okay, it's an obvious problem people want us to solve that problem Let's go try to to solve the problem right similar to SMS what's happening to SMS right now with us

But the problem is I don't feel like I'm feeling the pain as a user So that's why I've been at like a little bit has tend to dive into SMS because I haven't felt a pain But with inbound we started feeling the pain We started to learn about the user's pain and then you're talking to your friends I'm like, okay, dude, what are you using? What are you using? What's the biggest problem? And you're uncovering those things and although we are a remote company I love like going with like picking like three or four engineers and just like Locking ourselves in a room for a week So then I remember I traveled to Sao Paulo where we had a few engineers that were joining the team and then a few There were there already so I think we're in five or something and then we just kept like building that V zero of inbound and The reason why I love doing that is because you have to make so many trade-offs in as you're getting started and you're in the room So the team is like oh, I have this locker great. Let's just do this Let's just do that and you're feeling the DX as as you're building as well And then you uncover all the the now you now you have known unknowns great now We can go back home and actually build a thing actually make the thing work

But I love going I got to feel the pain if I don't feel the pain It's just I know that the end product won't be as good and not because I'm a I'm special It's just because I won't have the empathy I need to have I need to feel like oh this sucks This looks so bad and I go through like Dracula and I'm like that's why I'm like no I go to my Dracula domain which I do use a good workspace and I'm like I now have to configure the TNS set these units settings Okay, but oh the conflict. Oh, what do I do now? Like I'm lost like how do I overcome this? So that's why I love having side projects until now because I can always use them to feel that empathy Is this mainly giving I don't want to say like an agent we've set an application the past like now Application layer kind of has an agent to some degree available or nearby is inbound about handing an email address specifically to an Agent or an application layer like how is an inbound using what was that pain you mentioned? Yeah?

There are many use cases with inbound so there's one company that we help them they do trip management It's called trip see amazing app by the way should I check it out? It's beautiful one of the most beautiful iOS apps I've used and what happens with them is like oh I just booked a flight or just booked a hotel. I need to forward that email as a user to this special Address and then that address will then receive that that email and then will parse the whole email It will use whatever it wants to use either deterministic or it will use a I to extract Information then save information right?

This is one use case and it's a use case that I like a lot you are affording a PDF You're forwarding whatever you want like or a CRM where you are adding a BCC and that that gets the content of the email and saves that email And the reason why I like that use case is because it's more B2B But they do have the B2C type of use case where I'm setting up my open claw I needed to have an inbox and I just I need my agent to have any box. That's it So then okay now I need to set up any box. I like that use case. We're building around that too, but it's a less frequent use case It's something that the volume is not as much But still a pain so So it's hard because we're trying to solve the problem for both. There's the wild card solution Which is what recent is right now you set up inbound every single domain doesn't matter the address it goes there now What we're actually building and it's really it's looking really really cool. We haven't shipped that yet, but it's a full inbox

UI for you to interact and obviously this will UI will come with its own CLI and MCP server Well friends I'm here with the CTO of build kite and one of the most challenging problems of modern era software development is continuous integration and continuous delivery And so Lachlan Donald build kite CTO What are you thinking about today's teams the challenges they face the speeds at which they're developing new features new code? It is just overwhelming. How do you all think about that such a good question? It's the question everyone's asking right now all of our big customers are asking us at the minute like you know If we five or ten Xs are three put this year or a thousand exit what breaks and when and you know My answer is kind of same as it's been for the past 20 years Which is that the bottleneck is still trying to integrate those code changes in and then deploy them and check they work and then Keep them working as you keep throwing more and more code at it I think a lot of the fundamentals are the same but we're just a thousand Xing the speed of it and you know that changes nearly every variable Yeah, for sure. Okay, so where where does build kite thrive?

What particular type of team or enterprise do you thrive in the area that Bill Kite has always thrived in is is like this like fastest moving tech companies of the world? So like we've been disproportionately successful in that small niche that kind of Shopify class uber class, you know Open AI class of folks that have this key problem around iterating really really fast And you know the thing about all those faces they all have subtly different needs subtly different problems And so we've tended historically towards building like really well engineered lego blocks that scale like orders of magnitude more than what our nearest competitor does So, you know, I think that that puts our system in this tension where you know You've got a spends of time assembling those building blocks that is like a box to get the thing that you want But the end results is far and away more Performing and scalable and the experience is better than what you get from something that's off the shelf I think we've started from a position of really well engineered lego blocks And then are kind of working backwards towards kind of creating the thing that scales down to a startup that starts with one person and ten agents next week My friends go to build kite.com. That's build kite.com

You deserve better CI engineer for the frontier. We are all facing trusted by the teams setting the pace again build kite.com Once again build kite calm When you were designing for like an ancient like open claw for example, how close did you come to identity? Did you teeter it all around? Anything where now because I was actually about this recently Here United States one of the ways you define your societal identity like if the police for some reason came to your house Nothing bad, but they just came they said I need a seared invocation. We're just doing you know for you know for all the reasons Why it's fine. It's fine. They ask you this what do you hand them?

You don't hand that maybe you hand them your hand if they're gonna take a fear primp That's weird so you can identify that way but the most common way we do it today in society is with a driver's license identification That's an API key, right? It's got a driver's license number on there You can't make the zoo card, but you basically gave them your API key like the API to you the key for Zeno the key for Adam Is my driver's license and so I'm curious how close you came to thinking about identity when they came to giving an agent inbox Yeah, man, I actually thought a lot about that and we obviously had the news this morning about better off being acquired by Vercel That Twilio also acquired an identity company so I for a moment I thought about that idea because I Take a lot of inspiration in terms of what the connections that other products were able to do right so to me post hog is brilliant because they saw something that no one saw like I was using mixed panel and Those tools forever right like amplitude like for product analytics never I thought about putting feature flags and

Product analytics in the same product, but they are Jason right once you have those events now You got to figure out what to do with them And then so that connection of like what happens before you use someone's product what happens after someone uses someone's product That to me is really really interesting. I asked that a lot to our users to understand like okay before you is recent Okay, maybe I'm doing this and then I do that great So identity is one of those things present passwords magic links, you know that there's a lot there And I haven't cracked the code for recent yet I haven't made that brilliant connection that oh my gosh now it makes so much sense It could be background jobs because no one sends email art Most people don't send email right away They put those emails in a queue or in a background job and then the outside of the critical path right?

So they're adjacent things that we could get into you but so far it's been man We just got to focus like there's just so much to do those three million users are asking for so many things here Staying our lane at least for now. We are obviously expanding the footprint of the product which we haven't taken that like extra steps You go into a completely different vertical So those three million users are pretty to some degree vocal and sure there's at least one third You know, maybe one fourth that are more vocal than the other so I represent maybe not I don't know what are some of the things that they're telling you that makes you know like give you assurance or some version of assurance that We're going the right direction because when you have a swath of a large swath of users telling you which direction to go You kind of you kind of should listen right and so are they saying I want identity with my email?

Like what are some of the things that are really pushing you towards when it comes about I hear a lot like phrases like Oh, I want a recent for a WhatsApp a recent for SMS to will you sucks? Can you please make my life a little bit better? you know in You know centgrid is now completely folded into Twilio They're rebranding as Twilio email and it's inside their dashboard. They're taking off the domain and everything so Twilio is our biggest competitor and it's hard not to Look at them and be like, you know what? They they're just adding more friction and we're all about making things easier. They're as the case not as great as it used to be

So there's a lot of things we can make it easier there So there's a lot of push towards that direction of like okay recent is great for email. How can it be great for my entire communication? Portfolio right if I have to send messages. It doesn't really matter which channel Email could be one channel, but I'm just trying to get to users and comms channel really Right like a common country where they want they want one place to go one. I eat got a call one dash But look up one law to reason, you know, etc Exactly and I feel like that's the future for recent I think at some point we'll get there but time and time again every time we like went to this road And we could turn left and go deeper into the email space or turn right and open a new channel We always turn left like it's crazy how deep email goes. It's insane

I'm always amazed at like how much there is to be old still like I'm sure like we have a roadmap for the next 10 years easily Like even if we just stop paying attention to everything there's so much to build Wow I'd imagine in this era too. You have a lot of pressure to deliver something very very soon What are some of those things that you have to deliver very very soon? Like what kind of customer types are they they tend to be humans? Community agents so technically it's an agent, you know, what are what are some of the shapes of what you're being asked to deliver so quickly? You know, we spend a lot of time on the website to make it look good, you know, you go you see that crazy Rubik's cube and you just Go to the dashboard. We also try to make it as fast as possible all the kind of stuff the SDKs to see a lot of you to be

But at the end of the day if the email doesn't land on the prime reenbox, you know, it's all for nothing We could have the most amazing open handbook about how we operate but if the emails are not landing if the servers are down So that's where we try to spend a lot of our energy like let's make sure we have a solid foundation We started the company thinking we were building a DevTools company and I quickly realized that no no no no no You're building a new for company like the moment we had our first time. I knew very quickly like okay This is a different type of business. Yeah, you're gonna know. Yes. I'll call you. They expect you to answer quickly every time

Every time. Yeah, like go there with the lights which on if it doesn't flip on you're like who didn't make the light bill? What's going on? Like you expect it to be there? Where is my recent?

Totally and for some apps it's like, it's okay. I'm just sending a marketing email It's fine for others like no my users are not able to log in Like you guys are like letting me down like there's no way so then we have to jump super quickly and we have a big success team My big I'm talking five people but like we are like trying to be spread in as many continent as possible we now have people in in APAC like New Zealand we have people in South Africa So we need that kind of distribution. We cannot just be isolated in a single region even as a team We're a team of 45 now. It's pretty small teams too. Yeah, I Don't want to ask you this question with a negative but I'm gonna do it and just to get a reaction and just to dive in a little further But like is three million users a lot is that a lot?

I know it's a lot when you go from zero when you have zero stream zero strangers using your software You know, I get that's a lot of users But like is that really a lot in the grand scheme of the space you fit in given even the change? You know with send good others like just changing around the scenes like you seem to be the most You know stripe API amazing DX. I would say maybe even now borderlining Amazing a ex experience It's remained a lot is that a lot? Yeah, that's a good provocation. I Saw recently that super bass had crossed like 10 million users that got me thinking like oh is this the Tam for developers?

Is that how big it can be? I forgot now, but on the the Twilio website. It was also around that so like okay, how far can we even go? To me what's interesting is like the definition of a developer is completely different, right? So if we're building for developers what really is a developer these days?

You I crazy story man I was at Versailles ship last week in New York City And you know as I was at the booth talking to people and it was great because Versailles ship is different from next year It's conf you can tell the vibes and the audience there's a lot of EP's and CTO's and CMO's all that kind of stuff and During the afternoon I had just finished lunch and a guy that was working at the catering company It was like with some dishes. He was walking around he stops me and he's like oh are you from recent? Oh, he was recent. I was like no way tell me more. I even took a photo with him He's like oh yeah, like I'm trying to learn how to program on the side and I use lovable and use recent I don't use resale yet. It's too complicated, but I use these tools and it's great. Oh, man

That was so special to hear and I'm just reminded this was like I don't know six days ago I'm reminded about you know the people who are serving we do have email for developers as a tagline. We have so many designers so many I don't know product managers marketers using recent Builders I feel that that's what ultimately these people are right so how many builders are out there? It's way more than three million, you know like and that's why I'm excited It's like how do you build something for that audience? They are completely different. They don't know how to troubleshoot once they have a bug They are just stuck. It's crazy. I observe that already by answering the tickets. They just say my email is not working

They must not say like okay. Help me. Give me something. I want to help you. Just give me more data What is the error code? What is the error message? I want to help you, but just give me more

They they don't have tolerance for for those problems if it's just too complicated to set up If like the the time to aha moment is too Too high they are not gonna adopt it, but man if you can get there easily you can make their lives easy and they can just get started quickly You know they reward you So yeah, I don't I don't think Trimillion is a lot I feel like there's way more to go You know you mentioned that user I got a friend of mine I'm gonna mention his website. I was talking about phone right now He saw me looking away from home I was trying to think because a good friend of mine Hamilton healed he and his wife started this this beef Talo chapstick brand called meadow and hide and it's a meadow and hide Dot CEO for example and when he told me he built his website with bolt I think it's a bolt dot new And he said that he sends his emails with recent I was like what same thing you know with you after lunch in this fellow You know, it's not that they shouldn't it's that it's peculiar now. It's the new it's a new new right?

And my buddy Hamilton is a smart fellow, but he's not a software guy. He's not a technologist necessarily He's inclined. He's not foolish, but he's not really a developer like you would consider developing the past Meanwhile, he's built if you go to a meadow and hide dot CEO for example, you will see a really beautiful website well done marketing message very clean and clear using reason of course as you know and I think it's a while like you got these folks now that are using services The way I tell people like this is like with an API key even like I to use recent you have to use your re underscore API can you right you're gonna get this API key and it's like your driver's license in a way or not in this case Maybe it's your ability to access something on it's a key It's it's so interesting in this world like it's to explain what an API key is to be like I don't know what does that mean?

Well, it's just a key like you take your keys out and you say this is a key This is a digital version of that same concept and it's got the certain groves and you know cryptography That's basically physical grid of cryptography Like the shape of a key for example and and now we have people who would not normally be using API keys requesting API keys You need to have even a particular Account type so you might be using a service that in the past It's been pretty foreign for the user to ever ask you for your API credentials or to create an OAuth 2 application Inside the dash more like now this question is becoming more and more the case where people need to do that and even having to have a particular Account type to get access to that you know in the case of where you charge per user for example You want to have someone on your team and maybe this person's newer that they are your taxi person and in that tech seat They're procuring your API keys. Maybe they're even we even get the services and they're not in the command line They're inside a level They're inside a bolt and they're inside a cursor for example And they're weaving together these keys and stuff like that in these services in this whole new world

And it's it's kind of wild and exciting at the same time because My buddy building a service and his website. I'll say what and you showed it to me I was like this is good like this is good stuff man Like it's not vibe at all, but but it was vibe it was a version of I but here he is Shipping products to people physically and using recent to send emails like that's wild. So he's one of 300 one of three million Yeah, it's insane because you see Like how much empowering technology can be like on the gram scheme of things right like the things you can build The fact that with plain language you can get stuff done. It's also so beautiful And it's also super challenging too because if you're a one API key away from doing whatever you want to do You can do a lot of bad things too. If you don't have the right intentions, right? So we have a big challenging

Okay, we want to make it as easy as possible great How do we deal with those that actors because there are weird people out there try to send some weird emails And we block a lot of them and they keep coming back now nonstop Nonstop, it's a different version of that to you Maybe last time if we even talked about that subject, you know, maybe like a couple people coming in recurring now We're talking like full ganks like they are spam ganks. They have like thousands of domains. I'm not talking 10 10 20 a hundred domains Thousands of domains with different registrars different DNS services and they all try to take advantage and if you have a free tier Good luck, you know, that's an added problem to the to this thing. Yeah, I think you want to make it easy Yeah, but it's so tricky like for example a comp provisioning. I'd say you just want to do that programmatically You want to hit an API to even create an a to create an account to be able to create an API key Those are the things I started to see when I was spinning up my own agent

I'm like go to recent try to create an account and I had a bot detection at first on the signup page I'm like no, I'm removing this thing. This is not gonna be here anymore I just rip it off. I rip it off This was like a Saturday afternoon I live I rip it off and I'm like no we're gonna have a detection of the login But not on the signup and then you try to make things easier, but yeah, it's it's hard But then you'll see you'll hear those stories and oh my gosh It's just beautiful the power of you know these models these days and people with great ideas can just make them happen You bring up a good subject, which is the free tier and I know that you have a free tier so you got a zero per month 3000 emails per month you got 10,000 automation runs so you're giving quite a bit there and this is all in the name of attracting Customers right they call these trials and like the your child convert How difficult is it in today's world given the the upswell of interest in recent is it to honor that gift of free tier?

Yeah, it's it's hard. I think we were just like we just invest so heavily in in that anti abuse program internally We have so many systems that we're building You you actually need a lot of staff to cover for this too because abusers don't stop So it's hard and we were doing like an exercising like okay think of like crazy ideas go insane Moon shots how we can make this one part of the company easier and for trust and safety like one of the moon shots It's like oh, let's kill let's kill the free tier, you know in in one second We're gonna like remove all those problems away. You obviously create many other problems and it just doesn't Really speak to what I'm trying to do, you know Starting as a software engineer in Brazil I didn't have any money for the services that I was using and thankfully GitHub had a free account So I was able to get started with that and then you know as I was building there were other like the free tier is something that Enables, you know a new generation of people to get into tech in the first place

So to me like there's no way we're gonna get rid of the free tier and of course You're not doing that to you just because you are like the most generous person in the world those people actually convert in fact Just today this morning we crossed 100,000 paying customers so 3 million users total 100,000 paying customers and It's just like if you have the right incentives the right lever is at the right places We had to add those to make sure people like so it's 3,000 emails every single month for free But you do have a daily cap and those things help us move users from one to the other But there are still generous enough right like it's 100 emails per day if you're sending over 100 emails per day Maybe you have something going on So then okay now you can pay 20 bucks. It's not the craziest thing But still is for many people then I have to shut down that service or not I think for me is a dual thing It's it's both like a do-good type of thing and we even articulated that if you go to our philosophy page on the recent website That's the first thing that it will talk about like make it for everyone

So we talk about how They're developers not just in New York or San Francisco or London like no they live everywhere they have different access to The internet and and and take like the latest technology So we're trying to make something that can actually help And be used by a lot of people even the users are the margins But there's just a fact I believe like if you have a go-to-market motion where you're trying to win the masses the moment you gain that mind share It might be easier for you to gain enterprise mind share later because now you have established name Now the models are recommending you so it was interesting to see that dynamic to last year January 2025 Levelable ball to V zero man those guys they were driving so many sign-ups recent but our revenue was just like growing the same way January 2026 completely different because Claude Pope and I they were recommending recent But those are actually paying customers that had the problem and we happen to be at the right place at the right time, right?

So it's a different type of user, but you shouldn't neglect them. You know, even if they're not paying you right now That's a good point. I mean really this I mean you can scrutinize almost like long-term thinking versus short-term things Right your short-term thinking is like all free tears bad long-term thinking is not actually free tears really good You should get past the pain of it. You gotta like look at it as a non burden and look at it as a praise and a a boon potential If done right, but that means that you've spent the right kind of time designing your pricing tiers Like how much time do you personally a CEO think about free pro scale enterprise? Like is it on the daily?

Is it once per week? How do you think about your tears? Oh man? I think about them all the time and not not daily for sure But I see people like so for example because we have those levers to help people Transition from one plane to the other people are always complaining about those levers Right? So in the free plan is like one domain and people are like, oh, I can't use reason because it's only one domain And then they try to create multiple free accounts to bypass that So there are things that you do to try to accommodate for one thing and then you lose the other part So I think about pricing a lot and positioning cheer right? So we could have like a cheaper first plan

That's like people ask that all the time. Oh, I wish like $20 is too much for me. I'm in Africa and it's a lot of money Right, okay, so let's make it 15. Let's make it 10. Let's make five dollars But then how is your product received the moment you you change that to you?

Right? So we're trying to position recent as this premium product prominent a product that you go and you feel the love you feel the care So okay pricing is a part of that too We mess up pricing so much like I think we got it right with transactional emails with marketing with charge for contact and In this age where you lounge an app and now you have a million users out of nowhere like pricing for contact doesn't make sense So we are revisiting that too. So some decisions we made because we're like, oh, let's just follow the market It's just easier like we're not gonna innovate in pricing. Let's just mirror what our competitors do I feel like that's a great idea at first, but now you realize like oh no what a dumb decision right like Pricing is part of the product. You cannot get away. Look at any ask any sass owner

What's their most access page after the landing page and they will tell it's slash pricing like that's the page? So it's part of the product and you cannot ignore that Mmm. Well on the on the copy front of your pricing page. It's stellar. This is probably the most clear page ever seen in my whole life There's no fluff. It is exactly what you want on a pricing page

I'm not sure what what you personally played in this But the slider of helping you choose which tier like people want to know not just what do you offer and how can I pay you to get what you offer Which is the pricing page But how much does it cost at what point do I graduate to a new cost? How does that scale with my developer base or my user base or my send base? So, you know pick whatever metric you're comparing against then obviously you're gonna always have that Enterprise tier on the far right hand side. I feel so bad for those enterprise folks always in the far right You know, but then you've got this slide that really shows you like oh once you get past a certain number here clearly You're in the scale custom enterprise realm and so you almost sell them with facts You know, you're not selling with like probably voles if this could probably happen or these You know, this is exactly what you're gonna do Like if you're gonna stand in the 500,000 range, you're probably gonna be in the scale territory and to me That's really cool. Like how you've designed this page, but how do you see this page changing?

I know that I can't recall what it was. I think I saw you do this where you just added a dot MD to the end of things I think did you start this movement? I think this was you right? So how much traffic is this page getting to this non-human now that's still influential and how do you influence? Influence the non-humans, you know, how are you influencing these agents?

Yeah, that was funny because as you were saying good things about that page. I'm like, yeah, that page is good But it's good for humans. It's not right. It's it's terrible for agents. Yes. That's not what I mean

Maybe operable like do you give them some version of maybe this is an API is interactive and you know, I don't like Pricing is an API page versus that and you're like, how do you get your pricing? Well, tell me what your payload might be like how many emails do you want? How many will you send is it transactional only how many per day, you know, and all that is big an API call and the response is Json, it's like here you go this or maybe it's market maybe it's actually marked out I don't know but anyways, so no totally and we The way I found out about that was again a Saturday afternoon I'm just tinkering their stuff and then I asked like oh, I was creating maybe a competitor analysis on plot and Opening I wanted to see what they would recommend and then they told me like oh recent is the most expensive service I was like no, I know for a fact that this is not true Yeah, and I was like so surprising both of them got it wrong and then I was like, okay, let me uncover this so Turns out that agents don't really like JavaScript enabled sliders. They cannot slide That's not something they are very able to do and I'm like, okay, we need a markdown version

So I made the markdown I changed the the alternate Heather So if you were to request that with a different Heather then it returns that and then I just started to like seeing for real life And then I just made the request and then it started to get them off my fright like all so what I did was okay I'm sending trip or 2.3 million emails a month how much would I pay with recent and then it would get the number wrong and then I was like pushing changes I was like, I'll update the copy let me update this and then when I added the markdown version with an alternate Heather for content negotiation then it finally worked so I was like, okay, nice so In the end is like you if you're not playing with your own products or if you're not like Pushing yourself in the shoes of the users as they're considering your product Then yeah, like it will be impossible to uncover those things like no one came to me and said like oh your pricing is wrong Where my agent is telling that the pricing is wrong. I haven't heard anyone tell me that Hmm, what is that cadence for you? How frequently do you sit down in the place of the users?

Is this something you have blocked in your calendar? How do you approach this? You know must feel the pain act as user advocate that you are I'm always looking for excuses So I operate on that so I'm like, oh, okay, we have an all hands meeting for example every Monday, right? So we used to use a notion doc where every team goes in they write their updates and then we go for that dog together and And that's it okay. This is cool But what if we just use their own product for that?

So we you have to create a broadcast then we all went to the editor together and Man, it was such a mess because guess what we didn't have multiplayer. So it was a terrible experience editing together like that that email So then we built Real-time multiplayer with live blogs and then okay now we have something that works So we do that every Monday. It's a ritual now we go we write the update together by the end of the call I send the email and then it goes to all the employees of the company I obviously send every month like an investor update to our investors. I do this Religiously, I never miss one It's always the first day of the month and I try to make it like very very early in the day and I do include all the lovers and all the haters of recent so if you're a lover if you're a hater and you tweet about it I will see it and I will include on the investor update And I just keep inventing those excuses like right after this call I do need to send an email for Dracula where we have the draft done and I'll just go ahead and send it so I'm always like

Coming up with whatever reason I can to yeah to use the product That's cool, man. I feel like that's uh, that's definitely the way you uncover the the real potential to right? Not only uncovering all of your blemishes that you need to fix and you can only discover them by using it and what a user will do is they Will get frustrated and go away some will complain lots will complain But by and large, you know, no one's just knocking down your door telling you all the little things I mean there's support for sure but unless you're the builder and the building team that's that's using it Once you're using on the daily you're not really gonna discover the the warts or the real potential you start to really like Obsess and immerse. It's almost like method acting, you know, it's something about like in the moment It's like kind of like method developing, you know, you to get some of the best characters we've seen on screen in Hollywood Some of these actors have had to go through life altering scenarios where they will go so deep

like Jim kerry went so deep on like A couple different characters where he just like just just gone, you know, I don't know if you've seen that recently But there's a pretty interesting song out there that's popping out called go from the chemical brothers And it's pretty popular because of the movie apex on netflix with Charlize the Rhone and agritin something or other i forget what his his full name is i'm sorry dude But he played this character so well anyways, i'm sort of on a tangent here, but uh music was a really big deal there Where am I freaking going with this where i want to go with this is actually back to uh Asian experience that's why i'm trying to go with this was uh was to not get too lost and we're getting close to our time here But yeah, I feel like this space we're in right now The way I think about things i'm curious how you feel and I feel like yes as of january the the table shifted the whole world moved And it's a new trajectory for almost literally everyone Uh is now this idea that you're not really building the feature for the human Kind of you are you're doing it for human intent and human enjoyment

But the the thing the automation layer the intelligence layer doing the work is the agent and i've always known you As someone over all these years really is to be someone who really focuses on developer experience and now we have agents and so we have Agent experience a x and anytime i'm talking about agents i'm always like you know this has to suit dx Slash a x and it's always including those sort of two labels there to justify my actions What i'm doing and the simplicity i'm trying to think of like I really want this cli to work This way for these reasons and we have to have these kind of things in there not for the human really but for the agent who's using it So it can discover what this thing can do So when you think about agent experience and rescind and they have a whole entire blog post on this and And i'll get stably what does it that you think about when it comes to agent experience and building for agents these days Cool man. It's so hard because there are all these little things that I I obsessed Uh to get dx right so for example, we go to the dashboard you have these animated icons right so it gives you a sense of like oh Okay, these people actually care it's a little bit different when you then if you go to any other dashboard

Well agents couldn't care less if your icon is animated or not Uh, I remember going on this huge project internally every scene where every form that we had needed to have a keyboard shortcut And you should be able to just like submit using command enter and stuff man, I spent so much time with the team and Agents couldn't care less about that too like they see the keyboard card shortcut. They don't need it Um, so all these little things that you would imagine like oh they will help the agent They don't necessarily translate to that But there are many things that do translate so if you care about your API and making sure you're respecting the atp verbs If you have an open API spec that's important all that but then there's a lot about discoverability too So what I found was okay, we had an open API spec and then I was asking my agent like oh go fetch the recent open API spec And then it didn't know where to go so I'm like oh no like I actually need to The so then I went on this tangent of like how do I make sure that every time we have an open API spec update

We actually go to our website and trigger a ci job to update and add to the dot well known folder so those little things that you just discovered by by doing and Yeah, I think it's the way to build these days like you have to care about that and it's a complete a new discipline Like no one really knows what they're doing Or if someone claims that they know how to so for that we challenge that assumption But you'll learn as you're going right like you you try to get stuff done with your product Like we use this so called 2027.dev Where you give it an eval and then it tried to do an action So I tried to do that for every single language for example Like how can I make sure recent is easy for Python as well as for job is for developers as well as for Ruby developers So then we have evals for different platforms and then we try to see where do agents get stuck?

Oh, is it do they get stuck here or there how we can make sure they don't get stuck at these points? Um, I remember adding a lot of like copy page content As markdown so people can just base on on their agent of choice Like we do have an agent that we ship in product, but maybe many people they just want to use theirs, right? They already have all the context there. So we try to make it easier that way like oh copy the logs as a JSON Uh, I'm revisiting the error messages now because the error messages are crucial Like if they're super generic the agent gets stuck so they know okay. There's an error great You want the agent to see the error and then try something else So like you have to think about what will be the next steps once the The user gets this error Whoo like rate limits. Oh my gosh. We had to revisit rate limits because agents they do way more requesting a normal human would do right?

Um So it's insane like there's so many layers to this Well friends this episode brought to you by friends at coder.com secure environments where developers and agents work in parallel And i'm joined by niki pike field cto forecoder niki. What is a field cto? So I get that question a lot and it's you know half the people understand it half the people don't so field cto I describe it very simply as we're dev rel for the csu So we provide a bridge between the customer voice between the csu In the managers and the leadership teams of our customers back into our product And then we go through and we help enable our teams to have the same message to make sure that the message is correct And that we're building on something that people actually want not just something that we think they want Okay, so we're taking the laptop away from the developer not really though We're putting them in a cloud development environment and secure environment where they can work with their agents in parallel These are blessed environments. What's wrong with the laptop?

The laptop is the is the trap here and not only because the fact that it could be stolen you could lose it it breaks and you're How to work while you wait for a new one, but there's also just the consistency you got there We all know developers developers are going to be looking for some of the latest and greatest and if you're not really controlling how they get out there That's where you get this it works on my machine It doesn't work on production it doesn't work anywhere else because you don't have that consistency You don't have that ability to really standardize what that environment looks like and this is a problem not only for new people coming in You know the onboarding statement is it average I think is like four to five weeks for a new employee to really get their local laptop set up and ready to start doing their first time Of code and you know the time to first commit is a metric that almost everybody knows and the reason they can't do that is because there's a lot of Tribal knowledge out there. They got to go talk to developers What do we use and where do we get our dependencies? Are we getting from public? Are we getting from private repositories?

But there's also the security and the supply chain aspect of this when you have local machines out there Look at like the shay-hul-ad, you know that virus that went out not long ago This was a compromise of the MPM public repositories They went and downloaded things MPM did what it did next thing You know you're compromised But when you use something like what we're doing with cloud development environments Then you can mandate and you can put restrictions on there to say hey You can only go get your packages from our private repo those packages are expected to have been thoroughly vetted We know that they're clean. Not does this stop everything like shay-hul-hul-ad? No if that compromise package gets in your private repo You can still have that but it really reduces the surface area of the attack And it also reduces the blast area of the compromise should it happen because if your laptop gets compromised and you have to kill the laptop for whatever reason That's weeks out of work while you're either fixing that or you're getting a new laptop in the cloud development environments allows you to kill that start back up fresh And you're back and running in five minutes. You don't have to wait all that time Well for the first step is to go to coder.com install coder self-host environments for your teams to enjoy to standardize around and it's open source So you can try out today once again coder.com

That's a good point is is this uh agent experience is not just crafting a good experience But when you hit the hurdles and the bumps course correction because that's when the turn will bound right? You'll come the agent will get stuck and come back to the the builder right and that their literal you know prompt and response loop Or cues or loops or whatever is the fad these days right gets broken because recent aired and the agent doesn't feel Like it has enough authority to make the mutation change or whatever on their own they must get an operator or A builders, you know, whoever's running the agent they must get their approval to go forward again But if your api your mcp or cla responded in a way I was like, you know, you actually just get a rate limit and all you need to do is just pause for five minutes and your limit comes back or Whatever the number is then the agents like well while that five minutes is going one I'll set a loop set a background job We're gonna do right though Actually write python or a bash script and like prompt themselves because they've got some good feedback loop from something that they're using They go and kind of on the rest of the mission to come back to that find it's like right resend available again because the

Apolum is going like they never had to go back to the user that's building with them To change that they could just they just sort of navigate it around it or even learned a system Like the way you learn like even this humans like learn by doing right but really learn by positive failing And that's what agents gonna do with the cla they just sort of like brute force A cla or mcp server and figure out what they can or they can't do and I don't know they really mean to because they're not like Cognitive not yet at least AGI but they're not trying to hurt your servers or you know abuse your service They're just trying to learn how they can use it And so if along the way you have better milestones waypoints and just air responses It's gonna be a lot easier for that in that that agent to get feedback from the system is trying to learn while choosing it So true and man we've learned a lesson the hard way in the sense that The primitives are most are the most important thing that matters right now like getting the primitives right?

So what does that mean to you write that down? For example the rate limits you can just have a proprietary header to just like respond with the Like where you are in terms of your rate limit. Oh you've used six of your temp requests so far great So that this is one thing like you you go to many of these really like good services They might use like a language that they have for themselves with the invented right? Well, there's actually an RFC for rate limiting with three different headers one for the count one for the The unit of time and then one for when you should try again You should follow that RFC because if you follow the RFC agents will know they will know how to out or we try So we had to go back to the basics the CLI the O off layer The right headers the right ATP verbs more than ever those things are crucial And if you're trying to do something that's like oh a proprietary thing because you believe that you have a better opinion than others

Like the agent will know what to do. So yeah, you need those Like for example, I we always had like a yaml open api spec And then I would use all these agent experience score services that are out there There's so many and because I'm a nerd about this I keep like putting recent to see how recently was core and then like two of them told told me like oh You don't have an open api spec and then I saw it why like we do Oh, they're searching for the dot JSON version of the opening P. I spec not the dot yaml Look now I have to build a thing that converts from yaml to JSON deploy to the right place So there is a discoverability for that and then do it Yeah, the primitives. Oh my gosh, that's the only thing that matters like getting them as standardized as possible Yeah What are any particular I mean that you came up with the you know dot md on the end of a URL so we didn't close a loop on recent dot com slash pricing dot md being a markdown render of that page what other particular Uh, I wouldn't call them tricks necessarily. Maybe the things you're standardizing around that are like, okay

Yeah, when we build a CLI a CLI has to have these particular feature sets that serve an agent Like what are some things you're doing? Man, the CLI was one where I spent a lot I'm glad to brought it up because it's been so much time with that one Uh, I wanted the CLI to feel good for humans first. I knew that okay There's all this talk about agents is great But if we want to show perceived value on the product we got to show on the CLI as well. So The default way you have the interactive mode. It's beautiful with colors and uh different ways of including data Just really really cool. I love it

But we do need a non interactive mode for every single command We should have different format formatted outputs as well. So if you don't want like a plain text that's not really Uh, you cannot really massage that the output We should we have like a JSON version of that and then I remember like, okay I remember shipping that JSON version and then I saw how I just would always do like that pipe gq command to extract data out of the The output and then ours was failing for it. I don't really remember like there was probably the way that Jason was formatted I think it was a however right now we would return Like the data or possible error and in an array or something and then it will always got confused So then I changed the shape of the object of the output to make sure you could pipe the result So just going over those things like okay, how you can make your CLI actually good and then actually discover goal You've got to put in every single register you can imagine Uh, the updating system needs to be easy to use as well uh refresh tokens

And now like one area that we we going back to the importance of the primitives We wanted to make uh off as easy as possible. So the permissions and the roles you'll give in the product We just made it full access or sending only as simple as possible. You can start your APK with only that Guess what agents want things to be as granular as possible Obviously enterprises want as well, but use this one that so now we have to go back and rethink about permissioning and Roles and and scopes for all off tokens for API keys So you cannot every time you try to skip something and you're like, oh, yeah, we can probably get away of this or we can simplify here Think again, like yeah, right, you know It's hard how much has this been a thorn in your side so to speak with Like roles based access controls like I know that you're a prior workOS employee and friend of micro drainage. I'm sure that you have just uh unlimited accounts I'm just kidding as some sort of some sort of blessed way to just easily get workOS right workOS solves a lot of this

To some degree, but workOS isn't for really everybody necessarily. Maybe it maybe it is maybe it's not like how do you handle? This problem like it's not an enterprise problem. It's not a cross-net chasm problem. It's a it's an enabling We don't want to have to build off but also get it right for the future that agents demand from us Yeah, it's really tricky like the the build versus buy decision is always hard Uh for the all off layer for example, we considered using workOS We ended up not because we felt like this specific part we actually have to own it But then there are other parts like the the permissioning the roles. I think we could use something. Uh, we're still exploring

We haven't sold that problem yet, but it's always a battle of like What what are the parts you own right? So I have a friend for example Who's building a really cool API platform solution where you can provision the API keys there And I'm like, okay, this is awesome But man, we are a company that we sell a teches for you know, uh to make money like they are Super important part of the business. I cannot just give that to someone else and then that's another round trip It's gonna make it slower if you're accessing the website and New Zealand might not be the best Performance as if you're somewhere else so you've got to think about all these things and then the side like okay Yeah, this part we're actually gonna bring this part We actually need help doesn't make any sense for us to be able to completely new permissioning model or not here for that Uh, but it should be extremely easy. The things we're not gonna give up is like man. It needs to be easy. It needs to be

Um, yeah, like you should have those Abstractions to make things more accessible for folks who don't have the time who are trying to set up email and send the afternoon While the kids are running uh, and they only have like 10 or 20 minutes And if they don't get it right in those 10 20 minutes, they're gonna go away. They're never gonna come back You're not gonna you're not gonna have another chance Yeah Do you have it where an agent can just discover or be told to discover? Resend and learn how to create an account like what does that exist today for you? Account creation is tricky. So we haven't really because of the free tier and the abuse vector that that would create but We invest very heavily on like llams dot txt llams full dot txt we have that in our docs forever Thanks to simplify But then on our marketing website we started to do that in every single page too So you go to the most traditional marketing page you can think of and you put a dot md there

Like you get a friendly markdown version of that page We haven't done that for every single page, but for the most part like all the blogs all the handbook articles all the change log So the pages that we feel like they matter the most Content needs to be easily accessible, right? So uh, we we change like pages to have like a FAQ at the bottom of the page That's the way people are asking questions. So let's try to make that a part of what we do We we we yeah We did a lot of things like we've been using profound to detect the requests that are coming in what are the citations Okay, so let's figure out the citations because then that's how we can actually improve the quality of the response What if this is anything that likes a lot of problems and let's love seriously love a lot of problems And as i'm listening to you i'm thinking like what if uh when an agent signs up They don't have like the you obviously you have the pricing so it doesn't go away And you still have your account structures because you can't remove that from you know your user or its projects Like however you've mapped your your world But what if when an agent signs up they can only sign up for paid account

Like what if that coming because you have more agents now that have Any email potentially because they're trying to get it or a credit card because there's somebody trying to crack that nut But like what if uh, you know, I knew like I know recent Right i'm a user of recent and my agent I want to automate this next this next package I'm building for my ecosystem for example and the package needs to send email or for some reason the agent needs to get A new recent account for that particular sliver I you know, you don't know me, but i'm a trusted user i'm a fan and i'm i'm down to pay i'm ready to pay I don't need to go through the whole just take me to like just take my money Right just my money. I love that and man another big friction We have is like domains for example, so we do require people to bring their domains to be able to send email What if we just gave them a domain that they could just send from that?

There are many deliverability constraints of that, but what if we did that right for the right people? I'm like super inspired by The outside world right like when I I love tsa pre-check and I love global entry for examples So, you know those programs you have to voluntarily pay for them and you got to show up for an interview Guess what after you do that your life is completely different way different It's like a cheat code that everybody can have but nobody does oh my gosh It's the best we ever If you're listening to this and you live in the us, please get that thing pay whatever you have to pay to get it's like 300 bytes or something Um, man I love that concept of like you're coming in and you are voluntarily giving more information In order to unlock something else right? Um, like an added benefit so I've been thinking a lot about that too and that use case you described I had that pain when Uh, this was like when I think opus 4.8 got released. I'm like, oh, I gotta try this thing and I went to

Why see they have like this internal social Um social channel there where you have you can go it's like your their internal facebook of some sorts So eternal community only company only founders can go not even employees of twice accomplished only founders can go So they really try to protect that place at all costs But they have like an missing thing where you can push like information about your company people can mark That they are using that so people mark that they are using recent they can give comments about how they're using recent And I never got notifications about those comments. I would love to see it. Sometimes there's someone saying oh I had a hard time redeeming the coupon. Okay, then I can just fix that So what I did was I gave my agent like go to bookface And scan all the comments on this page every single day give them a dissentiment so I can act on them Um, so I just set up that uh That automation this is me as a trusted user giving my agent access to do this one task for me Uh, and then I go to bed next morning. I wake up an email from yc Hey, we're seeing that you're trying to like scrape data out of yc

Like they look at the ip's and it was a mismatch between the ip that I logged in and this other ip Uh, and then I get like a warning like hey, you've got to stop this or otherwise you're gonna get banned for life So like oh man But that's just me trying to solve a problem with my agent right and I feel like services are simply not ready for that Even recent to certain degrees not ready for that right? So we got to really rethink about how the extension of our agents like I was inviting five different users to our linear workspace But they're not humans they're agents and I have to pay for an extra seat Like sit-based pricing to me doesn't make any sense in this new age Uh, I'm glad we've never did that with recent but man, yeah There's so many things we got to rethink. Yeah, that's uh, it's kind of the fun part of it too Right we get to rework a bunch of stuff and then thankfully with the the reason for doing it actually helps us make it easier because it's not Co's gotten a lot easier to produce Uh still, you know, still out there whether or not it's all good or not Um, I don't know where where you at in terms of things

Are you a hundred percent code generated in terms of you personally? Corporally is recent are you AI maximalists? Everyone can write whatever they want as long as it's with an agent Not token maxing but like are are you all for AI in every way to help recent? Yeah, I think it's it's my job to be pushing that Inside the company because it is a big unlock and anyone who says it isn't I don't know where they are living I feel like it's a complete in your world. Um, I do hate the token maxing strategy, but I love the Refink what you're doing strategy and see where AI fits into that, right?

Um, and I I'm kind of like obsessed with the whole loops Engineering or factory engineering thing right now. Um, and I'm building like right now I haven't even shared that with the team yet, but I'm building some of those loops that I feel like Our closed loops. So there's one that I built that I'm using co-work to do that where it goes to all the downvotes on our in-app agent It looks at those on post-hogs that uses the post-hogs games to be then he grabs that event He looks at the whole session of the user and then based on the whole session of the user It sends a draft PR that updates the the tool calls and the e-vals for for that session to make it sure that okay The next session this problem that happened right now doesn't happen again Um, and then every day people are seeing like this one PR that I'm sending and then sometimes they're good sometimes They're pretty bad. Uh, and that's why I haven't really unleashed to the to the outside world yet And I'm trying to imagine like what are those other mini factories that we could build right like that we can close the loop Um, maybe one agent is sending the PR the other agent is reviewing

And we do that every single day or every single hour a single minute Um, but it's it's crazy how we went for the whole journey of okay the the bottleneck our developers. We got a higher more engineers today The bottleneck is now, uh PR so we we started sending a lot of PRs Our repo used to have like 40 or 50 open PRs at any given time now it has 200 Uh, so okay, it's a new volume of PRs that are being open every single time Then the bottleneck became the review process and then we are like, okay Put AI on on the PR so we had a cubic bug bot all these bots which tried like all of them And then the bottleneck became the CI like the jobs where we're failing or like taking forever to to finish And then like our compute was also like we didn't have enough compute and then we had to change the eyes man the bottleneck keeps shifting right and It's fascinating to Follow that you you got a really there's nothing you can do right you you adopt the thing If you ask me do you miss that flow of coding that moment of like it's you and your your

Oh my gosh. I do miss that. Yeah, what could you do? What could you do? Well, yeah, you can't find entropy it's gonna happen Wild stuff. Yeah, a lot to a lot to dig into i'm sure we can go even further

I know we got a few more minutes here, but um One question like to ask especially whenever I feel like the person's got something up their sleeve Uh closer to the end of the show is like what's on the horizon and maybe it could be something that no one knows that you can share Today, but it didn't have to be you know what's something on the horizon that's upcoming or recently released that just isn't getting enough awareness from you What does that for you like what's on the horizon? What's something that not many people know about that you can share? Yeah, it's hard to say one specific thing And maybe what I will say is connected to that other point of like you've got to be challenging the way you work every single day now Unfortunately, uh, it kind of sucks in a way because you're you're getting used to one way of working And now there's a whole new wave of things you gotta adapt and you start You know learning and figuring it out But things are moving so freaking fast that you just got a Challenge any assumption you might have like i'm challenging the assumption of who I am as a programmer Who I am as a CEO as a founder? Where do I deploy my energy?

and It doesn't seem like there's um Like in the past I remember it was always like oh now I gotta learn a new javascript framework Ah, it sucks like I was just learning amber and now I have to learn angler and now i'm just learning angler how to learn react Uh, and that sucks right now. It's like It has nothing to do with the framework. It has nothing to do with the technology itself is like The actual way of like how do you contribute? How do you add value? Um, where do you even spend your time?

How does that change your personal life how you eat how you sleep like it's just crazy man? It's insane how you spend money? Like it's really really crazy. Um, so I would just encourage everyone to keep Digging into their way of working and and seeing like yeah, let me try this and then it's not good Maybe it's not good right now. Mm-hmm then, uh, and then six months later It's good. So assume that it will get better and if it will get better, how would that change how you do work today?

Yeah, are you all hiring? Yes Kind of hiring you don't these think what does it like in in two minutes? What does it like hiring today? Like Uh, the peaks and the valleys and then specifically who you're trying to hire for First of all so much noise. Oh my gosh all these fake resumes and all these uh weird things going on Uh, but we are trying to assemble like the Avengers of the you know in the street like, uh, we just hired like a guy that came From mayo champ that's been the last 10 years there Um working in deliverability. So we're like trying to find these people who want to challenge this industry and maybe feel like

The place that they are at is not really the place. Um, so a lot of emails specific knowledge But also if you're just a product engineer and you care about the work that you do we're here for that too Mm-hmm Working in the world. Yes. Oh, no remote. No all remote. We don't have an office. We don't plan to have an office

Super small team 45 people most of them that have like engineer on the job title. Um Maybe 30 or 35 of them having junior on the job title. We're very engineering focused and engineering journey Right on Well, as you know, I'm in a uh such a big fan of of you and the work you've done. Um Still to this day use Dracula Still to this day. Uh, I really do like I got my uh, my zed is so awesome because I have the plethora of You know from van housing to alla card, which I don't use too often, but everyone's want to get to the light Uh, but I think it's a mobius is my van housing I believe is the one I use most frequently and mobius Uh, I'm more of a dark mode and then the green mode dark mode too. I should think is or if I recall it's mobius

If you're wrong, yes, it is mobius. Um big fan of that and uh, you know, so you're you're a little dx layers just to light my world every single day, man Like I uh really and I'm thankful for I'm thankful for subtle things like that like subtle things like that that bring developer joy We haven't said the word developer joins along right like now. It's agent experience and agent joy like that man Like I'm still looking at the screen, you know, I still have taste I want to stay hacker to the heart and be in the terminal and not in some sort of like Weird amalgamation of an IDE that's no an agent ID. I don't know an AI. I don't know. There's a lot of things happening out there, but I still appreciate subtle things like color

You know really I do. I appreciate that so for those of you that don't know Uh, and this is buried in the lead here is is that is the creator of the Dracula color framework color palette scheme color scheme. Yeah, yeah Uh, is it Dracula calm do you want? Dracula theme dot com? I've been dragged to get Dracula dot com forever Just like zeno dot com, but those that means they're hard to get man. Yeah, Dracula might be the tough one man

That might be a tough one, but uh, but uh, Dracula theme dot com. You have Dracula pro so yes out there You still purchase Dracula pro, right? Or is it there's it not painting? Yeah, I'm a big fan for all these times Love it. Love what you're doing. Thank you so much for joining me the show and sharing your depth and the world you're in

You can probably go on deeper further longer, etc, but we'll leave it there for now my friend Thank you again so much for joining me. It's big and senior. Thank you, Adam. Thanks so much You know one of my favorite people out there is Zeno rocho. I love the way he thinks I love his energy I love his excitement for everything and yes I'm gonna be at resend forward this week talking to taylor out well in the builder room live on stage if you're gonna be there Come say hello if you haven't heard resend launched inboxes It is one of the coolest features out there if you create inboxes to send email they got you covered I'm building something on it. It's kind of cool. Of course

Thanks to our friends over at fly dot IO for having our back learn more at fly dot IO And of course the beat freak in residence breakmaster cylinder bring those beats. Let's see if this shows done. We'll see you next one

Frequently asked questions

How long is this episode of The Changelog: Software Development, Open Source?

This episode is 2 hours and 0 minutes long.

When was this The Changelog: Software Development, Open Source episode published?

This episode was published on October 22, 2026.

Is there a transcript available for this episode?

Yes, a full transcript is available for this episode. You can read the complete transcript on the episode page.

Can I download this The Changelog: Software Development, Open Source episode?

Yes. Use the download control on the episode player to save the publisher-provided media file.