Originally aired on August 1 @ 12:00 PM - 12:30 PM EDT
In this episode, host João Tomé is joined by Inanna Malick, Systems Engineer at Cloudflare, to talk about how she built a serverless version of a real-time social app that connects to the ATProto ecosystem — the protocol powering platforms like Bluesky.
Inanna walks us through her blog post and technical journey, showing how she used Cloudflare Workers, Durable Objects, and the free tier of our Developer Platform to deploy an open, identity-owned, cryptographically verified social experience — all without running a server.
They discuss what makes ATProto different, how Statusphere works (the “Hello World” of open social apps), and what might be coming next in the world of decentralized platforms. Plus: how WebSockets and Durable Objects can be combined to create live, real-time updates — all running serverlessly.
Later in the episode, we check in with Keith Adler, Machine Learning Engineer, to hear how Cloudflare is making it easier to explore your data with Python notebooks powered by Marimo.
Mentioned blog posts:
So this isn't just like a silo for just your stuff Everyone who's on the in the atmosphere can see can post their own status emojis all these little applications Interoperate naturally because they all use the same protocol That's kind of the selling point for like 80 proto and stuff And the problem is like I don't really want to run my own server that I keep open to the public Internet That's like hard.
I don't trust my DevOps skills enough to be like fully confident That's a good idea.
And that's where the serverless thing comes in Hello everyone and welcome to This Week in NET.
It's the August the 1st 2095 edition. If you're on vacation, enjoy it.
We are too. This is our last episode before a short summer break We'll be back in late August with something special.
We're preparing here at Cloudflare.
Today I'm joined by Inanna Malick, systems engineer based in San Francisco We'll talk about her recent blog post on how to build a simple version of BlueSky, a social network where users own their data Using Cloudflare's free serverless tools without having to manage servers or something really complex like infrastructure.
As usual I'm João Tomé speaking to you from Cloudflare's Lisbon office library.
Later in the episode We'll go to Austin, Texas to hear from Keith Adler He'll explain how you can explore your Cloudflare data with Python notebooks powered by Marimo It's a tool we partner with to bring a powerful notebook experience to your data.
In the news this week The UK's Online Safety Act enforcement began on July the 25th bringing age checks and new child protection rules Actually, we'll have in a few weeks time an episode about some of these topics related to privacy OpenAI launched a study mode on ChatGPT, a new way to learn with step-by-step help Let's see how that works out.
And if you missed it, check our 100th episode from last week It's in two parts One is my conversation with John William Cumming, Cloudflare board member and former CDO And the other one is a collection of clips from amazing experts on security, AI, Privacy and Internet history.
So stay tuned for that. Now Here's my conversation with Inanna and if you live in the northern hemisphere, have a good summer Hello, Inanna.
How are you?
How are you? I'm good. Where did this podcast find you? so I'm in San Francisco right now or Oakland, but you know the SF Bay Area and Yeah, it's a summer here which means it is a whole variety of temperatures depending on the day I it resonates a bit actually because here in Portugal where I am at it's only hot in this past few days No, no low temperatures even at night so and fires So, oh, so we have that in common.
Wildfires sometimes Yeah, California also has a lot of that as well For those who don't know can you explain to us what you do at Cloudflare?
Absolutely So I'm a rust engineer on the data loss protection team and what we do is associated with the warp tool the VPN so if you're say a Customer and you I don't know you have a bunch of people working at your company who have access to PII, right?
social security numbers FDA like drug test results like whatever right stuff that you quite reasonably don't want to end up on say Paste fin or their personal email account or even accidentally in like in the wrong window, whatever, right?
So we do a lot of streaming parser work and detection So a lot of the time that'll be like, I don't know OCR, right?
Is this a screenshot of a document with social security?
What is OCR got of course acronyms, right optical character recognition?
So this is just like if you have an image, this is like old technology, too It's been iterated on every version of AI machine learning since like probably the 80s so it just pulls out the Text from a document that you have a screenshot an image even like a scan of saying interesting and you wrote this blog post That's the the reason we're having this conversation called serviceless a status for it here walk through building serviceless 80 proto applications on call fairs developer platform for those who don't know really Let's make it break it a bit on What is this blog post about what is ATP?
Proto applications really so that is a whole ton of acronyms and like industry specific terms So let me just break it down from the beginning.
So have you used a blue sky? It's sort of a alternative to um, like micro blogging platforms like like other right and really the Twitter or X Yeah, it's the arrival it's I you know, but um, so the core sort of like point of 80 proto is that it's Not Centralized right so you can make you could make your own blue sky You could make and host your own blue sky and you could port your accounts over to it You can make your own things on top of the same protocol using say your blue sky login as your authentication method And the event stream every post every update every time you like a post Whatever is public so you could subscribe to that I have friends who are working in that space people who have like made some cool stuff And there's like really a lot going on there.
There's like some like funds conferences, etc. And Fingers crossed. I think we might be seeing like Just the beginning of a larger wave of like open social applications.
So that is what 80 proto is It is the underlying protocol that this all runs on and this isn't really going to be a talk about Because that is itself like a large con like a large conversation It's complex But this is just gonna be a talk about how if you're building an app in that ecosystem You might choose to do so on Cloudflare and this started as a personal project It's kind of still is but I was just really curious if it was possible because okay So what is and what is like an 80 proto app?
So you've got your View of this open source ecosystem that's called your app view and you've got like a listener for the event stream and that listener is how you like Stay up to date with what's happening in the whole whole atmosphere is what they call it But 80 proto the atmosphere right the the set of all the 80 proto things There's like micro blogging platforms.
There's different stuff. It's not just blue sky so the problem with that is like fundamentally that you need to be Usually running like a live streaming listener, right and that's kind of hard in a serverless environment so I kind of set myself the challenge of like hey, could I figure out how to do this on like that's our workers and Managed to get something working.
I started talking to some of my friends about that and they were like Hey, we should do a blog post and now we're here makes perfect sense.
Actually Isn't it Greg if I'm wrong, isn't it treads also trying to follow that path of having it open that people can create their own Apps connected to treads in some way.
It's a bit different right with reds. Is that the Instagram thing?
Yeah. Yeah Oh, yeah, so here's the difference right and I don't know anything about threads So this is just gonna be me like hypothesizing at the end of the day Threads is a in some sense is a closed platform, right?
Like a lot of applications like Google GitHub whatever their OAuth providers open authentication again whole conversation not diving into the technical details there But if you've ever seen like a login with Google button login with github, I assume threads is like a login with threads but I don't think if meta was allowing people to Fully port their threads account all their content their identity to a non meta platform like seamlessly I'm very surprised.
I haven't heard of it. I don't think that's the case.
Hmm. I think in their case is more of Open it in a way like you connect you have can be on Macedon for example and See what's happening connect your account from treads Macedon It's like the integration with activity pub I think that's a thing in their case is not like as open as blue sky blue sky is definitely the from the get-go really More open in this situation I'm curious on the output that you were able to do Were you surprised on how easy it is to to build your own app there specifically?
What is the yeah Okay, so the output right status sphere.
This is like sort of the hello world of 80 proto and atmosphere The simplest possible social app you post an emoji one emoji.
This is your status.
Hey, I'm feeling happy emoji I'm feeling rocket ship. I'm feeling you know, whatever, right?
But just because it's that simple it lets you really look at how the different parts fit together and Like any hello world program.
It provides like a sort of entry point to to Building your own larger program.
Um, and so there's like lovely like well -documented status for your implementations and typescript and process right now and those show how to run it on a machine you control like a like a server in the cloud your home desktop, whatever and then you can Post little emojis.
You can log in with your blue sky account and those emojis all go to the global activity feed, right?
So this isn't just like a silo for just your stuff Everyone who's on the in the atmosphere can see can post their own status emojis all these little applications Interoperate naturally because they all use the same protocol That's kind of the selling point for like 80 proto and stuff And the problem is like I don't really want to run my own server that I keep open to the public Internet That's like hard.
I don't trust my DevOps skills enough to be like fully confident That's a good idea.
And that's where the serverless thing comes in.
It's quite interesting to see that it works You you can actually have something connected to a social media app So it's like opening what you did in a personal site in a way, right?
Yeah, and like yeah That's the that's the cool thing right like the second you build something on 80 proto.
You're working in an open protocol, right?
so anyone could Start up their own version.
Like I think there's actually Competing blue sky clients. So like if you wanted to interact with like the world of make sure walking I guess like you can do so even if for some reason like I don't know you distrust blue sky You don't like want to use it.
You you just want to run it yourself, right? There's like alternate I'm pretty sure there's alternate front ends and I'm kind of riffing here because I'm I haven't like I don't have a list of Them in front of me, but I know there's multiple projects working on that Okay, this is the the example of the application right that you created.
Yes And this is really this is like more of an application that I ported over from existing Stuff into a Cloudflare context and not something I made fully myself.
But yeah, you can see like I'm feeling pirate flag today I'm feeling blue heart emoji.
It's Sort of the simplest possible social app that fully integrates through like through the Ecosystem makes sense.
The blog post really goes into detail on how to build others can definitely follow through The the things that you did there and they they can create their own right and it has Highlight the deploy to Cloudflare button to it's like really neat technology like you can just like There's a lot of sort of boilerplate tasks of setting up your own like KV and d1 Namespaces that it just automates for you it makes perfect sense having like a button where you can actually go to your dash and have the Characteristics the the things that you need already in place.
It's quite interesting to see These appear in our blogs and actually if you look at item 3 You can sort of see like a little bit of like proof technical proof of how open Cloudflare You're sorry how open 80 proto is like the protocol?
So specifically the DID record stored on my personal domain and on a dot recursion dot WTF They will just let you buy anything for a domain now a recursion.
I thought it was a TLD So if you you can I think click on that link the 80 proto and you can see just like a public Yeah, you can see at the bottom there right this is my this is my identity right my identity belongs to my own domain so like people can like this eventually there's like a whole chain of technical implementations where the the DID equals DID PLC, etc they're like actually maps to Maps to a personal data server maps to sort of a repo that like owns the data, etc, etc but I like my identity isn't owned but by blue sky in the same way that Your identity is owned by like the underlying provider and a lot of social apps and we can close that now So there's like 20 different ads on that page true Yeah, it's quite interesting to see what you can do There and own your own stuff, right?
Yeah, that's really the core value proposition you own it and it's cryptographically verified, right?
like you have your own signing keys in your personal data repo our PDS like which is your repo and Everything you post is like cryptographically verifiable is coming from you and then if you trace it all the way back It's sort of cryptographically verifiable as coming from the account that's pointed to by your own domain So it leverages DNS which sort of is everywhere at domain names domain names I should really know what this stands for but it's the domain name thing that maps it is the domain name to the specific IP Address and is already a global system of mapping names to records make sense and in a way you you can use it if others other social media apps do the same you can Take your content there.
You're not only your content your characteristics your own person right there, so it's Transportable exactly.
Yeah, that's sort of the 80 proto vision of the future And as someone who's had accounts on multiple websites that have since like sunsetted or meaningfully changed in some way I really like the idea of having some sort of core identity That's like owned more by me and less by the social media provider.
You already have a section here about looking ahead What is the the sum up of the looking ahead perspective in this area?
Um, yeah, so sort of at the core of this is like I'm a little bit hesitant to hop call it like fully a hack Right.
It is like actually listening to the the activity stream, but it's doing so by waking up every minute pulling etc And the core technology that a lot of this runs on web sockets Durable objects does some really cool stuff with web sockets so you can just have a serverless Thing a durable object running in the cloud that can own long-lived web sockets So if you have like a client on your on your browser that is receiving live updates like from a chat Like a chat window or in this case I use it to push live updates as the as things show up in the activity stream or the event stream Like you can actually have a serverless web socket that just lasts for as long as you want Like you don't need to maintain an active server for that.
Now. The thing is that um Web socket what we what that is is durable objects acting as a web socket server, right and Something that could happen in the future is maybe they Support web socket clients as well like the ability to hybrid maintain and hibernate a web socket client And this is just hypothetically like I'm not on that team, but web sockets are symmetrical So there is like a good chance that that's that's totally doable and The idea then would be that we could entirely remove the need to wake up every minute and pull or every few minutes every whatever and just fully be integrated with the activity stream live and Just have that like you could build a full 80 proto app in Cloudflare and like a more more serious more production ready one and Not have to even run the the the current solution I had was you just run your own like listener on your own machine But like firewalls from the public Internet, right?
It wouldn't need to have any exposed ports that people could access and you just have that push the updates into Cloudflare but with this hypothetical change You could just do it fully on Cloudflare and sort of the pitch and this is cuz I like 80 proto But I mean I also work at Cloudflare right is that you build your like, you know You build your beta on Cloudflare, right?
You can do it on the free plan.
You don't have to pay anything But you know, maybe you like it Maybe it's a good service And then maybe if you hit like the product market fit where you're like, you know, you get funding You're like rolling it out to like a thousand ten thousand whatever users It's stay on Cloudflare and I genuinely think it was it would be a good fit for that Interesting actually, it's part of the call for history of Engineers and people that have like cool ideas even personal ideas.
Hey, I want to try this.
It's really interesting Let me try and they try and then sometimes it's a blog post as in this case like an example sometimes it became becomes a product actually, so there's many examples of Geeky things just coming coming true ideas Just like you know, if you're interested in building something yourself with this You could instead of running a full app like you could listen to say every I don't know every message on the activity stream that has an image right and a lot of people use alt text for images to make them readable to Viewers who are using screen readers like people who are blind, right?
and you could use like Cloudflare AI to generate all text for images that don't have it and because you can create your own like Message types on the protocol you could publish like under your own like Lexicon like under your under your own message type you can publish like the AI annotated text and you know like maybe it's not always right like a lot of AI stuff is like mostly right but like Mostly right description is better than just completely being unusable for someone with a screen reader.
Absolutely. Absolutely I'm curious also on while doing this What would be your wishes in terms of other?
Social media platforms adopting this even blue sky adopting this in terms of more people doing these specific examples Because for example even Europe I remember hearing Europe wanting wanting to have this Hey, you can transport your own identity from one social media to the next but that is not always clear-cut on how How is it being done?
Not really many social media apps don't want to do that specifically How do you see that perspective going?
Um, I think like sort of the core reason for blue skies existence is exactly that like the core reason for a t-proto for everything is exactly that ability to To run Yeah to run like social media stuff where that is a possibility I think like a lot of the time it's like hobby projects or like small like community funded projects that are Like people prototyping how that would be done But I think the possibility is really there and really like this is something I've done building on top of the work Like they're really great work that that team's done Like status fear is their hello world, right?
They published that I was just like hey I can port this to Cloudflare and I think like I don't know I mean there's a really engaged community there like the same friend that I have who has been who like suggested that I do like a blog post about this has like been like doing like Cloudflare apps, I Don't remember the URL.
I should really be able to give a shout out for this before you go.
Why not? Give us a geek suggestion something Maybe a book something you saw something to learn Yeah, you know the Superman movie is really good I know some people who are actually involved with the physical prop design and I love to see physical prop design in the movie Like they had a lot of that it really shows strongly recommend that Yeah, it's a good movie.
I it's on my list heard great things about it actually not like the typical Typical superhero movie specifically, right?
Yeah, they didn't do the whole like hyper muscular sort of dehydrated Look, it was and you didn't even notice that during the movie But like someone pointed it out later and it was like, yeah, it's nice that they're not making the actors do that Interesting interesting a good one there Thank you for doing the blog and and for this suggestion and to be here.
Absolutely. And thank you as well And that's a wrap Hi, I'm Keith Adler, I'm a software engineer at Cloudflare and I've worked on two different teams here really worked with data data science projects in the software engineering around that kind of telling a machine learning engineer role for those Different products and then building them out into something that customers could use So this recent effort of notebooks was essentially say, you know, you want to look at your data you explore your data you want to use a floor more effectively and being able to Use then a notebook is a really easy way to kind of step in and immediately start Displaying and doing analysis of your data.
And so from there we added the ability to have an OAuth login so that you can actually log in as you to Your notebook and then you have a token available to you with certain permissions So that you can access and run different examples that we built out and it's available on on the blog under github repo And we're looking to do more also notebooks.Cloudflare.com there's there's a lot of different ways you can access this but the idea is that Now you can actually load your data in your zones your websites and you could see the traffic you can see analysis of different services We're looking to expand that so we're open to contributions like github so others can add new example types So they can add questions or try to expand on what what we can do with it So looking forward to what the community and us can build together.
Working with Mariemo on this It's an open source project that we've been partnered with they have a fantastic ecosystem I would encourage you to check out but it's it's a more modern approach to notebooks and they have a lot of different integrations I think will make it a lot easier to work with different data sources and Cloudflare services in particular their team has been great and so One thing we've found working with them is that these different examples of how to build out Cloudflare APIs all have great Visualizations so you can see like your DNS logs and group them by where did this traffic come from in the world and Analysis on workers AI or different examples of how to work with R2 or D1 or other services So it's it's been really cool to build that together and have kind of this finished product that is ready and available for everyone At a on the blog on a calm.
It'll be a cup. Yeah, so Really for me a lot of times when I start data projects I always want to pull things into a data frame and start looking at it in notebook We have some great examples with looking at your zone logs.
You can look at a for my website How do I look out and see?
All the different insights of where where did this traffic come from what countries did people access my site from what Alpha the ecstasy it were there any anything that was blocked All healthy traffic or were there a bunch of errors that were occurring and I can I can dig through all of that I'm whether you're developer or site owner.
I think there's a lot of interesting things just for that But there are a lot of other services.
We have a whole section on the compute which could be workers Base metrics if you're using a lot of different worker services or workers AI we have a few different examples I think are pretty cool.
If you are on more of the storage and data side, I mean d1 and r2 TV all these different data source we have Access to and examples there.
I think there's a lot of Opportunity to expand on these examples.
I mean we already talked about adding like an MCP server example so that Things that even we've clever seen blogged about we can build examples of here's how you could do it but now I can say now you could do it with your actual login you do it as you rather than some generic example that We built up for a blog post or documentation.
I think it actually run the code yourself So I think that's a really big difference Between looking at a documents page at the run the document stage We had a few different announcements on the blog post One of them is the actual notebook site at the github Repo with examples looking to expand it and add more contributions to those up to add for new products and new ideas We have a lot of existing products that don't have examples So we'd love to see more added there and more that we can add to as well Time, but I think the next step for a lot of this is going to be looking at the container side We have one example in the blog post of running different examples like Miramal in a container on Cloudflare's new compute engine for containers And that is a very interesting ecosystem and I would encourage you to check it out right now There's examples of it, but we'd like to actually formalize that more to build out a Ecosystem that you can run more managed notebooks on Cloudflare So that could be pretty cool and open up a lot more use cases on the technical side to allow for Much higher amounts of compute and different resources So there's a lot of things unlike GPU access that are a little bit more challenging today But we're looking to make that easier in the future I think there's a lot of really interesting ways to reach out and work with us one.
I mentioned the github Community on that community we have you know issues and I added a contributor document So if you want to add new examples of notebooks, you want to add more products and you would expand on the existing work That's there.
I just had a PR you could fork the repo and build things and and merge it in with us I'm looking forward to what people build.
I would also say we have a discord server the Cloudflare developer discord server That's a really easy place to reach out to us and talk about any product.
There's also marimo has a discord server I would encourage you to reach out to them and As well, there are a lot of features on marimo that are pretty cool and working with them has been fantastic stay tuned to See what we build with Cloudflare notebooks and with marimo to see Kind of the next chapter of what these products and data can really enable as far as notebooks and the user experience with your data You