Dry Run: Episode 7
Presented by: Craig Dennis, Sunil Pai
Originally aired on Today @ 12:00 PM - 12:30 PM EDT
Welcome to Dry Run. A live open mic for featured devs where we dive into what they are thinking about and what they're cooking.
Today's guests:
- Sunil Pai, Principal Systems Engineer
Hosted by: Craig Dennis, Developer Educator, AI
Follow Cloudflare Developers on socials at:
- X - @CloudflareDev
- Bluesky - @Cloudflare-Dev.Bsky.Social
Learn how to Build with Cloudflare at: developers.cloudflare.com
English
Transcript (Beta)
It's a lucky number. Seven's a lucky number. It's summer. Happy summer. We've both been traveling.
Welcome back, by the way. Where'd you go? You've been all over the place.
I did India for like a little over a month. I was in Scotland for a week.
I've just been all over the place. Where did you go? Where were you? I did Vietnam.
So I took the family to Vietnam. We hung out there. So awesome. Such an awesome country.
I'd never been before. I had incredible food. I was loving your Twitter feed, man, full of food.
Every time you're sharing food there. I think that from that, I gather that you are a pickle guy.
You like things that are pickled.
I do like pickles. And I think I was also compensating because the last time I was in India was Jan of last year.
So it's a year and a half since I've been home.
I was like, I'm not interested in going to the fucking Bangalore KFC. I really wanted to just like lean into like home food, South Indian food, things I'm just not going to eat for another year, year and a half.
So lots of pickles, lots of regional specialties.
I spent like two weeks in Manipal. I even got the hoodie. So Manipal Academy hoodie.
I ate a lot. I feel really good about that. And I got recipe books to come back and continue cooking.
So I'm going to be doing a bunch of that too.
I'm like super jealous too, because you met a bunch of teammates there that we don't normally get to chat with too, right?
Where'd you head there? So we officially hard launched the Cloudflare India engineering office in Bangalore.
And what's particularly special about it is that they are ETI India.
So for folks who don't know, ETI is emerging technology and innovation, which was originally started in Austin.
And that's where workers was born. So it's the place where it's the R&D department of Cloudflare, right?
Like that's kind of what separates Cloudflare workers, et cetera, from your run of the mill infrastructure stuff.
It's very big swing.
What can we do differently? What can we invent? So we now- It runs like a startup with some money.
I mean, everyone who I talked to, they don't believe it that ETI is, I think a grand total of 160 people, which is not that many people.
That's roughly a series A company.
But now we have an ETI India office that has their own charter.
So even though, of course, like anything else, they collaborate with other people in Cloudflare, they are going to do work on big swing projects on their own, which is just like, don't get me wrong.
I love my life where I am right now, but if I was in India, that's the office I would make a beeline to.
I'd be banging on their door to give me a job.
I'm like, yeah, this is probably the place to do it.
So I hung out with those people. So what's happening is people from across Cloudflare are going and spending a week, two weeks with them.
So last week, Dane, our CTO was also there.
Also, Dane became CTO since the last time we did one of these dry run.
That's true. Congrats, Dane. So the head of ETI became the CTO of Cloudflare.
Would be remiss if I didn't thank JGC for all his time. So our ex-CTO is John Graham-Cumming.
My absolute favorite fact about JGC, other than the fact that he's a Cloudflare CTO, is he's almost single-handedly responsible for making the British government apologize for their treatment of Alan Turing.
So if you go to Bletchley Park in the UK, Alan Turing, of course, father of computing, defeated the Nazis, all of that.
If you go to the Bletchley Park Museum in the UK, there's a plaque there that thanks John Graham-Cumming for making it happen.
It's awesome.
Oh, wow. So JGC, of course, brought the company to where it is, and now Dane Connect is a CTO of the company.
And by the way, do you know of this concept called nominative determinism, which is if you name something, it'll become that thing.
Our CTO's name is Dane Connect. I mean, it's kind of written in his surname that he'll end up becoming the CTO of a cloud infrastructure company.
I like that.
No. So anyway, Dane was there last week. A bunch of people have been going over, and they're working on some very, very exciting projects.
I can't wait for the rest of the world to find out.
And it was nice. There was an office that I could go to, people I could hang with, wonderful team.
It was sweaty and hot. It's been a while since I was in India during an actual monsoon.
So for people who need to understand, there's rainy seasons, there's what you call fall, and then there's monsoon in India.
You haven't seen heavy rain until you've been in India in the monsoon.
It's heavy by weight, but it's also warm rain. It was extremely pleasurable.
I stood out in the rain a lot. So yeah, I did that. You saw my entire thread of what I was calling a chewable objects.
Of course, that's the hashtag that I was using for the whole thing.
But that was good. You went with the family to Vietnam.
That must have been a bit of a rush. From what I understand, you're super jet lagged as well, still a little bit.
Yeah, man. We left Sunday, this past Sunday at midnight.
And we landed at home on Saturday at 10am. And the kids slept on the plane.
And so it was a whole day in the middle there, just gone.
And it totally messes with like, who am I? Where am I? Yeah, that's going to be a struggle for a few more days, buddy.
I'm sorry. We did it real nice. We stayed we stayed on the beach and we ate lots of lots of incredible food, man.
There's like so much.
I feel like I feel like I'd be looking at your thing and looking looking at your at that the hashtag chewable objects.
And then also like exploring food there.
There's just so much food that makes it like, you know, like, if I go to a Vietnamese restaurant here, and I'm going to get a bowl of pho, or I'm going to get maybe I'm going to get some rolls.
Oh, the spring rolls, right? I mean, sure. Maybe upon me.
So that's like top three, right. But that's what I'm choosing from. But now, if it's all the time, and you go there, and there's there's just all this food that you haven't had.
Do you know what a bon siau is? Xeo. It's B-A-N-H-X-E -O.
And of course, my pronunciation is bad. So it's a pancake where it's got shrimp and beef in it.
So it's like this flattened pancake, and then they bring out rice paper, you put in the rice paper, you put this thing, you basically make like a crunchwrap supreme, and you dip it in this incredibly fresh vegetables, dude.
Unbelievable.
And I'm so mad that I've waited my whole life to it's on the menu. I'm sure I'm sure if I go to the menu, it's there.
I'm just like choosing those top three items.
But now, like just getting to go and explore and let the kids explore that too.
Like the kids are so so excited. They're like, Oh, now we know all this.
That's super good. You know how there are kids, teenagers who go spend a summer in Europe, and they come back with a French accent.
So your version of that is that you know, Vietnamese picky, like, Oh, like, that's not how we did it in the islands, you know?
Yeah, exactly. I like it.
That's super awesome. And dude, while we were out, while we were out on these on these trips, there's so much stuff.
Actually, in fact, I think you said you're looking forward to sharing what the Indian team launched.
I think they launched something at least private beta, because I got it.
That's yeah. Yeah. So you got to play with that a little bit more than I did, because you were hanging out hanging out there.
So I want to explain why real time kit is a big deal. Okay, so first of all, what does Cloudflare's audio video infrastructure look like?
So we've had Cloudflare call stream. I don't think people understand how cool it is.
So there is a protocol called WebRTC. In fact, the app we are using right now Riverside, it uses WebRTC.
We are in a browser, I haven't downloaded anything.
It's a web standard for doing audio video, peer to peer calls. Sure. One of the problems with peer to peer systems, of course, is the n by n problem, right?
Like, it's fine if it's one is to one, maybe if there are five or six people, it's fine.
But what happens when there are 10,000 people on a call? So if you have that combinatorial explosion of connections, you're screwed.
It doesn't scale, it just fundamentally, like the physics don't matter.
The Cloudflare solution for this is that the Cloudflare network becomes something called a superpeer, where all the connections go up and like come down as like one stream.
And it scales, it's Cloudflare.
So it just scales really well. So you can build massive real time systems like this, audio, audio video systems like this.
And people have already been using that.
What real time kit does is it finishes this, I say finishes the story, like it's the last 10%.
But really, it's the last 80%, which is, they end up building out the entire rest of the layer that you need to build the application.
In a very similar way to you know, how we talk on and on about the agents SDK, but really, it's durable objects and the Cloudflare network that powers it.
But there is so much value in building out those layers. So real time kit is the, bro, here are the libraries you need.
Here's how there's a dashboard that lets you manage keys.
See real time stats of sessions that are going on. Hell, here are React components to build your app, which by the way, so good.
It's all the way down from a little audio indicator that you can see in the bottom right here that shows a little waveform, all the way to Hey, just stitch these together and build your own zoom, you can build your own zoom, like, and so and it's already private data.
Sorry. I think I think that there's a there's a there's a piece there that I'm super excited about, because you know, when we get in the hands of devs here what they build with it.
And this text been around, right? Like you're talking web RTC, it's been around, but it's not easy to access.
It's not it's it's challenging.
And like you talked about the finding the right way to make it scale.
But I feel like there's like all these creative things that we haven't done yet.
Like we we haven't we developers have not built the thing that is going to be so cool for this.
You know, I'm really I'm really excited for that. I'm really excited to see given given components like component ties the way that we're building it.
What does it mean? What does it mean if we're all live together working together on something or playing together and something, you know, I'm excited to see what happens.
We were talking about what enabling does. Okay, so if there is technology that's not accessible to regular people, it's not like 1000 people will try very hard and eventually get to the finish line.
It's that 999 people will give up because they're like, this is not worth my time.
And making technology accessible like this as literal like as an NPM install, like it's literally NPM install real time kit, if I understand right, RT kit, no real time kit.
That increases the shots on goal that you can actually make.
And there's now another magical technology into which if you feed a bunch of docs and examples, will spit out whatever your heart desires.
And we call those coding agents, of course. Yeah. So this combination of we took planetary technology and made it so accessible, so that your dumb $20 a month cursor agent can take it and spit out an app in like five minutes.
Yeah, it's a big deal. And by the way, this is like, this is their first ship.
This is the India teams like first ship. Yep. Okay. That's, that's right.
So there are a couple of things. One, of course, build your own zoom. As you can imagine, because I was there, we started exploring work on what AI voice agents might look like.
And eventually we write agents might look like. And there's work happening in that space.
I don't know if I'm supposed to say this in public. Sure, it's fine.
Everybody's doing it. So are we. Of course, we did something else in the voice agent space, which we'll talk about in a few minutes.
But yeah, it's, and it's crazy.
What does that look like? So you know what, what, why would somebody want to do that?
Why would somebody want to have real time connectivity to an agent in that in the speaking?
What is that? What is that? Bro, I've been through so many voice operated menus of banks and restaurants that I want to kill myself sometimes.
And it turns out this thing makes it 1000 times better. I think we were right.
I was just talking about this. There's a restaurant chain in the UK called the Ivy that finally is using LLM voice agents, and it's night and day using these things.
We've seen a lot of desire from non tech companies to start exposing voice interfaces.
The big one I've seen is actually e commerce. e commerce is the truest definition of like converting desire into revenue, right?
And the thing that is always I don't want to say hard, but e commerce is still stuck in a input box and filters on the left side.
When really people who don't give a shit about that just say, Hey, Diwali is coming up.
I have a budget of about 5000 rupees. I want to buy clothes for my grandson.
He's four years old. What you got? It turns out voice agents, etc.
And that's just the simplest use case I can think of. I can think of like so many more.
Wanting to build stuff like that is finally possible. It's not a sci fi thing anymore.
You can build it today if you want it. So yeah, quite exciting.
Yeah, yeah, yeah. So putting putting putting the voice and again about enabling right like like instead of putting a chatbot on your on your little corner of your website that has all those menus and things just straight up talking to it no matter where that is whatever that whatever that medium is, I totally that's so cool.
And it's where we're headed, right? Like I feel like there's these abstractions, the web itself is kind of an abstraction of like what you're trying to do, like, right?
You might want to do this. So I'm gonna put this menu bar up here.
And I think I'm going to categorize it this way. But now it's just like, just tell me what you want to do.
I'll figure it out. You know, we're getting to that point.
Yeah, love it. Love it. And and that we're walking towards that and and building towards that as well.
And speaking of building the big announcement, the big announcement also this happened while I was out.
I think you were I think you were actually in Scotland when that happened.
I'm not sure. Contain the containers announcement.
I've been I've been wrapping my head around this. Well, for months now, ever since we had the private beta announcement for developer week, right?
That's when we announced. Yeah. Of course, internally, we have had access.
And I've been grasping with the implications of it. And the big one that comes to me is people think about it as almost an alternative to workers, or any other web serving infrastructure.
And that's the wrong mental model. Like, you should just stop thinking about it like that.
People think about it as something for running background jobs, like, hey, every night run a process that slurps down a database.
And I don't know does analysis useful for that. And you should use it for that.
But I think it's like a little more than that. If you will humor my little blather for a bit.
Okay, so I think about this. Let's go back to the ecommerce example.
Okay. If all your users were robots that you could trust, then the ideal UI for ecommerce is I would just expose the database to the Internet.
I'll say connect to it with a SQL client, write SQL queries, and do whatever you want.
The entire inventory is on the database, right?
Why not? Why do I have to bother? Like, it's perfect.
You have access to all data, entire inventory. You can write a little query that adds something into your cart, make another query to the Stripe database, you know, like send your money across.
The problem with that is that your users are not perfect robots.
They're smelly little human beings. And not only do you need to protect yourself from them, sometimes you need to protect them from themselves.
Which is why you build user interfaces, which are very narrow rails driven experience to do the thing you want.
And you put little forms and you put buttons and input boxes and all of that.
But that is the other extreme of exposing your database, right?
You will not be able to have every feature that every user wants.
What you want to do is have the best set of features that you design well, et cetera, et cetera.
But there's no such perfect thing. And like I said, my aunt still bumps into the, bro, I don't know what to do here.
Can you show me how to use this app?
I want a voice agent. So not only do LLMs bring us closer to the middle, but as a capability, it means that you can spin up a box of compute that screw it generates a perfect UI for the user at that point of time, just for the query that you asked.
Oh, that's interesting. A generative, a generative UI for that user.
For that you effectively need eval, which is to say you want to be able to generate code live at that point of time, both for on the backend side and the front end side.
And it could be ephemeral. This whole idea of disposable applications starts coming.
Hell, it might be ephemeral. It might be something you save and you bring up later if you want to.
That's what I think about the implications of containers.
We built a product on top of it called Sandbox, which is in user space right now, but like we are graduating it to do like other fun things, which tries to build out the 90% story for use cases like this.
LLMs can generate code just in time code, not even like, sure.
A lot of people use containers, et cetera, for LLMs, for coding agents, for GitHub repos, right?
They're like, Hey, take this issue, solve it at sender PR.
But I'm more interested in the live application of these things in production, like spinning up Right.
And we're seeing it's wild.
Like that. I mean, some of the, you know, I'm, I'm, I'm writing a course right now.
And some of the things of like, that we used to have to teach in the past of like, I want the app to do this.
Like I can explain that in the app can get built.
And like what you're saying is inside of this, I could be using an application and say, I want this part of the app to exist that doesn't exist.
And it just goes and builds it. Maybe you rate it and you say, yes or no. And then you have like a, here's this thing.
Oh man, that's a cool idea. I like that.
Is that next week or what? Sure.
Next week. We have so much time. I have nothing else on my plate right now. I keep thinking about this, like my mental model for durable objects has always been a one agent for every human being on the planet.
And now I think about one sandbox for every user on the planet.
Oh yeah. We are also, okay. The PR has already landed. So this isn't a secret.
One of the big problems, not problems. One of the considerations with Cloudflare Workers is that we don't have live eval inside a worker itself.
You can't generate code and run it inside a worker. And people have tried workarounds for that for a while.
We just landed a PR that screw it. You can actually eval a worker from a string of code during runtime.
And it starts behaving completely like a worker.
And it's not just a little code. It's a full worker into which you can have bindings, outbound fetch can be monitored.
We call it dynamic isolate loading.
So if you look in the you'll find it. It'll land in Wrangler this week, next week.
I don't know. And we're going to start figuring out the UX DX for how that might work.
And again, I think about it in the same way. It's not an alternative to containers.
You can imagine a full stack application with a sandbox that generates stuff, a worker that generates stuff and a generated UI.
So we are now in this age where very safely and in Cloudflare fashion, you'll be able to generate all of these on demand for regular users.
There's something that's happening there.
Yeah. And that's interesting because I feel like the expectations are changing.
I don't know if you're getting that vibe of like, you know, like back in the day, somebody would come up to you and be like, I've got this great idea.
I have no idea to build this thing. And now you could just be like, no, sit down and build the thing.
So that expectation is going to make its way where users are like, I expect to be able to build this thing.
Well, what happens when you, what does that do?
What does that do if you can make this, what's the main, so the people who are doing those workarounds, those hacks in the past, what are they trying to build?
What are they, what's the, what's the... I think, so there are a bunch of terms that I'm blanking on right now, but the big theme is apps that build themselves, which is always kind of what you want.
So for example, as a use case, and I say this use case, because I used to work in a bank, a common thing that every trader wanted was a widget system.
And these widgets would be graphs or little marquees with news, et cetera.
And the reason for that is that every trader has these 12 monitors, 12, six monitors, and they want to set it up in such a way that they feel like they're looking into the matrix.
And every trader's, this thing is unique because they have different things, different clients, different areas they're looking at.
Some people do it on the phone, like it's, every user wants to customize their thing in a particular way.
And you end up building this bespoke widget system with layouts and this, and you have a whole team of people who build these things out for you.
And you have to discuss whether you're doing it with iframes or web components or God knows what flavor of the day.
Nope. The actual solution, the thing that we've been working around all this while is, hey, I want to actually build the application that I want.
I get it. I don't want to go all the way down and worry about the actual JavaScript that's being generated, but I'm pretty good at expressing my desire, especially people like a trader who's like, no, I can draw it out for you.
Can I just give me like a TL draw or Xcalit draw?
Let me draw exactly what I want taken. And don't tell me you're going to take three months to build this out for me.
And now you'll be like, no, we will take the drawing and feed it in.
Oh, by the way, every model now has vision capabilities, right?
Yeah. I'm literally going to feed it into the LLM and ask it to spit out your dashboard in the next six minutes.
And applications that kind of like build themselves on a per user basis, powered by the planetary network of all the things we have.
It's a sci-fi time to be alive. It's weird. Yeah. Yeah.
That's super exciting. And it's super exciting to see what people do end up building with that.
And because you have the control, right, you're still in control of what goes there to get evolved.
And you can also check it ahead of time, right?
Because you can run that stuff. That's really neat, man. I'm excited. The big thing that we're working on internally is how do you do this safely?
Like, not just in terms of abusive users.
And that's actually not the big concern. The thing is, aligned artificial intelligence is still not a thing.
How do you prevent runaway behavior from the AI?
Which is why we have controls like controlling outgoing fetch.
You can say the only calls you're allowed are not just these three domains, but these patterns, these URLs.
You are allowed these four URLs. If you want more URLs, get a sign off from your manager.
I think that's just it. I have to keep reminding myself that Cloudflare in its DNA is a security company, and we give a shit about these things.
Because a lot of things would collapse if we didn't. It's not eval, eval, but it's a very powerful version of it.
That's what I think. That's how I've been thinking about it.
Like I said, I do read a lot of sci-fi. And by the way, that's the other thing I think, by the way.
I think not enough technologists read science fiction.
I don't know, go read some Asimov, N.K. Jemisin.
I just read Project Hail Mary. Fantastic book. The trailer for the movie just came out, starring Ryan Gosling.
Even the trailer is amazing. People don't read enough science fiction to inspire them to see what they could do.
Anyway, that's what I'm thinking.
I think it's a fantastic new addition. It unlocks a new capability, and things you just weren't possible before.
And this goes back to the same thing.
It's not like you couldn't do something like this if you spent a shit ton of time.
But enough people wouldn't, simply because it was that hard. And now we're saying, no, it's a JavaScript API you can call.
Yeah. Enable, right? Enabling.
It's awesome. Back to the science fiction thing. I've been reading The Diamond Age by Neil Stephenson.
Did you read that? I've not read Diamond Age, no.
It's kind of wild. There's a book, and it's a primer. It's like this book that has all of the information.
It's basically like if LLMs existed. But dude wrote it in the 90s, and the tech that he's explaining exists.
And it didn't. I was fact -checking.
I was like, wait a second, dude's talking about Alexa. And I went and checked.
It didn't exist. That didn't exist. That didn't exist. And you're totally right.
It causes people to dream and have this idea of what's happening. It opens up that space.
And if there was ever a time to be dreaming, it's now, right? Yeah, absolutely.
You can just come up with ideas, and you can go build them, and it works.
And to the containers thing, I've been blocked on some stuff. I had this idea when I was in London.
I was trying to figure out where certain locations were.
And we were watching a video, and like, oh, but where is that? Where's that guy talking about that?
And I was like, man, it'd be so cool if I could just feed a video to this thing and generate me a map of all the places where they went.
And people would love that for movies. And it turns out that with FFmpeg, you can take a section of a video, take some text, and figure out from that section where that picture is taken, right?
Kind of take a guess at where it's at.
That's where we've gotten that good. And LLMs know latitude and longitude, which I also learned playing around with this.
So you can say, where is this picture taken?
Where is it? And now we can build this map, right? But I couldn't do it in the worker because it was too big.
And so I was like, oh, man. But now with containers, I can.
I can run that process. I can run FFmpeg in a container. I take the stuff, and we have all the stuff to talk, right?
We can put stuff back into R2.
You put in the queues. Anywhere you want to go, play in the container, and then push stuff back into workers when you need it.
And I've been enjoying that thought process of like, I can't do this in workers, but I could probably do it over here in a container and then just go play in that container.
So not only can you run FFmpeg in workers now, huge deal, but FFmpeg itself has 6,000 flags that I could never learn, and you can use an LLM to say, just do it for me.
I like it. Dude, 100%.
I mean, I'm like, and the thing about containers, you know, when this thing came out, I was like, oh, man, I don't know Docker.
Like, I skipped the Docker thing, right?
I was like a Twilio dev before, and now I'm over here. Oh, we should talk a little bit about that as well.
We got a little bit of time left. So I never played in the Docker space.
I'm like, I don't know this stuff. Well, guess what?
Guess who does? Cloud Coat. It knows how to build a Docker container. It knows the problems that I might see as it spins up, and it just does it.
And so like, that is really cool when you experience that in this new world.
And it makes me really excited for people who are just getting started.
People who are going to build this stuff, and they're like, oh, I don't know how that works.
Like, well, here's this, and you can ask it to explain you how it works.
It's really, really cool. Really quick, because I know we're trying and dry run to make these about 30 minutes, and I'm going to go just a little bit over, because I want to talk a little bit about you enabled something.
You were talking about agents that can speak that you got to.
You're going over half an hour for sure. It's fine. Jason is letting you know.
So OpenAI released their agents SDK. We wrote a blog post about this, by the way.
Kate did. Kate joined the agents team just, I want to say three, four weeks ago. She's kicking ass, by the way.
I'm so glad that finally the agents team has more people.
So did Naresh. Oh, yeah. By the way, the agents team is actually growing. Which is nice.
One second. I'm just going to try checking my connection. It seems to be complete.
Oh, okay.
I'm back. I like the OpenAI agents SDK, because the first thing is that it's platform agnostic.
It runs in Cloudflare Workers. I sent a few PRs to make sure that that works.
Thanks, Dominic, for accepting them. But one of their demos was fun, because they now have a Twilio adapter.
Twilio, if you know, is a telephony service, very popular across the world.
And that's when the idea struck me.
Bro, I think we can now make a phone call to an agent. And that led me down a rabbit hole, and I'm happy to say that that's now possible.
We actually have the example in the agents repo.
Literally, we have an OpenAI folder. And I set up Twilio.
Thanks for your help on that, by the way. Long story short, the server side part of it is about 10 lines of code to connect Twilio to an agent.
And we can synchronize the state of everything that's happening, which is why we have realtime transcripts with a UI that literally, I think, Codex spat out for me.
And you can now make phone calls to agents. And that's kind of like, now being in the back of my head, we're like, oh, shit, we just unlocked a new capability.
I think I've spoken to you about this before. We have always wanted addressable agents, which means not only should you be able to go to it on a website, but you should be able to make a phone call to it.
Coming this week, by the way, you will be able to send emails to agents.
This has been in the running for a while.
And again, Kate came in and she was like, oh, I'll just solve this. And she already has a PR up.
So now we're thinking, what else can we do? Of course, you want to start sending text messages to it.
Can I send mail to it? Can I write a postcard and can it reach the agent?
There is an API, man. I'm sure there's a service that does pigeons.
I want to see if I can send pigeon mail to my agent. Can I dial into it on my radio?
Because I'm a fuddy -duddy and I actually have a radio. There are other things that I would very much like to connect to my agent with.
When you say that, let's talk a little bit about what that means.
When you say connect to your agent, because it has state.
It's this living thing that has state. It has storage.
It has dynamic state that if you want to go and sync to whoever is connected to it.
That's also cool. It turns out that was one line of code with the agent's SDK, which is, so you say open AI agent.onHistory, Cloudflare agent .setStateHistory.
The moment you, I swear, I'm not joking. You can literally go and see.
It's one line of code that I added to that example. Then we have real-time transcription.
You can close your browser, go away, come back, and it's still working in the background.
Bro, it's so nice to use. I was just like, cool, this works. That's just it.
I spend more time just fixing PRs and Dominic's code where I'm like, oh, you need this to make it work in Cloudflare Workers.
But the actual demo example, I was done in 10 minutes.
I was like, okay, let's go. **BEN HORTON. So cool.
Yeah, I really love, I've been playing around with it. I love they have the handoffs.
You set up multiple agents and they talk to each other. If they have state, you can bring those back together, bring those back to life.
They don't out of the box have state, but the really nice pairing is our framework has that ability to have state and have multiple of these agents running and have that history go.
It's super cool.
**JASON LENGSTORF. I think the bet we made that Cloudflare agent is like an execution container was the right bet.
Because now you can take a framework like OpenAI agents that comes with the logic for multi-agent, handoffs, guardrails, tracing.
I don't know if you know this, the OpenAI agents SDK is also provider and model agnostic.
You can connect it to Cloud, bro.
**BEN HORTON. Oh, wow. **JASON LENGSTORF. You can connect it to anything that, and you can fake.
And if you need an OpenAI compatible API to connect to these providers, Cloudflare AI gateway gives it to you.
So it turns out to be like a magical pairing of doing this thing, except for one problem and it's pissing me off.
So when you import agent from Cloudflare from agents library and you import agent from OpenAI SDK, they clash in the code and you have to rename one of them.
And I'm just like, oh, it's super annoying. Well, we were here first.
I'm just saying like we were here first. **BEN HORTON. You do npm install agents in fairness.
**JASON LENGSTORF. That's what I'm saying. Like we have it.
But it's been cool. OpenAI agents SDK has been a lot of fun. So the voice, not just the voice agents, but all the other things because OpenAI's models come with inbuilt web search APIs, which is really fun.
It comes with file traversals, like you can upload files and then use that to do a bunch of things on it.
It's been really nice using it.
I suspect, at least for my own things, I suspect I'll be using a lot of it going forward.
Unless some other model company wants to be nice and build something and talk to us and we'll do some integration with them as well.
I don't mind. **BEN HORTON. Always listening. **JASON LENGSTORF. Yeah. So that's been good.
**BEN HORTON. Cool, man. Awesome. Well, what do you think? Should we, we're going to go seven minutes after.
Should we call this a wrap? Should we wrap this?
**JASON LENGSTORF. Some other things I wanted to mention. **BEN HORTON. Okay. **JASON LENGSTORF.
I've been telling you that I've been buying CDs. **BEN HORTON. Yeah.
**JASON LENGSTORF. Well, I need to do a full count, but right now I'm at about 250 plus.
I got three new CDs today. I wanted to show it off because I work from home and you people are my real friends, apparently.
So I got Best of Frank Sinatra.
That's one. I got the Styx Collection. Great band. Love it. And one of my favorite albums from a while ago, Brian Adams, Waking Up the Neighbors.
Again, great, great album.
He's Canadian. I don't know how you feel about that, but I do like him.
**BEN HORTON. What's the Styx hit? I feel like I should know what the Styx, the big Styx hit is.
Did they do Mr. Roboto? Is that them? **JASON LENGSTORF.
No. Oh, yeah, they did do Mr. Roboto, but the big one is Come Sail Away. **BEN HORTON.
Oh, right, right. Yeah, yeah, yeah. **JASON LENGSTORF. And by the way, those are the only two songs I know, so it'll be fun to discover the others.
**BEN HORTON.
Yeah, yeah, right. The greatest, and Mr. Roboto is a great time. I feel like we should play with that, make little Styx agents, making Mr.
Roboto. **JASON LENGSTORF.
There must be some copyright stuff. Oh, Mr. Roboto is a good one.
Yeah, that's right. There's clearly an agent story there. What a way to end the podcast.
Huh, okay. We planned that all along, folks. We discussed this beforehand.
**BEN HORTON. So the next time we will debut Mr. Roboto, who builds evolutionary UI for you as you talk to Mr.
Roboto, because you have to address him with respect, right?
Because that's what this is all about. It's about addressing agents with respect.
**JASON LENGSTORF. Well, he's in college. He might be Dr. Roboto soon.
We don't know. **BEN HORTON. That's true. We don't know what happened to him after his days.
**JASON LENGSTORF. After his band, music band days. As usual, this was fun.
Craig, thanks. Yeah, man. Let's do that. Let's do this again. And let us know in the comments what you would like to see more of as we go.
And we'll continue to build.
Next time, we're going to show some demos. We always want to show demos.
We're going to show some demos next time. So we'll bring them. We're bringing them next time.
And we will see you next time. Thanks for hanging out on Dry Run. Bye, everybody.