 Hey, y'all. So I pre-recorded this because I wasn't sure if I was going to make it in time to start. And it's also kind of orchestrated, but I'm super excited to show it off. It uses a lot of the tech that you're already familiar with, like Alan's Pale Clock and the W3 Clock from Web3 Storage. And, you know, things like the car V2 indexes are optimizations I haven't done yet. But, like, when I go look to see what's on my list of ways to make fireproof fast, a lot of it is stuff that Web3 Storage has already done, you know? OK, so they wanted me to put in my pseudo password and restart my computer before you get the audio. I guess I didn't, like, run that part of the thing. So I don't know. How about we just do it? We just do it the fun way. I'm going to narrate while you watch the video. So there you go. This is the new release I've been working on. I think it's ready for y'all to write apps. So if you're building apps on something like a Filecoin or an IPFS, definitely check it out. It makes it so, like, you just think you're writing a React app, but everything's IPLD, you know, as you go in. And this is going to be a demo of, like, one demo app I wrote to show off the experience. So it's a public media gallery. You could do private media in Fireproof because everything's encrypted by default, but I want to do public so I could show off, like, gateway, you know, URLs and all that. And also the login experience. So here you just log in with an email address and then you validate using Web3 Storage user experience. So I think this is good enough for your end users if you're not trying to brand it, right? It's not going to confuse them if you tell them what to expect. They just click one link and now they're into the app. So what happens next in the demo is that I show you an already logged in version just so you don't have to wait for all the sync. But in the background, it's logged in and it's, like, bringing the data down to the database. Oh, now we're going to take a little break. That's not demo anymore. This is how it works. So we're looking at the architecture. Inside of Fireproof, there's the CRDT that's the pale clock that Alan created that I've helped a little bit with. And the updates come into that. And the cool thing about a CRDT is updates are item potent. It doesn't matter what order they show up at because they carry the event information for the parent that they overwrite in them and allows your stuff to get merged, allows you to do concurrent edits with multiple users. And it kind of makes it so I don't have to think about a lot of database problems. I can just throw data into my data structure. So data comes into the CRDT and then it gets merged, it gets run through this indexer function that you define, where you can be like, hey, index all my documents by ID or by user ID or by title or date created or whatever. And what's special about the way we store them. And this is Michael Rogers prolly trees that a bunch of folks helped with is that no matter what order you do this indexing work, you get the same CID for your index at the end. So it makes the replication super efficient and you can do like Merkel diffs on your data and all that. So all right. So that's like how the logical storage works. And then those green blocks coming off the bottom are, of course, every time you do an operation on one of these, you're going to create blocks. It's just a stream of blocks coming up for each operation. So we were talking about car files. What I do is I wrap a transaction's worth of blocks up as a car file and I put a custom car header on it, which we're going to zoom in on in a second. But as a database, right, each transaction is a car file. And then you can take a bunch of transactions like the whole history of the database and wrap it up into one car file via compaction for fast like web loads so you can load your whole client experience from a single URL. So yeah, all my stuff is encrypted by default, which is using a symmetric key. And that's what that blue wrapper indicates. So it just means that if you wanted IPFS infrastructure to serve it out, you would want you would need to share the key with the back end. But as it is, it's end to end encrypted. So just the clients can read it. Inside that IPLD header on my car files is just a list of the rest of the car files you need to get the full database, with the oldest one being either the first car file or the result of a compaction. And so we're zooming in on that list here. And essentially, the way we maintain consistency is there's also an in browser right ahead blog that says like these car files are not committed to the cloud yet. And these are it writes them through Web 3 storage to IPFS. And then as soon as a batch of those car files is available and written, then it updates this metadata header in W3 clock. So W3 clock as a wrapper around the whole thing, this gets unencrypted blocks that point to encrypted car files. And it really just cares about the order of operations on those encrypted car files. It's up to the client databases to decrypt and merge once they get them. So W3 clock kind of makes it so you only have to download the relevant car files. And so you don't have last right wins problem. So yeah, that's like, oh, again, yeah. And then on read, right, you just pull like maybe two or three car files that are all like in parallel heads and merge them in the CRDT. And get that database experience. So it's super robust to bringing in data from multiple locations, emerging it from the browser in the cloud. And the last thing you get to see back in the demo here is how the demo actually works. And this is at public media.fireproofs.storage if you want to play with it. But I'm customizing a demo. What I'm showing off here is since it's already logged in via Web 3 storage, you can do IPFS stuff real easy. So everything happening on the screen right now is encrypted database stuff where I set my like user preferences. This is all JSON data that's behind the encryption key. But when I do publish, it just does a regular upload to IPFS. And now this is an archive URL that you can share with your friends to show off your customized photo gallery. In the demo here, I'm just switching over to the other browser to show that it's also logged in. And those same, you know, galleries are available there. And the last little bit is just some interaction stuff to show how, you know, building in fireproof lets you do react style user interactions. So I just dropped some files on the uploads are almost instantaneous. And then I can create a new album for crowds and take my like AI generated. That's the 90 snails crowd. It's like a Beyonce crowd. You know, so I just made crowds for for different artists. I think that one's talking heads. I forget who everybody is, but but right. And yeah, I just think it's fun to be able to have that mix of encrypted and public data and like kind of use your browser as CMS that can publish back to the web. But that's just one use case, right? Like the other use cases that people are going to build this for in this crowd. Let's say you were putting a bunch of data in a file coin and it had some structure like you're uploading an archive. I don't know a bunch of media files or something. Easily build a browsable interface for it, where then the diffs go into IPFS and eventually file coin via web three storage. What we're seeing here is that the library itself has an open dashboard function that pops open this URL with an import. So you can inspect your applications data and see like, oh, here was a upload with 41 files or whatever allows you to get inside of your data and play with it with all your database conveniences. So I'm hoping that people here want to write apps that live on the IPFS stack. There's no other cloud in here besides web three storage stuff. And here's just another app that uses LLMS to build, you know, simulated interviews with potential customers. And the last thing I'm going to show is a starter kit that's really meant to be kind of like nothing but the crowd wrapper. So if you wanted to build a, you know, item with a detailed view and the lists and the drill down kind of app, like that's all done. And now you just get to decide what your app is about. So there's a starter kit for you to try if you want. So, yeah, thanks a ton for. Watching the video and hopefully that made some sense and gets you all excited about writing apps.