Builder Day Live Stream
This is and isn't your typical "developer week" stream. Yes, we'll be announcing new products and demo'ing all the things. But there will be no black turtlenecks. Building is fun and we're gonna have some - by interacting with our developer community, giving away some merch, playing a few games, and showing off what our devs are building. Join us!
Follow @CloudflareDev and https://discord.gg/cloudflaredev
Transcript (Beta)
Welcome to Cloudflare TV.
Hello there. Welcome to the Builder Day livestream. We are so excited to have you here with us.
We've been waiting for this day. I know you have too. I can't wait to get started.
This is going to be very interactive. This is going to be very interactive.
I want you to join the chat with us. It's on Discord. If you look up at the top here, we have discord .Cloudflare.com.
Go hang out there. Please come hang out there with us.
This is going to be very important. It's interactive. We want to hear what you're doing, what you're building and all that sort of thing.
There's an engineer AMA. There's going to be engineers there. Everybody that you want to hear about.
The channel is called Builder Day. One of the reasons why you want to be in there is we have some merch.
Some unique merch. We have a Cloudflare backpack.
Check that thing out. We've got a Cloudflare backpack. You know you want a Cloudflare Stanley Cup.
You know you want this. Get in there. Get in the Discord.
Let's get started. I want to ask a question. Where are you all coming in from?
We've got people in there already. Tennessee. We've got... That's Rita.
Rita Kozloff from San Francisco. Is Rita here? Is Rita here? Rita? Rita, are you here?
Rita? You are here! Oh my God. Dude, hi! Let's hug. I didn't know you were in town.
Here I am. Wow. Can you host this thing with me? I have no idea what I'm doing.
I would love to. I would love to. Can we get those slides updated? Great.
Thanks. That's me. Rita, why don't you introduce yourself? Hello everyone. I'm Rita.
I'm VP of product at Cloudflare. And I lead product for our developer platform.
And I'm Craig Dennis, a developer educator here where I educate developers.
Let's get started. Let's do this. Alright. It is birthday week. This is my first birthday week.
Cloudflare has done this 14 times. What's this all about? You've had a lot of these birthday weeks.
How long have you been here? So I've been here for 8 years.
So this is my 8th birthday week. Oh my gosh. 8 years. Wow. So 14.
14. So you know what Cloudflare is all about, right? Our mission is to help build a better Internet.
And birthday week is exactly about that. So it's our time to, some people like to receive presents on their birthday.
But we like to give presents on our birthday, right?
And so it's our time to give back to the web. And we make these huge announcements around that.
So I'll give you a really great example.
One of the first birthday weeks we announced free SSL for everyone. Which overnight just massively increased the percentage of encrypted traffic on the web.
So this is the type of stuff that you can expect from us. Awesome. Awesome. Helping build a better Internet.
Helping build a better Internet. That's awesome. That's awesome.
So we're here today to talk about the developer platform. The developer platform today turned 7.
Because at a previous birthday week it got started.
How did we get started on that? What launched on that birthday? So we started out with Cloudflare Workers.
So Cloudflare Workers actually turned 7 today, which is really exciting.
Congrats. Starting first grade. Happy birthday first grade.
We got a first grader. What were people building back then? So this is, you were there.
You were there because 8 years, 7, 8, I got it. It was in this very office.
Yeah, in this very office when it launched. Awesome. On birthday week. So what was going on?
What was going on with Workers? Why did we build Workers? So we built Workers originally.
We were growing and the more customers we had, the more people needed to customize the way that things worked, right?
So customers would come to me and be like, Hey Rita, I want to be able to add a header on this request.
I want to cache this asset, but only if there's a cookie present or only if the request is coming from this country.
And so rather than us doing some magic behind the scenes every time, we wanted developers to be able to customize this thing to the ability of all of their dreams.
And so we launched Cloudflare Workers.
And accordingly, some of the first Workers that we saw were around these use cases of adding headers, caching things, looking at cookies, all that kind of stuff.
Right. And it was super fast. And it was super fast. Yeah. How come it's so fast?
So here's the trick. We're a platform that makes websites faster, right?
So we couldn't afford to slow down, which is why we didn't choose to build on something like containers, which would have a cold start.
And so we took the model of running the V8 engine and isolates.
Same exact technology that you have in the browser.
And we started running that on our network. And so you have both this thing that's super tiny, and so it's able to start up so, so fast.
But also it's so close to the user that every time that you interact with it, it feels so instantaneous.
It does. And people love that. And they continued to build with that, right?
Right, over the years, right? Exactly. Well, and that was the whole inspiration for it.
We need to build a whole platform that when you build on it, every single interaction feels that way, right?
And so that's why we've introduced all of these products over the years that we want them to all have that exact same feeling and magic.
Right. So that was Workers' first birthday. What came next?
So we started with Workers, which was obviously a pretty humble beginning, but we were really ambitious.
We wanted to give developers the full platform.
And so the next thing that we introduced was KV, because, you know, you have compute.
What comes next? You need to store stuff. You need to store stuff, right?
So you have storage. Then we started adding products like Pages to make the whole thing flow a lot better.
Smooth out those experiences. So Pages helps you host static sites, and we'll get into some of that functionality and what's new there today as well, right?
And then you also need other types of storage, right? So that's where we introduced products like R2 to give you that S3 compatible object storage.
You need to be able to connect that to data as it's incoming and handle those massive volumes, right?
So that's where you need a product like Queues. And then eventually you kind of get into things like you need orchestration and workflows.
You need a database. So we introduced D1. And today, really, really proud of how just full of a platform we have.
Great segue, Rita. Check out this full stack on Clapboard.
Look at how gorgeous that looks. I love these new reference architectures that are out there, but look at this.
She is stunning. I think the thing that's really beautiful about it, right, is the way that it all comes together, right, and the way that all of these things really piece.
So it's not just about the compute that you have.
You still want things like DDoS protection, SSL, WAF, all of those basics that are in front, right?
You can easily connect to your storage of choice, be able to store media contents, right?
But then it becomes all about the developer experience and the observability.
So that's where things like LogPush, and again, stay tuned.
We have some exciting announcements there.
And Rita, like you were saying, we have the outside of Cloudflare.
A lot of developers know Cloudflare. They come into Cloudflare because of the outside, the SSL that we were talking about, all that security and safety.
That has also been growing, right? That also has seven years on top of the developer platform, and the way that they integrate together is beautiful.
I love how we work together with that, how everything that you launch, we launch these things, like we were saying, we launch those little toy apps, and now you have all of that safety and security.
Fourteen years. Fourteen years. Let's do it.
So we have this whole full-stack platform. Earlier I asked you what was your first worker.
How many people, who's using the most here? So you know like when you go to the wedding and you're like who's been married the longest?
Who's using the most?
Tell me who's using the most of this stack. Right now I would love to hear it in the chat.
Thanks. All right. Rita, this is big. There are a lot of developers using this.
Do you know how many developers are using this? I do know how many.
Do you want me to tell you? Please, please tell me. All right, are you ready?
I'm ready. There are 2.4 million developers. 2.4 million developers. Rita, I think we need to say that bigger.
Okay. Ready? Yeah. 2.4 million developers. 2.4 million developers.
That is a lot of developers. That's a big number. That's what we're supposed to be doing at this.
It's actually more than that now. Really? Yeah.
Don't tell anybody? Don't tell anybody. All right. Okay. There are some more bigger numbers, right?
Because we talked earlier about this being free. There's a lot of stuff, a lot of big numbers that I'm about to drop.
Are you as a voice ready for this?
I'm so ready. Okay. Let's do this. The workers free plan.
Zero dollars. Zero dollars. That's not a big number to drop. No, that's actually the smallest.
The smallest. Yeah, I guess there's negative numbers. But yeah, we're not going to drop that number.
But we're going to drop zero. Workers does 100,000 requests a day.
So I can build this app for free when I don't want to go get my credit card.
That's right. A day. A day. 100,000 requests. So you build your little project, right?
Which is exciting because you check out the docs.
You start building, which is the whole purpose of this being free, right? But then what's the next thing you do?
You blog about it. You post about it on Hacker News.
It takes off. You don't have to worry that on your big day all that traffic is going to drop because you forgot to put down a credit card, right?
Right.
Or even worse, you have put down a credit card on some other platform. And then you've seen the tweets.
You're like, oh no, look at my bill. That's so amazing. And that's not the only thing that's free.
There's other free stuff. Look at this one.
R2. 10 gigabytes a month for free. I think that's uploads. Yep. Okay. So I can upload 10 gigs to R2.
That's so many cat pictures. There's so many cats. That's all of the cats.
I think I can fit all the cats in 10 gigs. I mean, as a cat owner, I don't know.
I have more than that. Let's keep going.
A gig of storage space in Workers' KV. 100,000 reads a month. That's incredible.
That is incredible. This isn't even a number. This is limitless.
We've got free admin sites. Look at that. So we try to make every single product that we offer to developers free to, again, really smooth out that initial experience, that first time to dopamine of I just want to build something, I'm feeling inspired, and I want to get going.
Yeah, absolutely. And I am so excited for what we're about to announce right now because there are more things coming on to the free product.
And this one gets me because I build with this one a lot.
Anybody want to take a guess at what's coming? What is it? If you said vectorize, it's right.
I love that. Our vector database. Free. Free. You know what's next?
What's next? Tell me. Images. Images. All your cats can go up. We have a free tier of images coming up, which helps you optimize and create different versions.
You can zoom in on the cute little cat face. Amazing. Yeah, you can resize.
You can do all sorts of stuff. So that's super exciting. The face gravity thing that we launched at developer week.
Is insane. So cool. You can, like, zoom in on the thing.
Let's do it. All right. So we're getting to the announcement section. So I love this part.
I love this part. Here we go. So we made some enhancements on developer experience, on the user experience, and a lot on AI.
This is the first time we just said AI.
I was about to say. Wow. If we're making one of those clip videos of every time you say AI, it's got one clip in it.
You know what? We should do it.
Let's do it. Let's take this Stanley Cup. Okay. Every time we say AI, it's like a swear jar.
Every time we say AI, we're going to drop it in the Stanley Cup.
I mean, I think for all of the preamble that you just gave, I need to throw, like, five or six in there.
I didn't say AI. Let's do one. We'll start with one.
We'll do one. Keep us honest. Keep us honest, chat. Every time you see us not drop a Lego in there, I want you to in chat say, ka-tink, or something like that.
Whatever that noise was to you in onomatopoeia, let's do that. All right. So let's take a look at some of the developer experience because, oh, my gosh, I have been waiting for this.
I have been waiting for these. I haven't been sleeping. I'm so excited.
All right. Actually, I heard that you have a favorite game. I do. What is that favorite game?
So every single morning, grab my cup of coffee, I sit down, and I start with connections.
I heard that, and I said, you know what? We could probably build something on workers that makes little connections out for you.
So let's do that.
You have no idea how many of my favorite things that combine. Let's do it.
All right. So you haven't seen this. So, like, here we go. Here is your game.
Did you play today? I have not. So this is your first connections game. Yes.
Yes. And I've got my coffee. So let's do this. All right. So wait. Can we explain?
Not everybody has played this amazing game. Can you explain the love of the game to the chat there?
Yes. Okay. So over here we have a whole bunch of words, right?
And what you have to do is you categorize them into groups of four. So there's four categories in total, and you match them, you know, either by things that start with the same letter or by any other vibe.
Okay. What do you see, Rita? What do I see?
Okay. We have... So it makes the game fun, right?
Okay. Talk out loud. Talk out loud. All right. All right.
Let's... Okay. Let's see. What have we got here? Okay. So we have vectorized.
Okay. Right? Do you want to click it? Oh, let's click it. Let's click it.
That won GA this week, right? We have a turn server. Ooh. That also won GA. Oh, nice.
Okay. We have cues. Okay. I see what you're doing. Okay. And ooh, what's one more that won GA?
Gradual rollouts. Gradual rollouts went GA. I think you did it.
So what happens now is we submit it, and it gives us a category, and you did it.
Okay. So things that went GA. So cues is going GA. Cues is going GA. Or went GA. Cues is GA.
It's GA. Cues GA. Vectorized is GA, which is amazing. And it's so much faster now, by the way.
Oh, my gosh. And it supports way, way larger vector databases, right?
So we support up to 5 million indexes. 5 million. Yes, yes. So huge.
Huge. Free. And now you know that it is production ready. That's right. Because it is out of GA.
Or it is GA. Out of beta. All right. And we got turn server. Turn server is part of the calls thing there.
Yeah. So if you're building any real-time communications apps, right, anything with voice, you need a server to be able to coordinate these client to peer-to-peer connections, really, right?
And so we have a turn server.
It's a part of our call service, and it went GA this week. Awesome.
Yes. And gradual rollouts. And gradual rollouts. You know, it's actually something that you need in order to be able to go GA, right?
Exactly. For yourself, as a builder.
For yourself, as a builder. We use it, too, right? Yeah. So when we roll out new features, new products, we want to be able to do it over time because, you know, we might find that there are some errors, and we want to be able to roll back.
As much as it's nice to have this giant network, you don't want to go full blast every single time.
Right. Right. Awesome. Awesome. Okay. Nailed it. You nailed that one.
That was difficulty one. Okay. They get harder. Okay. They get harder.
All right. I'll have another sip of my coffee. All right. Automatic speech recognition.
That sounds to me very much like an AI thing that AI would do, right? Ooh.
Wow. Okay. This is going to be hard to get through. Okay. We have image to text, right?
Okay. So that's another type of, not going to say it, generation. We have text to image.
Nice. Okay. And translation, maybe? Oh, translation. Yep. Nailed it.
All right. You are good at this. All right. Awesome. Difficulty three.
Straight to difficulty three. Boom. All right. Awesome. So those are different task types that we have.
There's even more than those. I just only had four to put in the category.
Yep. All right. Now you get down to this part. This part, when you're playing, this is hard, right?
This is the part. Yeah. Yeah. This is where it gets dicey.
Yeah. All right. So what happened here? What do you see? Okay. Let's see. Let's see.
Okay. We have assets. Okay. So that feels to me like something that has to do with static site hosting, right?
Right. And very pages type capability. We have preview URLs.
Okay. We have git builds. What is that? What is that? So that's the ability to run CICD, right?
So whenever you're deploying a site or even if you're deploying a worker, actually, the way that you built this app, I'm assuming, is you have your code stored somewhere, right, in GitHub.
And every time you run that git commit, you want it to run you another preview version, right?
So all of these combined, that's exactly what they do.
Now, okay. We don't have another.
So it's not static hosting because we don't have another thing relating to that.
But maybe logs because these are all developer experience things. These are actually, you got, I think this might be four.
Okay. These are all things that this app, this actual app, which we'll take a look at, is built on because I can do this in workers now.
Wow. You were talking about like pages stuff. This is in workers.
This is in workers. In workers. This is huge for me, for me specifically.
And for me also, personally. People have been asking for this forever. I know.
And we talked about pages and workers convergence, right? Because so many people, when they start on their journey, they're wondering, you know, do I use pages?
Do I use workers? And it's a silly question for us to put in front of our users, right?
So I'm really excited that we're bringing all of these features to workers.
And I can tell you, building with it, building this demo, it felt so good.
Now, this is weird. But it wasn't the hardest one. Oh, it wasn't. It took me a little bit.
It wasn't the hardest one. Oh, you know why I think that this one is the hardest?
Because I went a little bit outside of the normal developer platform, didn't I?
You did. Yeah. So that's kind of, you get to this part. You play in connections.
You have four left, obviously. It's the category. I like to play.
What do you think this category is? Okay. Well, obviously, there are things to do with announcements that happen this week, right?
Three. See, this is where one of them is not like the others.
Okay. So maybe there are things that became available for free.
Yeah! You did it. You are so good at this. So let's do it. Let's choose it.
And a well-earned ta-da icon. Nailed it. Let's go. Did that feel good? That felt so good.
Happy birthday week. Happy birthday week. All right. So let's take a look at this code.
Show me the code. Show me the code. All right. Now I'm going to put my glasses on.
It's time for glasses. All right. So, yeah. So, again, the categories, I just kind of mapped them out here.
We had an API. But what was really cool about this, this is a Hono app.
I just wanted to let everybody know that it's a Hono app.
Shout out. Shout out, Hono. Love Hono. And that's what's giving me this App Git sort of stuff.
So just have a really quick push in the categories out.
What I really wanted to show off were those features, right? So these features that are in here in this category, we've got assets, Git builds, logs, and preview roles.
Let's just show all of those and how that felt to do it. So it's a little underwhelming.
Because all I'm going to do is change some configuration stuff, which is what I know that we love.
You could do assets and workers.
This is going to be called assets. I'm using a cutting-edge branch because I know people.
He's got a guy. I got a guy. Exactly. I have a directory. I have a directory called public.
And I just dropped these files in here. And Rita, can I tell you a secret about this?
I was very excited about the new AI model that came out from OpenAI 01 Preview.
And I said, in English, can you build me a connections game?
Because my coworker Rita loves connections and I need to make this game. Can you help me build it?
It did it in one prompt. Wow. It understood the rule. It did all that reasoning and all that stuff.
But what it did is it generated me raw index HTML.
It gave me raw script.js and raw styles. Not in any framework. Right. I could have asked for it to be in a framework.
But then I was like, wait a second.
I have this worker. I could just drop those files into this public and it's hosted, right?
So this index HTML, that's the connections page, right? So that was the page.
It built all this stuff. I don't want to take any credit for it. Take the credit.
Okay. So they built it. Me and my assistants built that. And then I was able to just do that and build the app around it.
I built the API that pushed those in there.
The script is hitting things. The next thing that happened, this is super cool.
So this logs in Dash. Logs in Dash. Let's take a look at it. Okay. Let's see it.
All right. So I've got my workers. I have the observability true in my Wrangler, which gave me what?
Do you see what it gave me? Check that out. So I'm going to come in here.
Whoa. I know, right? Whoa. This is what I used to tail my worker.
And it's like, I can do it. But like, yeah. Yeah. I can look and I can see the attempts that were made.
I did a console log. And I can look in here and I can see every time that this got done, right?
So there's this path here. I can come in here and I can do this filter.
And I can say, show me all the times when that filter happened.
I don't need to do that log anymore. So now I'm looking at when it came in and I can see the values that you chose on the category that's going.
So imagine I launched this connections game.
I can just go dive into my logs. Not like, oh, let me go figure out how to.
And it's right here. That's amazing. Yeah. Well, and then if you misconfigure something, right?
Or if you, for whatever reason, people are complaining to you like, oh, I'm submitting a category and it's not working.
You're like, okay, let me go figure out exactly what's happening. Yeah. Dive into the logs the way that I do.
Exactly. But with console logs. Well, and the amazing thing, too, is you don't have to already be logging it, right?
So that's the thing with live logs is you have to have it pulled up and then you see it pre -populate.
But the nice thing here is it has all of the historical attempts, right? So if someone tried this four hours ago and complained to you, you can actually find them trying to do this, right?
So cool. So cool. This is so good. And it's going to save developers so much time.
And this is in the free tier. This is in the free tier.
Amazing. So amazing. Yeah, and I can see the logs. Nobody's playing it yet because I haven't released it.
Should I release this? Should I let people play it?
Let's do it. Let's let people play it. I'll push this out. We'll put the code out there and look for it in the chat.
All right. So I'm going to show you something really, really cool.
Are you ready? Yeah. Okay. So you're going to go to settings. And, okay, so this is a worker.
It's a worker. But we can now, we're building stuff, right?
We are, yeah. We're building stuff. So you're going to take that and you're going to connect it.
I'm going to connect. To your Git provider. Oh, my gosh.
I do this with pages. I do this with pages, but I can do this in the worker? That's right.
Rita! All right. So here we go. And then I'm going to connect it. Yep. Wait, so now it's connected.
Now what? Okay. So now you're going to go into deployments, right?
And every single time that you deploy going forward, it's going to run that build for you and it's all going to show up in here.
I don't even need to run deploy.
I don't need to do Wrangler deploy. Don't need to do Wrangler deploy, nothing.
Oh, my gosh. And it's watching, I saw it was watching my main branch.
So only what's on the main branch. No. Okay. So just like pages, right? If you make deployments on any of your other branches, it's going to create new preview deployments.
So you can see the whole thing, how it's going to be running before you merge.
Oh, my gosh. I love it because then I can test it. I can stress test. Oh, this is wonderful.
I can catch all your typos. Yeah, exactly. Thank you for doing that, by the way.
The developer experience on that was awesome. That felt so good to be able to do.
And now I know about CICD. But Rita, we didn't just make things better for the developers.
We also made it better for the users, right? So we sped some stuff up.
Our user experience got a lot faster. Yep, we have more numbers. More numbers.
Not ones that you can yell, but more numbers. So what do we got going on?
So we got three times KV. That's fast. That's super fast. It was already fast. We made it so much faster.
Actually, really hard engineering work that goes into that. But the crazy thing, too, is that means that pages also got three times faster.
Right, because pages is built on top of KV.
Pages is built on top of KV. Oh, my gosh.
That is awesome. And then? Okay, so hardest problem in computer science. Exactly.
How do you invalidate cache? How do you invalidate cache? So we made our purging nine times faster.
And one of the sleeper hits, I think, of the week is that we also made all these purging options.
So you can purge by tag, purge by host name, all of that available to all plans.
Whereas previously it was only available to Enterprise.
So, again, love giving back on our birthday. That is so cool. And, oh, my gosh, things are already fast because of that.
And now I can clear it out when I need it to.
Fastest cache purge in the world. In the world? In the world. Wow. Awesome.
This one is a math joke. I hope that this landed because zero times faster.
But if you times anything by zero, what does it do? Zero? It's zero, right? So there's zero latency in the SQLite durable objects because there's now SQLite inside the durable objects I've been building with this.
Oh, my gosh. It is so wild what it does to my brain because I'm like, you shouldn't be able to do this.
This shouldn't work.
And it works. We'll have to get deeper into it. Yeah. Let's do that in a bit.
But before we get there, there's a big announcement that is so fun. Let me guess.
Making things faster. Making things faster. Yes. So Speedbrain came out, which is this wild technology where it speculates.
You're looking at a web page and it knows what you're going to do through the magic of machine learning and AI on the back end.
And we do that for you. You're enabled, right? Yep. Yep. Exactly.
Or you can go ahead and enable it. But yeah, it'll make your pages load that much faster because before your browser goes there and we collaborated with Chrome on this, we can take a guess at what you're going to load next.
And so it just feels boom.
And docs are running on it, right? Docs are running on it. Yeah.
So you can go ahead. You can play around with the docs. If you're nerdy like me, you can open up the developer tools and see all the speculation calls that are happening in there.
It's very, very cool. Okay. So before you were telling me something about 0 times 0 equals 0 and Drupal objects and SQLite.
We put a pin in it.
We're coming back to it. So tell me about it. Yes. I cannot wait to show you this.
Have you ever played one of those games? I built this thing. I built this. Have you played one of those games where there's a cookie and you click the cookie?
Have I played those games?
I'm so good at those games. How good? Like real good. Okay.
So Drupal objects is super fast. So I felt comfortable enough to just build one of those, scalable across the world, in, in, on workers.
Okay. Yeah. I had a hard time getting that out.
So let me flip to the code. Let me show you this code. Okay.
Before we show the code, why don't we play it? Let's see how good you actually are.
Okay. Okay. All right. So I have the app here. So let me show you the app in action first.
So I am going to log in to a game called Clicky Walk. Okay. Okay.
And I'm going to join the game. And I'm going to come in.
I'm going to just start clicking. Okay. That's good, right?
I'm clicking. You can see that it's coming in by country. That's something great that we can do with that.
And then there's also. USA number one. USA is number one.
And you'll notice that my team is to be determined. That's because I need more people on my team.
And, Pat, can you join? Yeah. Can you join? So if you go to shorty.dev.
So I'm going to be your team member. Okay. You're going to. Yeah. So people are going to automatically come in.
So shorty without the O. Because you've got to shorten.
Right? URL shortener built on Cloudflare. Shorty.dev slash clicky. Slash clicky.
Got it. Okay. Okay. So now go ahead and log in. And you'll log in. You're going to join my team.
Okay. Because the way that this works, you don't get to pick your team.
And when I was building this, I was thinking, you know what?
We're not going to be able. We're not going to be able to have people come up with team names.
So I had AI do that for us. I was going to say TBD is a great team name.
But. Awesome. So did you join? I did. Okay. Can you click? Okay. I will say I don't have a mouse.
So just setting expectations. Okay. All right. So you got one click.
Yes. So good. Okay. So hey, producer Peter, are you here? Here. Can you start clicking for me too?
Let's get in here. PD clicks to join me. Oh, PD clicks.
All right. So PD clicks. Should I start clicking? Oh, look at this. Look at that.
It went right away. Block party trio from the good old US of A. Okay. So we've been named by AI has named us.
And now there's also a leaderboard.
You'll see that we're team one of one. Okay. Kind of boring.
But we should probably open this up to the chat. Because Rita, I feel comfortable that everybody here, no matter how many people are watching right now, this is going to support it.
Oh, absolutely. Absolutely. There's not a problem at all.
Yeah. And you saw how fast that was. That was fast. So fast. And I was using WebSockets on the back end there.
Because durable objects are awesome like that.
So do you want to see the code? Okay. Show me the code. Okay. Magic words. The magic words.
All right. So I'm going to start off. We're going to hide these for a little bit just so that you see.
Okay. I've got three durable objects. So this I'm familiar with.
You're defining the class that extends durable object. We have a game.
We have a team. Great. We have a team. And I also have an aggregator.
Because I want to build that leaderboard on the back. And I want to do that.
This is getting hard. I'm going to do the AI call on the other end of it. Yeah.
Okay. So I'm going to – you joined. This is what you did. You came and you joined.
I'm using Hono. Shout out, Hono. One more time. And I'm pulling the country off.
Right? Because I know what country you're coming from based on your IP address.
Which is awesome. I'm going to get the ID. I'm going to get a hold of the aggregator.
And I'm getting these stubs. Have you played with this yet? The RPC stuff?
This came out a while ago. Oh, my gosh. So good. It is so mind-blowing. Because it feels like I shouldn't be able to do this.
I shouldn't be able to just talk to these objects that are out there.
That's how I feel using Drupal objects every time.
This should be illegal. Yeah, exactly. Exactly. So I'm saying add player to available team.
And I get the username. And I make sure that there's a safe username.
If there were two Ritas playing. There's only one Rita, as we know. Obviously.
But if there were two, it would have said Rita of second. Like whatever. It would have been safe there.
And then what happens is I set some cookies. And then I give you a play.
Because remember, the Drupal objects are going to scale out. So for each one, we can have multiple games going on at once.
And we can also have multiple.
There are going to be multiple teams for each game. So I have a parent-child relationship there.
Which when you start thinking about parent-child relationships, you start thinking about SQL.
Yep. Yep. Want to be able to join those.
Yeah, yeah. Want to be able to. And you feel like, oh, no. I need to start building a database.
What is this going to feel like? How do I do this? So I'm using all of the Drupal objects.
There's no other database going on. So I'm getting a WebSocket connection here.
And I'm going to just go ahead and return that back to the client.
So that's how we're getting the updates from everybody. There's a leaderboard.
Again, I just grab the thing. And then I call these functions on it. So the leaderboard is a function that is on there.
And I'm just returning it back. And that feels magical.
That's insane. That feels magical. That's all the code that we needed to do.
And then up in here, now we're going to show what's new. Yep. I'm ready.
When you do this, it doesn't, again, you already said, it feels like it's illegal.
I feel like I shouldn't be able to do this. So I can now have, on the storage object, I have SQL.
Yep. And this runs. So when I create this, I'm just running SQL inside of a Drupal object.
Okay. And that table exists inside this Drupal object.
And what's wild about it, again, to the zero times zero, it's right there.
Yep. It's immediate. Like, this is all just SQL that you're able to execute, all in the Drupal object.
In the Drupal object. This is not, do you want, wow. Yeah, it's like right in there.
And what's really strange is that I'm not even awaiting.
It's like straight on hitting, right? It's just going, like, right away because it's so fast.
Because it is its own, it's its own instance of SQLite, which is.
That's so crazy. It took me a while playing with this as we get going. So you can do all sorts of fun stuff, right?
So you get a cursor back. And the cursor, I'm just going to get out the first record.
All sorts of, I'm going to put, insert into the teams.
And notice, again, I'm not awaiting. I'm just going right away.
And it felt fast because it didn't have to go anywhere because there's zero latency.
So you start thinking about, oh, this is like an array. Like normally in Drupal objects, I would have this array.
And I'd have to go do all this filtering and stuff.
And oftentimes when I'm doing that, I wish I could do this declaratively.
But I don't have to do it declaratively anymore. I just use SQL the way that I know how to use SQL already.
And it is so fast. So, again, I'm using the team stub.
I created a stub. I'm setting the names. This is fun. This code is available when we go out so we can look at this a little bit deeper.
But what I want to get to is this full team.
So the renaming of the full teams. So I'm going to select star from the teams.
And, again, I'm in the game. I'm in the game object here where the name is TBD, 2B Tournament.
And full equals 1. So I've got that there. So I'm going to run through.
I'm going to grab the team, get the player info. And this is all.
The team also, spoiler alert, also has SQL. And it's abstracted. The SQL, just like you would normally abstract SQL, it's inside that object, which is really fun.
So I am going to use this. You have to let me. And then we run the AI. Oh!
I'm using this again. You're a team name generator. I don't want you to have to generate teams.
You should be clicking. I just want you focusing on clicking and winning.
And it creates a fun team name based on the makeup of the team. Try to keep it PG-13.
Ensure that we incorporate the names and locations. And return only the team name, of course.
Be very specific with that. And then I pass in the information that I got from the team.
Yep. And I'm interested in, as an owner of this application, I'm interested in what is my AI generating.
So I ran it through AI Gateway.
The new AI Gateway features. And what's really cool now is you can adjust your prompt.
So if you're seeing kind of funny names, you can change those over time and be able to observe all of that.
Right? Yeah, absolutely. And also, the evals thing that came out today.
That is so cool. And I can say, that's a good one, that's a bad one.
And later I can use that for training data and say, don't do this. Yep.
Right? So cool. I am so excited for that to launch. I am super confident that that SQL in the durable object is going to run fast enough.
So I just want to unleash chat to that.
Let's go. Let's do this. So if you wanted to type this on your computer, shorty.dev.
That's the URL shortener. Skip the O. Skip the O, exactly.
Skip the O because shorty. Because you don't want to make it too long.
Shorty dev. And it's clicky. We're going to click on that. And I'm going to generate that QR code.
So everybody, if you want to scan with your phone. Rita was saying that it might be a little bit harder on your phone to win.
So you can scan that QR code.
Or just go to shorty .dev if you want to click on your mouse. And I see you trying to use the JavaScript console to click that button.
I see you. So chat, when you join, make sure that you use your Discord username.
Because there is a prize available.
You are going to get one of these limited edition. I don't even have one of these, Rita.
Do you have one? I don't have one. They don't give them to us.
Cloudflare. Well, maybe you could win the clicky game. You seem to have a lot of confidence about that.
I don't think there's anything in there about Cloudflare employees not winning.
It's on, guys. So beat Rita. Win this. Win this backpack. And we'll get in contact with you.
Can't wait to see what you click. Rita. So that's clicky block.
Okay. I got to use one of my favorite tools while I was building in there.
And you know what it is. And it is time, I believe, to take this away.
Because we are about ready. I'm so ready. We are about ready to have the cup over Phyllis.
Producer Peter went and made a Spotify wrapped. Because it's Workers AI's first birthday.
We launched this on birthday week last year. Stop. I'm going to cry.
Baby Workers AI is so grown up. I know. And look at this pun. What an inference the year makes.
Beautiful. All right. So Spotify wrapped. So the first page that we have is we launched with a handful of models.
Like five to ten. Five to ten models that we launched with.
But now we have 50 open models. We have all these different text generation.
People are building awesome stuff. What people are building is so crazy.
And, yeah, these are just the use cases. Right? So behind that there's so many more models that are available now.
And just injecting it into applications that we never even thought about.
Yep. With like literally a couple lines of code.
Sorry. I just get so excited talking about this. It is so fun. So a lot of models.
Spotify wrapped. Spotify wrapped. We have to know what was the most played.
Right? Yep. So, chat, what do you think the most played model was in 2024?
I have a guess. What do you think? Is it Llama? It is Llama. Which one, though?
Let's be specific. Ooh, okay. 3.1. 3.1. That's right. Yes. But guess what?
Who's going to take the lead right now? You know what we launched yesterday? 3.2.
3.2 is out. I am so excited for that model. We have a partnership with Meta, so we always get them.
Launch day, we were out. All right. So when we first started, right, we started with eight GPU locations.
Now we have over 180 all over sprinkled around region.
You don't even think about it. You make the inference call.
It's as close to the user as possible. Amazing. 180 GPUs, but it's not just that.
For this birthday, we've got a pretty special announcement. Okay. So the GPUs are getting bigger and better.
Which means that models are going to get also faster and bigger.
Right. So user experience, they're going to feel that. That speed up is going to be huge, feel bigger, faster applications.
Yep. And we shared a bunch of benchmarks in our blog post.
So, you know, don't just take our word for it.
We really measured the heck out of these to make sure that we're top notch.
We have another big number coming up, part of our AI tools. It's about AI Gateway.
Do you know that number? I do know that number. Two billion requests. Dude!
We did it! We proxied over two billion requests through the gateway. And it's already climbing.
Amazing. I'm so excited. But why is it so fun to use? So I think what's really important about this that I want everybody to know about.
Our models are awesome, but we also show everybody's model.
So you can track on here and you can see how much you're using the other places.
You just change the URL and you get that.
And you get to see how much it might be costing and that sort of stuff.
So that means that people need this. People need to see that. And you can switch and do fallbacks.
It's super powerful. Yeah, and I think just in general when you're deploying with AI, that visibility is so important, right, of both what models you're deploying, but also going back to that clicky example, right?
Just what are the different prompts that you're trying? What are the responses that your users are getting?
And so can I get us into the next announcement that happened today?
Yeah, please. We have logs available now as a part of AI Gateway 2 that you can go.
You can take a look at them. You can give them feedback. You can thumbs up, thumbs down.
Lots of really great tools. Amazing. All right, so big day for AI.
We have workers AI, more powerful, faster than ever. We have all these new features in AI Gateway, vectorizes GA.
But you know what I would really love right now?
To hear from a customer. That is a great idea, Rita. You know who we have here?
Tell me. Matt Worth from Liquid Metal AI. What those guys are building is so cool.
I can't wait to share. Can't wait to see it. Oh my gosh. I am so excited to have you with us today.
I love what Liquid Metal is doing. Welcome, Matt.
Thank you for being here. Thank you for having me, Craig. Before I get started, I'm just going to pay the piper up front.
We're going to be talking a lot about AI.
Yeah, no, that's great. That is awesome. Yeah, great. So let's talk about it.
Let's do it. Show me what this is all about. All right. Here at Liquid Metal, we are a brand new startup.
Started in June of this year. And what we are really focused on today is we're going to be talking about our state-of-the-art RAG architecture.
That's Retrieval Augmented Generation. Right, right. This is what we think a state-of-the-art architecture in RAG should look like.
That is amazing. Obviously, a lot more complex than what we just talked about.
There's a lot of moving parts, lots of pieces to manage, a lot of data.
Yeah. So to build this, we built it on top of Cloudflare.
Wow. So using Cloudflare, we're using Cloudflare Workers for our compute.
We're using pipes with Cloudflare queues. We have a durable object or two running in our cognitive architecture for state management and things like that.
We have about 17 LLM calls throughout the stack. Most of those are going to Cloudflare Workers AI.
The rest of them are running through the gateway.
And then we have a lot of data storage. I said RAG is really powered by its data.
So we have our data lake in R2. We have D1 for our SQL and metadata and tabular data.
We have Vectorize for our VectorDB. We have Dgraph, which is our graph database for entity relationship mappings.
And finally, Typesense for just your kind of rough and tumble text space.
Awesome. And sorry, Chad. I think you just lost.
They are using all of the things that we offer. Oh, I should also throw in Cloudflare Pages.
Can we use that for our front end? It's all there. Wow. So I'm going to quick walk through the architecture.
On the far left, we have our ingests.
And it kind of feeds into this data here on the right side, our data corpus.
Everything flows through text and then the relationship mappings and then is written out.
Then we have to use that. So we have our cognitive architecture here on the right side.
We have our data corpus there that we just fed with the indexing data on the bottom.
Data flows into what we call the retriever here. The query does.
And then the query gets kind of two LLMs called at the same time. One of them is kind of simplifying and expanding on the user's question in case they weren't, you know, feeling super talkative.
And the hallucination function actually dreams up an answer.
And normally that's something you want to fight against in LLM architecture.
But in this case, we actually use it to cast a wider net. So we're looking not just for the questions but also the answers.
Ah, nice. That's clever.
Yeah. And then in the pull function, we're basically just pulling everything out of our data corpus and returning that into a ranking function which returns just the choicest bits of data into our RAG.
Nice. We also have a user feedback loop right here where the user can basically rate.
It can say like, hey, I got a great answer.
I got a terrible answer. And we can use that to improve our ranking functions moving forward.
We have that light board. You've seen the light board?
I would love to get you drawing that. Will you come do that? I absolutely would do that.
Awesome. Yeah. All right. Finally, we have the cognitive architecture.
This is the part that the user touches. User talks to a cognitive agent.
Cognitive agent goes into our working memory. We have this decision procedure here which is basically a large language model that can call functions.
It can call other large language models.
It can recurse. It can do all sorts of different functions.
And through that process, it can reach back into our retriever where our data is indexed.
Wow. You guys are having fun. Yeah. It's been a ride.
So, we took this whole architecture and we trained it on Cloudflare's documentation.
Hope that's okay. Please. And we created a chat client that we call Edgy.
Edgy. Yes. Okay. I see what you did there. I see what you did. This is Edgy. It's a very basic UI.
Obviously, it's not just a chat bot. You can interface with it at the API level.
Okay. But for the purposes of the demo today, we're just going to ask it a question that would make a normal rag fall completely flat.
Okay. It's a complex question, multifaceted.
Basically, the question is, what is a Cloudflare durable object and how can I use it in a Cloudflare worker?
Oh. So, I'm going to go ahead and run that.
Yeah. And immediately, it's going to respond and just say, hey, I'm working on it.
This isn't a canned response. This is coming right from a very interactive LLM that's just kind of sitting there talking to the user.
Gotcha. It can reach back and ask the user follow-up questions if it needs to.
Nice. And after a few seconds, we're going to have a whole bunch of things pop up here.
I'm just going to do a quick guide. Whoa. We got code. Oh, yeah. So, first of all, it's going to answer the question directly, right?
Sometimes you just want to get to the point.
It tells you exactly what a durable object is and how to use it with a Cloudflare worker.
Awesome. But then the cognitive architecture evaluated that response and decided this needs code with it.
So, it generated code here on our right side, kind of giving us… It generated the UI.
Yep.
It generated the code. And once it generated the code, it then did a third function where it decided that it should probably walk you through what the code does and how to use it yourself in your own code base.
Yeah. Beautiful. That's really cool.
Thank you. Can I use that? Yeah, yeah. Actually, I'll get to that. You can.
Okay. So, we built this and we ran into some day two challenges. There's a lot of data moving around, data governance, data legacy, lineage, all that kind of metadata that's flowing through the pipeline is hard to manage.
And we want it to be versioned with the code and with the code base, as well as with all the resources that are deployed in Cloudflare.
Because there's, as you can imagine, a lot going on behind the scenes.
So, we built a new product called Raindrop Build.
It's built on top of Cloudflare. It's a liquid metal solution. And it uses declarative configuration for build, deploy, and destroy.
It also versions and manage all of those resources and the data they create together.
Wow. Sitting on top of the API that's public to everybody.
Yeah. Awesome. Exactly right. So cool. So, if any of that sounded cool to you guys, if you want to follow up with us, get more information about liquid metal, the professional services that we offer, the products that we're building, please reach out to us at this QR code link.
And thank you very much.
Awesome. And happy birthday to Cloudflare. Thank you. That was awesome.
All right. I love seeing builders build. And what I love the most is seeing startups build.
Because they're building on Cloudflare. And I have a super special guest.
I have Melissa, the head of startups, here. Melissa, come on in. Hey, Craig.
Hey, how's it going? Good. How are you? I'm doing so good. Happy birthday to you.
Happy birthday. Let's talk a little bit about startups. Tell me, what does Cloudflare for Startups mean?
Well, the Cloudflare for Startups program enables founders, developers, and builders to get access to our developer tools, our security features, and all of our speed and performance features.
Everything. Everything.
Everything. Everything. I think that you have a very special announcement that happened.
Tell chat. Tell chat what you're about ready to announce.
All right. Well, excitingly, you can now get up to $250,000 in credits to use with the startup program.
Oh, my gosh. That is huge. Huge. It really is. It really is.
It really is. Yes, so we wanted to make it easy and obvious for founders to build on us.
It should be the clear choice with this volume of credits. It makes it easy to get going, start building, scaling, and grow.
Absolutely. Melissa, I think you need to tell chat how they can apply for this.
Absolutely. You can use the link below to apply for up to $250,000 in credits.
And don't we have a special program?
We do. So in addition to the Cloudflare for Startups program, there is a Workers Launchpad program as well.
Okay. What's that about? Well, folks can apply to Cohort 5 now.
And this program, in addition to the $250,000 in credits that you can use across all of Cloudflare products, you can get small group access to our product managers.
The product managers that are building the products that you're building on top of.
Yes, so all the products that you just talked about today, you can get access to those product managers and share, this is what I'm building, this is what's working, this is what isn't.
Oh my gosh. It's amazing. That's how we get the great feedback too.
Exactly. It's a win-win. Founders and developers get help on how to customize and optimize what they're building on Cloudflare, and we get to learn from our customers.
Amazing. It's great. And then there's also, we bring in some C-suite executives from Cloudflare, other leaders like Rita.
And we also have other founders come in because who better to learn from than your cohort on sales and marketing, go-to-market, product market fit, and fundraising.
Wow, that sounds like an amazing program. Absolutely. How do you sign up?
You can sign up for Cohort 5 here. And excitingly, tomorrow we're announcing Cohort 4.
And we're very fortunate today to bring in a special guest from Cohort 4 to talk about what they're building on Cloudflare.
Does that mean you're kicking me out?
Yes. Oh, okay. Awkward. Welcome, Brendan. Thank you. Thank you.
I'm super happy to be here. Awesome. Uh-oh.
Sorry, I'm kicking you out too. Hi, Rita. Hey, Brendan. How's it going? Good, good.
How about you? Good, good. It's so good to finally meet you. Yeah, I know. It's good to meet in person.
Yeah. Excited to show you kind of what we've been building.
Would love to talk about how we use Cloudflare. And more importantly, really excited to be part of this next cohort.
We're really excited to have you as a part of it.
It's always, it's my favorite part of the job, honestly, to see exactly what people are building.
So, let's get into it. Awesome. Let me show you.
So, yeah, this is Outerbase. Okay. So, what does Outerbase do? Outerbase is the interface for your database.
Let me show you here. So, we can come up here and we can actually click on and we can create a new base.
And we recently added support for Cloudflare.
So, we actually sit right on top of the Cloudflare D1 databases. What's awesome is you don't have to actually bring in your credentials.
We OAuth in and it pulls all your databases in for you automatically.
Let me select the demo here.
And I go and I can connect to this database. And you can change the name if you want.
We'll just do the birthday demo. I put together a small demo for today's birthday event.
And what we just recently released is the idea to do generative building on top of your database.
So, you can actually create, let's see, entire endpoints on top of it.
So, I can say, can you create me a blogging layer on top of my database?
Let's be a little bit more explicit, though, because it sometimes gets run out and we're doing a live demo.
I don't want to mess it up.
Authors and posts. Yeah, yeah. So, what it's going to do, it's going to spin this up.
And so, you'll see you get tables and commands. And what commands are, they're actually powered by Cloudflare Workers.
Whoa! Yeah. Okay. And so, these are all endpoints on top of your database.
So, we can actually deploy that. And let me show you what happens here.
We get the fun confetti. And then, I'm going to click over here on this commands.
And you can actually see all the endpoints deployed.
So, you get your get, your posts, your deletes. And what's really cool is you actually get UI as well.
So, obviously, all this code is perfect. It looks good, production ready.
Let's save it. Let's ship it, right? Ship it. Ship it.
And then, from there, I'm going to wait for it to save. And then, click here to actually open it up.
What's amazing about Cloudflare is it's super fast and snappy.
So, I open it up, and boom, we have a blog. And it's live just like that. It's live.
It's live. And so, what all happened there behind the scenes? Yeah. So, what happens is it's connected to this table.
So, everything you see right here is actually powered by a table in D1.
Entry in there. So, I can actually show you what's going on in OuterBase.
We'll go back here. Let me open this up. Here's my OuterBase arc.
Still getting used to this. I'll click on tables. I will open up my authors table here.
And from there, you can actually see I'm the only author, I think, in this demo.
Yeah. It's just me. It's just me. I'll sign up too. All right. Thank you.
Thank you. And then we got our posts. We got our two posts for the blog. And so, what it's doing, it's taking these posts.
I'll just kind of show you here. So, it's taking these posts, and it's actually using that to generate the blog.
It's pulling that all in directly from the database.
So, if I want to change it, I can come into OuterBase, edit those posts, update it, make whatever changes I want, and you'd see it live reflected.
Thanks to workers. Wow. That's amazing. As someone who does a lot of blog editing as a part of our announcements, the fact that there's a platform just like this that's built all on us is, like, so, so cool.
And yeah, that live updating is so important, obviously, especially when you have a lot of typos to fix.
Yeah. Yeah. It's great. And what's nice is you can do these micro -generative apps instantly, build out POCs, all on top of real production data, and deploy it.
That's so cool. And so, this is all built on top of D1 and workers for platforms?
Yeah. We're using workers for platforms. And that's really important because this is all user code.
And it needs to be secure, right? We have multi -tenants.
Everybody wants to deploy their own thing. And we don't want any chance of anything leaking.
And so, security was first and foremost. We actually tried building on this ourselves.
We were using WebAssembly. And it was great. But it's a lot to take on for a small startup.
And workers for platforms honestly took all the overhead to get the security out of the box, the speed out of the box.
And it's been great for us.
This looks super cool. It blows my mind that this is all built on top of our developer platform.
Tell us now a bit more about how someone gets started with it.
Yeah. So, you actually go and visit outerbase.com today. I think my co-founder is going to post a link into the Discord.
And then, you can sign up.
The generative stuff is still in beta. We're going to be releasing that soon.
And thanks to the cohort credits, it will be a lot easier to deploy out to everybody.
You said generative stuff without saying AI. So, we don't get to put a logo in the swear jar.
Okay. Good. Good. So, good job. But seriously, this is so, so cool.
Thank you so much for first of all building on our platform. It makes our job way more interesting.
And a platform is really only as exciting as what's built on top of it.
And what's crazy here is you're building a tool for developers on top of a tool building for developers.
So, again, thank you. Thank you so much. And also, thank you for coming here today to tell us all about it.
Yeah. Thank you for inviting me to the birthday.
And thank you for making such a great product. This has been awesome.
And Rita, I think that's a wrap. I think that's a wrap. How much fun was that?
That was so awesome. That was so much fun. And I can't wait to see what everyone builds.
I know. And thank you, chat, for being so live and interactive. That was incredible.
I can't wait to see who wins the clicky block. It's coming up soon.
We're going to announce the winner. Also, make sure that you go to developers .Cloudflare.com.
Still hang out in the Discord. That Discord is so active. Everybody's in there all the time.
Everybody's in there. It makes it so exciting to be able to get all of that feedback live the second that we release features.
I love. I love hanging out there and seeing people, A, being excited about it.
And then also, oh, you guys forgot about this thing. It's like, oh, yeah. Me too.
So, yeah, thank you again to everyone. Huge thank you to all of the engineering product managers.
Just every single person that makes these weeks possible.
It really takes a village to make these come together. So, again, thank you, thank you so much.
And thank you all for tuning in. And we can't wait to see what you build.
Boom. Boom.