[{"data":1,"prerenderedAt":575},["ShallowReactive",2],{"tv-leap-week":3,"tv-leap-week-seasons":14,"tv-leap-week-episodes":64},{"id":4,"title":5,"logo":6,"cover":7,"tile":8,"announcement_text":9,"description":10,"slug":11,"one_liner":12,"card_text":9,"status":13,"sort":9},"24008997-801f-48ef-9c21-30a478419242","Leap Week","70b6dd88-9ffa-456c-864f-06c2d45c355d","5c2ffa04-9e95-48b6-89cd-62f8ee8d3911","62816023-fa7e-4a76-b9a1-2733ee2093a6",null,"Leap Weeks are where the Directus Core Team present what's new and upcoming for Directus users, developers, and extension builders. Catch up with announcements on-demand on Directus TV.","leap-week","Catch up with Leap Week product announcements and sessions on-demand.","published",[15,28,41,54],{"id":16,"number":17,"show":4,"year":18,"episodes":19},"289f6534-7fdd-46df-8c00-89a75469fe41",4,"2026",[20,21,22,23,24,25,26,27],"bbaa3063-6fbe-4d96-bbc7-e50672f9a308","f885409e-0ace-41e5-aca3-faf4dcd7659b","7271f0be-33fd-4cea-b7bd-9c63e74969e1","0baede33-974c-4343-abad-3cea928c8112","a10f99c3-6b45-46e6-b703-64366f150c57","1310befc-e361-4e19-848f-d685c19dddef","37e28ea2-bec3-40bd-8b09-b9fbb47c1759","68536266-9502-4df8-a295-ef082dfe6fd0",{"id":29,"number":30,"show":4,"year":31,"episodes":32},"edaf4f46-b4d7-468c-bb14-4778c0e3b304",3,"2024",[33,34,35,36,37,38,39,40],"a8eb1187-ee58-4583-824a-5d9cbefa8d7c","e477c1e4-2942-493c-b2d4-e41f589eac72","191de350-707d-4a57-a8f5-e749820530d9","369abe83-ca5d-4fbc-81c8-626912b0a7f8","c5593b03-9801-43e9-9606-facfcfb2791f","b9284b99-793b-4e71-a706-7b2f0ae2cb7a","1927e10b-f96b-41e4-a57a-42ed26094a0a","a48019be-7fd1-4b64-9b25-2b579196f121",{"id":42,"number":43,"show":4,"year":31,"episodes":44},"a259b39f-2513-4c1c-9597-fe0345798029",2,[45,46,47,48,49,50,51,52,53],"3ca36cc9-3dc4-4acd-9289-a97249c0d7e4","d1b923e7-9d76-4b23-8ac8-65e0bac37a6d","b46e60c2-a1e8-4cf1-aa27-986bc4f2c4ee","c5726061-87f2-41a0-941f-9bb44a0e57c2","68174425-5aa8-4e39-b97e-3e01785ce64b","6daa5396-df6e-42f0-a465-f682642b34f1","183146de-8afa-467b-a271-45f04a189890","376e8170-920c-4f61-977d-4cc966db2a8f","23eee332-981a-46a1-beb2-d77ae646acec",{"id":55,"number":56,"show":4,"year":57,"episodes":58},"3578239b-6b81-4bf3-a0da-8eb437ae76ba",1,"2023",[59,60,61,62,63],"3c4afa24-021a-4897-a016-ca0a71808bb0","fb8742d0-e721-49e2-bc90-10bfe538498b","c99fc51a-5f0e-4be0-bad0-6c03de3afc60","052840f3-99fe-451c-acd2-4caa7b454402","bc63bae0-dec3-4f1b-b825-0da86ebb481c",[65,88,113,133,158,179,193,208,229,244,261,276,294,312,328,351,365,379,393,407,421,435,449,465,481,497,513,529,544,559],{"id":59,"slug":66,"vimeo_id":67,"description":68,"tile":69,"length":70,"resources":9,"people":71,"episode_number":56,"published":78,"title":79,"video_transcript_html":80,"video_transcript_text":81,"content":9,"seo":9,"status":13,"episode_people":82,"recommendations":85,"season":86},"version","894066448","At Leap Week 1, we announced the availability of Content Versioning for the Directus Editor and the new Content Versions API, along with new events for Directus Automate.","d728180a-1a58-463d-9ec3-e3d8b4bc1617",6,[72,75],{"name":73,"url":74},"Kevin Lewis","https:\u002F\u002Fdirectus.io\u002Fteam\u002Fkevin-lewis",{"name":76,"url":77},"Azri Kahar","https:\u002F\u002Fdirectus.io\u002Fteam\u002Fazri-kahar","2023-10-23","Version","\u003Cp>Speaker 0: Hello. We are so excited to welcome you to the very first Director Sleep Week. We have a truly global community, so wherever and whenever you are, hello. We have a fantastic week lined up. Over the next 5 days, we'll be sharing what's new and upcoming for Directus and possibly even some teasers of work that's been years in the making.\u003C\u002Fp>\u003Cp>Now Directus isn't a new project with the first version built by our CEO and co founder Ben almost 20 years ago. Directus 9 then completely overhauled the project into what we use today And earlier this year, we released Directus 10 with a commitment to sustainable open source. There have been over 26,000,000 downloads of Directus and that's because of the hard work and enthusiasm of our core team, contributors, and community members. In fact, there's now over 10,000 of you in our Discord server and 23,000 stars on our GitHub repository. The last few months have seen us bring live preview to the Directus editor, release Directus real time, and create a brand new SDK with much improved developer experience.\u003C\u002Fp>\u003Cp>Today we're releasing directors version 10.7 and to kick it off, we want to introduce content versioning. Content versioning is a huge update to how you and your team author and collaborate in the Directus editor, and I would love to hand it off to Azeri to tell you more.\u003C\u002Fp>\u003Cp>Speaker 1: Until now, collaborating on content using Directus hasn't always been the easiest. We have comments and revision history with accountability. But actually collaborating has largely happened off platform. There was a small risk. You would hit save the changes after someone else and override work, and there was no good way to work on draft updates and saving without publishing.\u003C\u002Fp>\u003Cp>We have taken great care to build content versioning in the director's way, being both super powerful while being unoppressive to your workflow. Rather than talk to you about it, let me show you. Here, I have an articles collection where I've enabled content versioning, and this is an item within that particular collection. And here, we have a pill or menu, which is the main entry point for us to go into content versioning. Here, we can create a new version.\u003C\u002Fp>\u003Cp>I'll call it graph as the key, and mine graph as the name. Now I'll change the title, add a new cover image. And for the content, I will just follow it up with an enemies. Here, I can save the version, and we'll go back here. We can see the main icon is not updated at all.\u003C\u002Fp>\u003Cp>But when I view my draft, I can see my latest changes with the new cover image and content. Over here, I can promote the version. When I see the changes by default, we'll select all the changes from your new draft. And when I click on the preview tab, we can see what would be changes that I will be promoting to. And if I would like to keep the same cover image over here, you can see I will go back to the old image.\u003C\u002Fp>\u003Cp>But for the demo purposes, I'll choose true cover image and content to be updated with the title remaining as the same. And while promoting it, we can choose to delete, keep it, and now choose to delete it. Now once promoting, we can see the title remains the same with the cover image and content updated to the new one that I've just added. You can also use our new content versions API to do what we just did in the data studio. If you have content versioning enabled on the collection, accessing the item like normal will always get the main version.\u003C\u002Fp>\u003Cp>To get a specific version, use the new version parameter with the key provided when you created the version. And over here, it will be the test. And this data is from the test content version for this particular item. To promote a content version, you have to first create a div, which will return a hash And provide that hash to the promo endpoint. Content versioning also exposes new events which can be used in Director's Ultimate.\u003C\u002Fp>\u003Cp>That's both in Hook's extensions and in Flows. A cool tip is that once you combine content versioning and live preview, you can view non published changes in your pages before you sign it off. And that's content versioning. It's been\u003C\u002Fp>\u003Cp>Speaker 0: a pleasure to work on this for you and back to Kevin. Content versioning was a feature built with our our amazing community. It's been in preview for a couple of months and we've loved having your feedback implementing many of the suggestions that you've made. You can get your hands on content versioning now by downloading the just released Directus version 10.7 which is now available on NPM and Docker Hub. That wraps up day 1 of Leap Week.\u003C\u002Fp>\u003Cp>We hope you love where we've landed for content versioning, and there's plenty more to come this week. See you tomorrow.\u003C\u002Fp>","Hello. We are so excited to welcome you to the very first Director Sleep Week. We have a truly global community, so wherever and whenever you are, hello. We have a fantastic week lined up. Over the next 5 days, we'll be sharing what's new and upcoming for Directus and possibly even some teasers of work that's been years in the making. Now Directus isn't a new project with the first version built by our CEO and co founder Ben almost 20 years ago. Directus 9 then completely overhauled the project into what we use today And earlier this year, we released Directus 10 with a commitment to sustainable open source. There have been over 26,000,000 downloads of Directus and that's because of the hard work and enthusiasm of our core team, contributors, and community members. In fact, there's now over 10,000 of you in our Discord server and 23,000 stars on our GitHub repository. The last few months have seen us bring live preview to the Directus editor, release Directus real time, and create a brand new SDK with much improved developer experience. Today we're releasing directors version 10.7 and to kick it off, we want to introduce content versioning. Content versioning is a huge update to how you and your team author and collaborate in the Directus editor, and I would love to hand it off to Azeri to tell you more. Until now, collaborating on content using Directus hasn't always been the easiest. We have comments and revision history with accountability. But actually collaborating has largely happened off platform. There was a small risk. You would hit save the changes after someone else and override work, and there was no good way to work on draft updates and saving without publishing. We have taken great care to build content versioning in the director's way, being both super powerful while being unoppressive to your workflow. Rather than talk to you about it, let me show you. Here, I have an articles collection where I've enabled content versioning, and this is an item within that particular collection. And here, we have a pill or menu, which is the main entry point for us to go into content versioning. Here, we can create a new version. I'll call it graph as the key, and mine graph as the name. Now I'll change the title, add a new cover image. And for the content, I will just follow it up with an enemies. Here, I can save the version, and we'll go back here. We can see the main icon is not updated at all. But when I view my draft, I can see my latest changes with the new cover image and content. Over here, I can promote the version. When I see the changes by default, we'll select all the changes from your new draft. And when I click on the preview tab, we can see what would be changes that I will be promoting to. And if I would like to keep the same cover image over here, you can see I will go back to the old image. But for the demo purposes, I'll choose true cover image and content to be updated with the title remaining as the same. And while promoting it, we can choose to delete, keep it, and now choose to delete it. Now once promoting, we can see the title remains the same with the cover image and content updated to the new one that I've just added. You can also use our new content versions API to do what we just did in the data studio. If you have content versioning enabled on the collection, accessing the item like normal will always get the main version. To get a specific version, use the new version parameter with the key provided when you created the version. And over here, it will be the test. And this data is from the test content version for this particular item. To promote a content version, you have to first create a div, which will return a hash And provide that hash to the promo endpoint. Content versioning also exposes new events which can be used in Director's Ultimate. That's both in Hook's extensions and in Flows. A cool tip is that once you combine content versioning and live preview, you can view non published changes in your pages before you sign it off. And that's content versioning. It's been a pleasure to work on this for you and back to Kevin. Content versioning was a feature built with our our amazing community. It's been in preview for a couple of months and we've loved having your feedback implementing many of the suggestions that you've made. You can get your hands on content versioning now by downloading the just released Directus version 10.7 which is now available on NPM and Docker Hub. That wraps up day 1 of Leap Week. We hope you love where we've landed for content versioning, and there's plenty more to come this week. See you tomorrow.",[83,84],"b2fa5286-79dd-455f-8a4d-c261a2974d41","12418f46-bec1-464d-af7a-013ee0008750",[],{"id":55,"number":56,"show":4,"year":57,"episodes":87},[59,60,61,62,63],{"id":60,"slug":89,"vimeo_id":90,"description":91,"tile":92,"length":93,"resources":9,"people":94,"episode_number":43,"published":102,"title":103,"video_transcript_html":104,"video_transcript_text":105,"content":9,"seo":9,"status":13,"episode_people":106,"recommendations":110,"season":111},"compose","894066365","At Leap Week 1, we introduced and explained our approach on composability, along with announcing AgencyOS - an all-in-one operating system for digital agencies.","7e6ffdbe-cf3c-409e-b5b8-ba1863b2b04e",16,[95,96,99],{"name":73,"url":74},{"name":97,"url":98},"Matt Minor","https:\u002F\u002Fdirectus.io\u002Fteam\u002Fmatt-minor",{"name":100,"url":101},"Bryant Gillespie","https:\u002F\u002Fdirectus.io\u002Fteam\u002Fbryant-gillespie","2023-10-24","Compose","\u003Cp>Speaker 0: Welcome back to Leap Week. And today, we want to talk to you about composability and the evolution of Directus into a flexible backend toolkit that can solve for so many use cases. It's fair to say that Directus very much started out life as a headless CMS, an API driven solution for providing data to front end applications. The Directus Data Studio is great for authoring content. And with roles and permissions, it is well suited to authoring and review workflows.\u003C\u002Fp>\u003Cp>But this really just scratches the surface of what Directus is capable of.\u003C\u002Fp>\u003Cp>Speaker 1: Hey, everybody. I'm Matt Miner, director of demand gen at Directus. That's a lot of words to say. I do marketing stuff. Today, I wanna talk about a narrative that we're seeing pop up more and more in the software development world.\u003C\u002Fp>\u003Cp>And before our big announcement, right after this, I just wanna be able to give you a little context so you understand, really, the the full lay of the land of of why we think this is important, and that's this concept of composable architecture. Yes. It's another buzzword that we, as the tech industry, love to make up seemingly every year, for no reason. But this one's actually gaining ground, particularly in larger organizations and for good reason. I wanna preface this with the fact that I've been doing a deep dive for what seems like the last year, but it's actually been the last 6 months, reading reports, talking to customers, and more really just trying to understand what this term means.\u003C\u002Fp>\u003Cp>Spoiler alert. I don't think anybody knows what it means. Everybody is just kinda making stuff up, when it comes to it. So some think it's a mentality in the way you run your organization. I've even seen some of our competitors who will not be named, try to stick claim for it.\u003C\u002Fp>\u003Cp>Call it composable x. But I just wanna, tell you today what we think of it. And if it fits your organization in the way you think about things, then that's great. Really to kick this off, I wanna talk about, one of the most interesting things I came across when I was reading all of these mindless reports and, having great conversations with customers, which is this, concept of Conway's Law. So Conway's Law in of itself, if you think about software development, the traditional sense of it is if you have a team that's distributed globally, they're more likely to create modular architecture.\u003C\u002Fp>\u003Cp>If you have a team that is, located pretty much in the same place, co located, they're more likely to create monolithic architectures. And it makes sense because, you know, global teams usually have their own tech stacks. You think of, like, teams of 7 that are, you know, multiple teams at organizations, and then teams that are together typically are on the same wavelength using the same framework, same tools, things like that. So when you apply this to the concept of composable, there's two sides of the spectrum, and you're probably familiar with this, which is there's the buy, and there's the build. Now as a nontechnical marketer, I typically lean towards the buy side, which is I see a problem, I just go find a software or SaaS that fixes that problem, and then I'm able to quickly get over it, really fast.\u003C\u002Fp>\u003Cp>But the problem is is I have to adapt my the way I work around that. You can think of this getting to a point of where these teams have their own siloed data tech stacks, like, just absolutely crazy. A lot of security concerns there, and we have to adapt to the way that the software works. On the other side of the spectrum is this concept of building, and I think most of the audience here, which is, you know, technical folks, tend to, you know, lean this way, which is, I see a problem. I wanna build something to solve it, and I wanna build it specifically to what our team needs to solve it.\u003C\u002Fp>\u003Cp>So you get plenty of, flexibility on that front, but you're not able to move as fast or as quickly. We think there is value in that side in being as close to being able to build something as flexible as possible for your team. But there is that overhead of maintenance and resources that could be going into something that's, you know, nonessential for for your products or nonessential contributing back to revenue and growing the business. That's why we believe composable to us is, you know, being able to build those apps from elements that everybody understands, the same foundation, that is flexible enough to work with, any framework, Nuxt, Next, React, Vue, and from the same kind of I've already mentioned it, but foundation. So let's talk about where we have been as an industry and where we're going as an industry.\u003C\u002Fp>\u003Cp>Now we're at this crossroads of composable and this concept of it. Previously, everyone's been forced into this buy or build mentality. Like I was saying, nontechnical teams really prefer to buy things. Technical teams tend to wanna build them. Nothing wrong with either choice.\u003C\u002Fp>\u003Cp>There are a few drawbacks. I wanna think about this in the terms of, like let's say you've got a wedding at the end of the week that you just find out about, and you need a suit. You can go to the suit store, buy something off the shelf, and have it, and go to that wedding, and probably get made fun of because you look like a kid in a giant suit. It's not tailored specifically to what you need, but you get it fast, and you're there. The other side of that is going to the suit store, getting fitted for your exact needs, specifications, and then not getting that suit on time, on the timeline you were promised.\u003C\u002Fp>\u003Cp>And then that's even a worse scenario outcome because you're just wearing a T shirt to the wedding. That's really what this old world, new world difference is, is because, you know, let's fast forward to today and what composable enables, and that's you getting custom tailored at the store. And then just like an Amazon delivery, getting it on your doorstep within 1 to 2 days. It's the speed and the flexibility of having both. And we think it is possible.\u003C\u002Fp>\u003Cp>You just need 3 things in place. 1 is you need a hub for all of your teams to be able to work from. That's technical and nontechnical. No code for the nontechnical teams. Low code or heavy code for the technical teams, that everybody can interact on and be able to create the things they need.\u003C\u002Fp>\u003Cp>2nd, you need to have this powered by APIs. So all of the things that you're buying mix with the things you're building, and everything is in beautiful harmony like an orchestra. And then, really, the third thing is it needs to be flexible enough to work with your business. You can be able to cloud host it and not worry about the infrastructure costs and the setup and the maintenance, or you can self host it if security is a large concern of yours and, you need something on prem. We think the flexibility between all three things is really the key to enabling this composable architecture that everybody seems to be talking about.\u003C\u002Fp>\u003Cp>I wanna just talk a little bit about an actual application of this. So we work with Copa Airlines, which is a, you know, $2,700,000,000 airline based in Panama. Over 5,000 employees, 16% increase in engineering headcount last year. Now you're probably aware of the issues that airlines faced earlier this year. A lot of passengers were stranded, because of the legacy tech debt that a lot of them had accrued.\u003C\u002Fp>\u003Cp>And we love Copa because not even just with us as a customer, but they're taking a proactive approach, and, honestly, probably the most proactive we've seen in the industry, in making sure that there is no tech debt and there is technology efficient as possible. We started working with them last year. They came to us for an internal content management system. They wanted to share, like, news with their employees and have, notification systems, so they built that. Within 2 months, they had it up and running.\u003C\u002Fp>\u003Cp>This year, they wanted to move their entire marketing website over to it because they found that their nontechnical and technical teams were able to get a lot of usage out of it. And everybody really enjoyed the experience. So their entire marketing website, which is huge for a company like this because 70% of their sales come from their website, and it has to be reliable. So they launched that on Directus, incredible website. They actually reduced their load speeds from, like, 6 seconds to, I think, like, 1 to 2.\u003C\u002Fp>\u003Cp>So it was a huge boost for them in that arena. And now we're talking to them, about using Directus as, like, kind of an internal tool builder, app builder, things that they can provide to their customers that aren't necessarily just CMS based. So it's really cool to work with them and see this trajectory that they're taking with it. They're finding a lot of usage out of it outside of just that, like, classic CMS, which is where they started. It was the proving ground, and now there's a lot of, flexibility and things that they can do with it.\u003C\u002Fp>\u003Cp>So just to reiterate what I said at the beginning and wrap this up, there's no clear definition of composable architecture. But what brings us confidence in the way that we talk about it and we see the path forward is we see 100 of users doing exactly this every single day. And just to wrap it up with a case in point, we asked our community of 10,000 developers and engineers, like, how would you describe Directus? And the funny thing is we didn't get a single response that was the same. That's awesome for folks that have discovered us and are using us for multiple use cases, but that's not awesome for new potential users that could be overwhelmed by the capabilities and what to do with it.\u003C\u002Fp>\u003Cp>But as we start to refine the product, grow with the awesome support from the community, we feel like there's so much more than it could be used for other than just this content management, use case, which it's really strong for. But there is a lot of other things you can be doing to get value out of it. So today, I wanna introduce my friend, Bryant. He's gonna show you our first step at being a truly all encompassing toolkit for teams that would allow you to move fast, yet scratch that builder itch that I feel like we all have. We call them operating systems because you can truly build full comprehensive software that ties together multiple applications, to help you become more efficient.\u003C\u002Fp>\u003Cp>We're releasing AgencyOS. That's what we've dubbed it, as the first example of an all in one system, that's purpose built to show off some of the incredible functionality that you can build with Directus and truly take a composable approach to your architecture. In the future, expect us to, you know, release and build more, Events OS for managing events, Deals OS from sales teams managing deals, and and so on and so forth. But, again, I'm getting ahead of myself. That's the marketer in me.\u003C\u002Fp>\u003Cp>That's down the road. So, yeah, let me go ahead and kick it over to Bryant to show off, AgencyOS. I think you're really gonna like it, and thanks for listening to my rambling.\u003C\u002Fp>\u003Cp>Speaker 2: Thanks, Matt. Running a digital agency is challenging. There's a load of us in the Directus core team who have done it in a past life. There's so much to it beyond actually delivering projects. And it's those other bits that often make or break client relationships.\u003C\u002Fp>\u003Cp>Yet, to get your operating system set up often means you're stringing together many different rigid off the shelf tools are burning hours and hours of potentially billable time developing your own solutions and practices. Agency OS is everything you need to get your agency off the ground or improve tooling for your existing company. It's based on familiar, extensible open source tools. Directus for the back end and Nuxt for the front end. Here's what it offers.\u003C\u002Fp>\u003Cp>A great looking website to promote your work and convert visitors to leads and booked meetings. Look on brand in minutes. Swap your colors. Add your logos, and set up your fonts using a simple theme config file. It's backed by a super easy to use headless CMS with live preview and content versioning.\u003C\u002Fp>\u003Cp>A back end CRM slash project tracker to manage your entire project workflow. From first contact, creating proposals and managing pipeline, to managing the actual day to day work with projects and tasks. Leverage the project templates to make planning and managing larger complex projects easy peasy. A private client portal to provide superior communication with your clients. Agencies that make it super easy for clients to do business with them will be more successful than those who leave client experience up to chance.\u003C\u002Fp>\u003Cp>Clients can self serve within their portal, get updates on projects, pay their invoices painlessly, and get gently reminded to deliver the files, content, and other info you need to complete their project. Agency OS is the perfect base to compose your own solution. Instead of hoping and praying those off the shelf tools, will finally work together exactly the way you need them. We've just published a bunch of videos to show you how to get the most out of each module. To get started, just follow the setup instructions on our website and you'll be on your way to a better agency in no time.\u003C\u002Fp>\u003Cp>Speaker 0: Directus has come a very long way from where we started, and it really can be the operating system for your entire organization. Today we used agencies as an example but we see real estate leaders, airlines, online stores, and educational institutions base their whole organizational backbone on Directus as a composable data platform. Tomorrow we're heading back to directors 10.7 to announce and highlight our latest release, but for now you can check out agency OS using the links accompanying this video. So until tomorrow, bye for now.\u003C\u002Fp>","Welcome back to Leap Week. And today, we want to talk to you about composability and the evolution of Directus into a flexible backend toolkit that can solve for so many use cases. It's fair to say that Directus very much started out life as a headless CMS, an API driven solution for providing data to front end applications. The Directus Data Studio is great for authoring content. And with roles and permissions, it is well suited to authoring and review workflows. But this really just scratches the surface of what Directus is capable of. Hey, everybody. I'm Matt Miner, director of demand gen at Directus. That's a lot of words to say. I do marketing stuff. Today, I wanna talk about a narrative that we're seeing pop up more and more in the software development world. And before our big announcement, right after this, I just wanna be able to give you a little context so you understand, really, the the full lay of the land of of why we think this is important, and that's this concept of composable architecture. Yes. It's another buzzword that we, as the tech industry, love to make up seemingly every year, for no reason. But this one's actually gaining ground, particularly in larger organizations and for good reason. I wanna preface this with the fact that I've been doing a deep dive for what seems like the last year, but it's actually been the last 6 months, reading reports, talking to customers, and more really just trying to understand what this term means. Spoiler alert. I don't think anybody knows what it means. Everybody is just kinda making stuff up, when it comes to it. So some think it's a mentality in the way you run your organization. I've even seen some of our competitors who will not be named, try to stick claim for it. Call it composable x. But I just wanna, tell you today what we think of it. And if it fits your organization in the way you think about things, then that's great. Really to kick this off, I wanna talk about, one of the most interesting things I came across when I was reading all of these mindless reports and, having great conversations with customers, which is this, concept of Conway's Law. So Conway's Law in of itself, if you think about software development, the traditional sense of it is if you have a team that's distributed globally, they're more likely to create modular architecture. If you have a team that is, located pretty much in the same place, co located, they're more likely to create monolithic architectures. And it makes sense because, you know, global teams usually have their own tech stacks. You think of, like, teams of 7 that are, you know, multiple teams at organizations, and then teams that are together typically are on the same wavelength using the same framework, same tools, things like that. So when you apply this to the concept of composable, there's two sides of the spectrum, and you're probably familiar with this, which is there's the buy, and there's the build. Now as a nontechnical marketer, I typically lean towards the buy side, which is I see a problem, I just go find a software or SaaS that fixes that problem, and then I'm able to quickly get over it, really fast. But the problem is is I have to adapt my the way I work around that. You can think of this getting to a point of where these teams have their own siloed data tech stacks, like, just absolutely crazy. A lot of security concerns there, and we have to adapt to the way that the software works. On the other side of the spectrum is this concept of building, and I think most of the audience here, which is, you know, technical folks, tend to, you know, lean this way, which is, I see a problem. I wanna build something to solve it, and I wanna build it specifically to what our team needs to solve it. So you get plenty of, flexibility on that front, but you're not able to move as fast or as quickly. We think there is value in that side in being as close to being able to build something as flexible as possible for your team. But there is that overhead of maintenance and resources that could be going into something that's, you know, nonessential for for your products or nonessential contributing back to revenue and growing the business. That's why we believe composable to us is, you know, being able to build those apps from elements that everybody understands, the same foundation, that is flexible enough to work with, any framework, Nuxt, Next, React, Vue, and from the same kind of I've already mentioned it, but foundation. So let's talk about where we have been as an industry and where we're going as an industry. Now we're at this crossroads of composable and this concept of it. Previously, everyone's been forced into this buy or build mentality. Like I was saying, nontechnical teams really prefer to buy things. Technical teams tend to wanna build them. Nothing wrong with either choice. There are a few drawbacks. I wanna think about this in the terms of, like let's say you've got a wedding at the end of the week that you just find out about, and you need a suit. You can go to the suit store, buy something off the shelf, and have it, and go to that wedding, and probably get made fun of because you look like a kid in a giant suit. It's not tailored specifically to what you need, but you get it fast, and you're there. The other side of that is going to the suit store, getting fitted for your exact needs, specifications, and then not getting that suit on time, on the timeline you were promised. And then that's even a worse scenario outcome because you're just wearing a T shirt to the wedding. That's really what this old world, new world difference is, is because, you know, let's fast forward to today and what composable enables, and that's you getting custom tailored at the store. And then just like an Amazon delivery, getting it on your doorstep within 1 to 2 days. It's the speed and the flexibility of having both. And we think it is possible. You just need 3 things in place. 1 is you need a hub for all of your teams to be able to work from. That's technical and nontechnical. No code for the nontechnical teams. Low code or heavy code for the technical teams, that everybody can interact on and be able to create the things they need. 2nd, you need to have this powered by APIs. So all of the things that you're buying mix with the things you're building, and everything is in beautiful harmony like an orchestra. And then, really, the third thing is it needs to be flexible enough to work with your business. You can be able to cloud host it and not worry about the infrastructure costs and the setup and the maintenance, or you can self host it if security is a large concern of yours and, you need something on prem. We think the flexibility between all three things is really the key to enabling this composable architecture that everybody seems to be talking about. I wanna just talk a little bit about an actual application of this. So we work with Copa Airlines, which is a, you know, $2,700,000,000 airline based in Panama. Over 5,000 employees, 16% increase in engineering headcount last year. Now you're probably aware of the issues that airlines faced earlier this year. A lot of passengers were stranded, because of the legacy tech debt that a lot of them had accrued. And we love Copa because not even just with us as a customer, but they're taking a proactive approach, and, honestly, probably the most proactive we've seen in the industry, in making sure that there is no tech debt and there is technology efficient as possible. We started working with them last year. They came to us for an internal content management system. They wanted to share, like, news with their employees and have, notification systems, so they built that. Within 2 months, they had it up and running. This year, they wanted to move their entire marketing website over to it because they found that their nontechnical and technical teams were able to get a lot of usage out of it. And everybody really enjoyed the experience. So their entire marketing website, which is huge for a company like this because 70% of their sales come from their website, and it has to be reliable. So they launched that on Directus, incredible website. They actually reduced their load speeds from, like, 6 seconds to, I think, like, 1 to 2. So it was a huge boost for them in that arena. And now we're talking to them, about using Directus as, like, kind of an internal tool builder, app builder, things that they can provide to their customers that aren't necessarily just CMS based. So it's really cool to work with them and see this trajectory that they're taking with it. They're finding a lot of usage out of it outside of just that, like, classic CMS, which is where they started. It was the proving ground, and now there's a lot of, flexibility and things that they can do with it. So just to reiterate what I said at the beginning and wrap this up, there's no clear definition of composable architecture. But what brings us confidence in the way that we talk about it and we see the path forward is we see 100 of users doing exactly this every single day. And just to wrap it up with a case in point, we asked our community of 10,000 developers and engineers, like, how would you describe Directus? And the funny thing is we didn't get a single response that was the same. That's awesome for folks that have discovered us and are using us for multiple use cases, but that's not awesome for new potential users that could be overwhelmed by the capabilities and what to do with it. But as we start to refine the product, grow with the awesome support from the community, we feel like there's so much more than it could be used for other than just this content management, use case, which it's really strong for. But there is a lot of other things you can be doing to get value out of it. So today, I wanna introduce my friend, Bryant. He's gonna show you our first step at being a truly all encompassing toolkit for teams that would allow you to move fast, yet scratch that builder itch that I feel like we all have. We call them operating systems because you can truly build full comprehensive software that ties together multiple applications, to help you become more efficient. We're releasing AgencyOS. That's what we've dubbed it, as the first example of an all in one system, that's purpose built to show off some of the incredible functionality that you can build with Directus and truly take a composable approach to your architecture. In the future, expect us to, you know, release and build more, Events OS for managing events, Deals OS from sales teams managing deals, and and so on and so forth. But, again, I'm getting ahead of myself. That's the marketer in me. That's down the road. So, yeah, let me go ahead and kick it over to Bryant to show off, AgencyOS. I think you're really gonna like it, and thanks for listening to my rambling. Thanks, Matt. Running a digital agency is challenging. There's a load of us in the Directus core team who have done it in a past life. There's so much to it beyond actually delivering projects. And it's those other bits that often make or break client relationships. Yet, to get your operating system set up often means you're stringing together many different rigid off the shelf tools are burning hours and hours of potentially billable time developing your own solutions and practices. Agency OS is everything you need to get your agency off the ground or improve tooling for your existing company. It's based on familiar, extensible open source tools. Directus for the back end and Nuxt for the front end. Here's what it offers. A great looking website to promote your work and convert visitors to leads and booked meetings. Look on brand in minutes. Swap your colors. Add your logos, and set up your fonts using a simple theme config file. It's backed by a super easy to use headless CMS with live preview and content versioning. A back end CRM slash project tracker to manage your entire project workflow. From first contact, creating proposals and managing pipeline, to managing the actual day to day work with projects and tasks. Leverage the project templates to make planning and managing larger complex projects easy peasy. A private client portal to provide superior communication with your clients. Agencies that make it super easy for clients to do business with them will be more successful than those who leave client experience up to chance. Clients can self serve within their portal, get updates on projects, pay their invoices painlessly, and get gently reminded to deliver the files, content, and other info you need to complete their project. Agency OS is the perfect base to compose your own solution. Instead of hoping and praying those off the shelf tools, will finally work together exactly the way you need them. We've just published a bunch of videos to show you how to get the most out of each module. To get started, just follow the setup instructions on our website and you'll be on your way to a better agency in no time. Directus has come a very long way from where we started, and it really can be the operating system for your entire organization. Today we used agencies as an example but we see real estate leaders, airlines, online stores, and educational institutions base their whole organizational backbone on Directus as a composable data platform. Tomorrow we're heading back to directors 10.7 to announce and highlight our latest release, but for now you can check out agency OS using the links accompanying this video. So until tomorrow, bye for now.",[107,108,109],"96a873a2-932e-4711-86f7-60d0e5ce983e","68b45f53-94fd-49d4-bacf-e2ffd26a3355","81818707-c839-46d3-97ce-51ea16766019",[],{"id":55,"number":56,"show":4,"year":57,"episodes":112},[59,60,61,62,63],{"id":61,"slug":114,"vimeo_id":115,"description":116,"tile":117,"length":17,"resources":9,"people":118,"episode_number":30,"published":123,"title":124,"video_transcript_html":125,"video_transcript_text":126,"content":9,"seo":9,"status":13,"episode_people":127,"recommendations":130,"season":131},"customize","894066337","At Leap Week 1, we introduced our brand new theming engine for the Directus Data Studio - a reliable way to set theming options inside of Directus.","2f6a785b-db3c-4952-af82-dd17f598ce3a",[119,120],{"name":73,"url":74},{"name":121,"url":122},"Rijk van Zanten","https:\u002F\u002Fdirectus.io\u002Fteam\u002Frijk-van-zanten","2023-10-25","Customize","\u003Cp>Speaker 0: Welcome back to Leap Week. It's always been important to us that you can make Directus your own not just in terms of what it can do but in terms of how it looks and feels. We already have quite a few custom theming options like setting colors and logos from the very first page that users see right through the data studio. And with custom endpoint extensions, this flexibility runs right through the APIs that directors provides as well. But today, we're gonna expand on what you can do in the Data Studio.\u003C\u002Fp>\u003Cp>Over to Like for more.\u003C\u002Fp>\u003Cp>Speaker 1: We've always allowed admins to add custom CSS to their direct this project, but it can be a little bit hacky and might just break whenever we change the markup in new releases to improve direct this or fix other bugs. Now we're not getting rid of any of these custom styles, but we have a very exciting new way to enhance that ability to make Directus your own. In Directus 10.7, we're launching a completely new theming engine that allows you to define custom themes and customize existing ones. You can do this through a new section in the settings panel. Let me show you how that works.\u003C\u002Fp>\u003Cp>In settings, there is a new theming interface with a set of themable options. Any CSS color, font weight, border ADI, etcetera will be accepted in there and you can save those changes to see them applied immediately. You can treat those new theming options as a sort of promise between the core team and developers that use Directus to make sure that we handle the mapping between the different options and the markup in the app. So that means if we ever change that markup when we implement new features, fix bugs, etcetera, we'll make sure that all of those callers and rules will still work as expected, giving you way more confidence in your custom team within upgrades between versions. This is really, really exciting because of what is happening in the background.\u003C\u002Fp>\u003Cp>What that settings interface is actually doing is really just creating a new Theme file. So anything that you can do within a Theme, you can overwrite within these settings. What's also cool about that is once you're happy with your overrides, you can copy paste that output and save it as a completely new theme. These themes will also be available as custom extensions in the very new future. Today, we're just exposing that light and dark theme you've seen in Directus before, but the intention is to turn themes into its own proper extension type, which also means you can make your own and distribute them to other profits.\u003C\u002Fp>\u003Cp>Gonna be adding more options for the rules in future releases, but we definitely hope you have a lot of fun making Directus feel more new.\u003C\u002Fp>\u003Cp>Speaker 0: We're always working to improve on the customizability of directors so it can really feel like it belongs to your company. This work represents a positive step forward, and we expect to introduce more configuration in this section in future releases. In the meantime, we hope you have fun with it and we'll see you tomorrow.\u003C\u002Fp>","Welcome back to Leap Week. It's always been important to us that you can make Directus your own not just in terms of what it can do but in terms of how it looks and feels. We already have quite a few custom theming options like setting colors and logos from the very first page that users see right through the data studio. And with custom endpoint extensions, this flexibility runs right through the APIs that directors provides as well. But today, we're gonna expand on what you can do in the Data Studio. Over to Like for more. We've always allowed admins to add custom CSS to their direct this project, but it can be a little bit hacky and might just break whenever we change the markup in new releases to improve direct this or fix other bugs. Now we're not getting rid of any of these custom styles, but we have a very exciting new way to enhance that ability to make Directus your own. In Directus 10.7, we're launching a completely new theming engine that allows you to define custom themes and customize existing ones. You can do this through a new section in the settings panel. Let me show you how that works. In settings, there is a new theming interface with a set of themable options. Any CSS color, font weight, border ADI, etcetera will be accepted in there and you can save those changes to see them applied immediately. You can treat those new theming options as a sort of promise between the core team and developers that use Directus to make sure that we handle the mapping between the different options and the markup in the app. So that means if we ever change that markup when we implement new features, fix bugs, etcetera, we'll make sure that all of those callers and rules will still work as expected, giving you way more confidence in your custom team within upgrades between versions. This is really, really exciting because of what is happening in the background. What that settings interface is actually doing is really just creating a new Theme file. So anything that you can do within a Theme, you can overwrite within these settings. What's also cool about that is once you're happy with your overrides, you can copy paste that output and save it as a completely new theme. These themes will also be available as custom extensions in the very new future. Today, we're just exposing that light and dark theme you've seen in Directus before, but the intention is to turn themes into its own proper extension type, which also means you can make your own and distribute them to other profits. Gonna be adding more options for the rules in future releases, but we definitely hope you have a lot of fun making Directus feel more new. We're always working to improve on the customizability of directors so it can really feel like it belongs to your company. This work represents a positive step forward, and we expect to introduce more configuration in this section in future releases. In the meantime, we hope you have fun with it and we'll see you tomorrow.",[128,129],"6d66dee1-8bca-453f-a81d-401a237b489a","d3171c87-b074-459c-9fcb-4c5dec37a194",[],{"id":55,"number":56,"show":4,"year":57,"episodes":132},[59,60,61,62,63],{"id":62,"slug":134,"vimeo_id":135,"description":136,"tile":137,"length":138,"resources":9,"people":139,"episode_number":17,"published":147,"title":148,"video_transcript_html":149,"video_transcript_text":150,"content":9,"seo":9,"status":13,"episode_people":151,"recommendations":155,"season":156},"visualize","894066172","At Leap Week 1, we introduced loads of improvements to Directus Insights and had a Directus community update from our CEO Ben.","425d1a26-015a-4255-8360-5f7d960c1451",15,[140,141,144],{"name":73,"url":74},{"name":142,"url":143},"Connor Winston","https:\u002F\u002Fdirectus.io\u002Fteam\u002Fconnor-winston",{"name":145,"url":146},"Ben Haynes","https:\u002F\u002Fdirectus.io\u002Fteam\u002Fben-haynes","2023-10-26","Visualize","\u003Cp>Speaker 0: Directus plays a pivotal role in making your data accessible to everyone in your organization. It's really our core mission to democratize data. Now providing access to your database collections and items through the data studio goes a long way but this is really where Directus Insights shines. If you're not familiar, Directus Insights is our dashboard builder and panels don't have to stop at just displaying data, They can also include forms and other interactive elements providing ways to then act on that data, making dashboards an excellent canvas to build internal and back office applications. We've released lots of great educational content in our docs, on our developer blog, and our YouTube channel to help you build custom panels.\u003C\u002Fp>\u003Cp>And in Directus 10.7, we've given a lot of love to the insights module. I wanna hand over to Connor to tell you more.\u003C\u002Fp>\u003Cp>Speaker 1: Hey, y'all. There have been several dozen improvements to Directus Insights in 10.7. Here they are. Firstly, we've added some useful tools to help you manage your insights dashboards. You can now duplicate entire dashboards, export and import, and apply bulk actions.\u003C\u002Fp>\u003Cp>There's a brand new panel selection user interface, and if you build custom panels, you can provide your own graphic here. It doesn't only look nicer, it does a better job of illustrating what every panel does. You can now comment on dashboards, making them a good canvas for collaboration. Naturally, we've also made enhancements to existing panels, including a bunch of styling options for label and metric panels, number formatting for metric panels, including style, notation, unit, and granular decimal settings, And my favorite, the ability to add multiple series to line charts, which is really useful when understanding your datasets and how they impact each other. Finally, we've released a new metric list panel, which lets you display a list of metrics, such as the top 5 selling products for the quarter, a global leaderboard, or the most viewed pages on your website.\u003C\u002Fp>\u003Cp>There are loads of quality of life improvements in Directus Insights, but you'll have to download Directus 10.7 to discover them. Thank you for having me. I hope\u003C\u002Fp>\u003Cp>Speaker 0: you enjoy all the new features. Bye y'all. Thank you so much for that, Connor. Directus really is the sum of its parts, and that includes you, our wonderful community. So it would give me great pleasure to introduce our CEO and cofounder, Ben, to take the mic and say a few words.\u003C\u002Fp>\u003Cp>Speaker 2: Thank you so much, Kevin. Lots to cover today. This is a really exciting event for us. We have a long history at Directus going back to 2004, when I first created the the platform, as part of my agency in New York City. As some of you might know we based this platform on phpMyAdmin.\u003C\u002Fp>\u003Cp>So that kinda goes to show how, you know, legacy the roots of the system are. We've subsequently open sourced this, you know, years later, Rich joined the team, and we continue to grow throughout 20 years of product development and growing our team. So today, what I'd like to really dive into is the community side of our of our organization, which really is the most important extension of our core team. And we're gonna focus on 5 key aspects of this community that I think really help understand how we got here 20 years later. And we're gonna start off with GitHub.\u003C\u002Fp>\u003Cp>GitHub is inarguably in my opinion one of the most valuable metrics how for how we measure success. I remember, you know, back in 2017 and this is on our our Twitter feed. You can actually see there's a piece of hardware, that just showed this metric, you know, GitHub stars. And I think it was 1400 or thereabouts, back then. Now I have a digital version of the same thing where we are at 23,496.\u003C\u002Fp>\u003Cp>And it would be amazing if we could just push it over you know 24,000 and beyond. But this metric has been so amazing at quantifying, how developers feel about our software. Watching the curve of seeing those GitHub stars go up. We used to be blown away by every single individual star and now it seems like a month doesn't go by where we don't go through a 1,000 stars. So, you know, that has been our guiding light GitHub stars.\u003C\u002Fp>\u003Cp>Those star stargazers. Thank you all so much. The next on that GitHub side of things would really be just contributors. There's the overall contributor network, but who's actually submitting those poll requests to our, our repository. I think we have 350 plus contributors going in and doing pull requests, contributing to our discussions, fixes, and of course taking part in our license change.\u003C\u002Fp>\u003Cp>You know just a few months ago we made a big paradigm shift moving from GPL to BSL and we did this with our community. We did this through GitHub. And so thank you to everybody who's been involved in everything from PRs to figuring out exactly how we make this into a sustainable organization. The third piece of GitHub, would be issues. This is just a really interesting metric.\u003C\u002Fp>\u003Cp>It kinda is the sum of our discussions and pull requests and fixes all of these different components of GitHub. But we actually just a few weeks ago passed 20,000 of these issues which is just an insane number to me. And so, you know, across stars contributors and issues, that's the GitHub side of our community. It's really just the annex of all of our, our work. You know both the code and community, comes together there.\u003C\u002Fp>\u003Cp>Next up, diving into Discord. So if you look at the authoritative, you know, GitHub as where our our source code and we're tracking the project, Discord is more of an ephemeral community building. We have our events. We have, both our core and community located in in Discord. We started off on Slack a little more business oriented, and we shifted over to to Discord and I I believe we passed maybe a month or 2 ago 10,000 members, of this platform which again on the community side is just so meaningful to have people engaging and interacting, asking questions, giving answers, you know, talking about their collaborations and things they've built on our platform.\u003C\u002Fp>\u003Cp>It's just amazing to see that, it's it's, you know, being a little, obsessive about checking all of my channels and seeing all these unread channels that, you know, minutes later, they just there's more people chatting. It's it's just it's just so exciting to see. So beyond sort of our core team, which is in some private channels, our community, which is in all the public channels, we also host a lot of events in our Discord, server. So we have everything from office hours, and request review where we cover you know the process of how we look at our feature requests through GitHub and then we form we go through you know what's how do we decide what comes next. How do we you know evaluate these these requests alongside the business needs and growing the business.\u003C\u002Fp>\u003Cp>So lots to cover. If you want to join those events. You know there's always something going on even in this leap week. We're adding in like ad hoc events you know after these pre recording pre recording things we're actually circling back and you know spending some time on discord chatting about these these releases that we're we're announcing. So join us on those maybe even after this, in Discord.\u003C\u002Fp>\u003Cp>You know, don't mention the core team, but you can certainly come in and join those events and just start those dialogues. Next we have user groups. So user groups is sort of the transition from maybe digital to, you know, in real life. We have, you know, this amazing piece of software. We have this telepresence and videos and all these great events and everything through Discord.\u003C\u002Fp>\u003Cp>But how do you actually bridge the gap into the real world? And we're doing that through regional global events. So our team is global. Our community is global. Our platform is global.\u003C\u002Fp>\u003Cp>And so our events are also global. We've done New York City, and London and Berlin, so far. And really excited to announce right now that we have several other regions that we're that we're pushing imminently. So San Francisco, shout out to our amazing investors, with True Ventures. We have Amsterdam, the home of Rijk Van Zanten, our our CTO and co founder.\u003C\u002Fp>\u003Cp>And we have Paris, coming up where if you've been following along, we have Alex, our new, director of engineering who joined us from the Nuxt team. So he's he's, out of out of Paris or out of, Bordeaux actually. So really exciting to have these these moments to go meet up with our community, have some pizza, hang out and talk shop. And if you want more information, if you're looking for notifications on these events, we actually have an events page on the website. You can go and sign up for those per region.\u003C\u002Fp>\u003Cp>So that's, that's where you can go, for next steps there. 4th is guest authors. So contributing to the platform can come in a lot of different ways. Obviously, you can contribute via code. We talked about events, but content, you know, documentation and articles.\u003C\u002Fp>\u003Cp>How do you use these amazing capabilities? When you have a a toolkit, and there's infinite ways you can piece it together to build different things. And so we love having this guest author program we've just started, which gives us the ability to bring in contributors, to actually have them share the tooling that they're building for Directus. You know, whether it's on Directus or beside Directus extensions, etcetera. Different deployment options.\u003C\u002Fp>\u003Cp>We have, you know, everything under the sun from DigitalOcean or Platform SH. There's so many ways you can deploy it. We can't cover all those. So having guests come in with their domain expertise and talk about you know these different methods is is an amazing avenue to creating that content. I think we even had an like an AI based game that was created using our flow system which is our our automation tool.\u003C\u002Fp>\u003Cp>So really amazing. You can again go to our website and learn more about the guest author program and that's run through GitHub. So same as a pull request or anything else, you just pitch your idea. You'll work with our team and we'll get that formalized and and give you some cash. Next and last is our hackathon.\u003C\u002Fp>\u003Cp>Our hackathons. This is probably, you know, the most exciting thing that we're doing right now. When you talk about a toolkit, you talk about how many options there are. You talk about the modularity and extensibility of Disk. It goes hand in hand with a marketplace with, the extension system.\u003C\u002Fp>\u003Cp>We've built Direct Disk with modularity and extensibility from the ground up. So this is not something we came up with years later. We've truly integrated this into how we thought of the product. You know, if you've heard of our 80 20 rule, we strive to have the core software provide 80% of what you're looking for out of the box. And that other 20% should really be accommodated by not just forking and customizing the open source side, but building extensions and having a really strong developer experience.\u003C\u002Fp>\u003Cp>And so part of that is us working with the community, to look at, you know, what should the theme be for for a certain month and how can we, reward or help incentivize people to go out and build these amazing extensions, that will end up hopefully in this, in a marketplace. So a few months ago we did a AI themed hackathon which was amazing. I'll I'll talk about a few of those, here in a moment. But, it's worth mentioning that we're in the final week of the current hackathon which is around panels. So our dashboarding system called Insights, is again another modular system.\u003C\u002Fp>\u003Cp>You can build anything from a time series to a meter to forecasting or anything else. Submit that into this, hackathon and, you know, several $1,000, you know, donations. Just it's a really great program. But going back to our AI, hackathon of, 2 months ago, we have two ways that we sort of, you know, reward the the winners of those of of each hackathon. 1 is a community award, and 1 is our core team, sort of voting on on what we feel is most meaningful.\u003C\u002Fp>\u003Cp>The community was a really, really amazing one. So this is a AI powered, image processing flow. And what it actually does is it allows you to actually extract text from images or media that gets uploaded to the system in that hook, and also describe, you know, enrich the data with, with metadata from anything that you might upload. So very valuable if you're dealing with a lot of assets, you know, digital asset management system. Just one of the use cases you can power with Directus.\u003C\u002Fp>\u003Cp>That was the community award. So they got, you know, $1,000 cash and we actually donated $250 to the donation of their choice. And on the core side, our core team actually elected Directus Copilot, which is probably familiar with what Copilot is. That was an insights panel where you could actually use NLP, your natural language processing, to ask questions about your data and get meaningful insights. So just really really cool to see what the community comes up with, you know, off the wall, whatever it might be, submit those.\u003C\u002Fp>\u003Cp>And, yeah. We'll be taking a look at the the panel submissions, in just about a week. So those are the 5 key aspects of our community. Obviously the guiding light of this entire organization has been since the beginning. I I couldn't be more proud of our core team.\u003C\u002Fp>\u003Cp>The extension of that being our, you know, additional maintainers and contributors, the global community network that we've built on that has advocated for us and engaged with us across Discord and all these different platforms, not just for Directus, but also for open source, which of course that's what it's what it's all about. So my sincere thank you to everybody in this community, for being a part of this journey. And with that, I'm gonna throw it back to Kevin so we can keep on keeping on. Thanks. Thank you\u003C\u002Fp>\u003Cp>Speaker 0: so much for that, Ben. I couldn't have said it better myself. All of the care and attention we've made to the insights module that we spoke about earlier today is now available in Directus 10.7 which is available now. Now we're starting to get towards the end of Leap Week, but but don't leave us. We have an amazing further announcement for tomorrow, and I'll see you then.\u003C\u002Fp>","Directus plays a pivotal role in making your data accessible to everyone in your organization. It's really our core mission to democratize data. Now providing access to your database collections and items through the data studio goes a long way but this is really where Directus Insights shines. If you're not familiar, Directus Insights is our dashboard builder and panels don't have to stop at just displaying data, They can also include forms and other interactive elements providing ways to then act on that data, making dashboards an excellent canvas to build internal and back office applications. We've released lots of great educational content in our docs, on our developer blog, and our YouTube channel to help you build custom panels. And in Directus 10.7, we've given a lot of love to the insights module. I wanna hand over to Connor to tell you more. Hey, y'all. There have been several dozen improvements to Directus Insights in 10.7. Here they are. Firstly, we've added some useful tools to help you manage your insights dashboards. You can now duplicate entire dashboards, export and import, and apply bulk actions. There's a brand new panel selection user interface, and if you build custom panels, you can provide your own graphic here. It doesn't only look nicer, it does a better job of illustrating what every panel does. You can now comment on dashboards, making them a good canvas for collaboration. Naturally, we've also made enhancements to existing panels, including a bunch of styling options for label and metric panels, number formatting for metric panels, including style, notation, unit, and granular decimal settings, And my favorite, the ability to add multiple series to line charts, which is really useful when understanding your datasets and how they impact each other. Finally, we've released a new metric list panel, which lets you display a list of metrics, such as the top 5 selling products for the quarter, a global leaderboard, or the most viewed pages on your website. There are loads of quality of life improvements in Directus Insights, but you'll have to download Directus 10.7 to discover them. Thank you for having me. I hope you enjoy all the new features. Bye y'all. Thank you so much for that, Connor. Directus really is the sum of its parts, and that includes you, our wonderful community. So it would give me great pleasure to introduce our CEO and cofounder, Ben, to take the mic and say a few words. Thank you so much, Kevin. Lots to cover today. This is a really exciting event for us. We have a long history at Directus going back to 2004, when I first created the the platform, as part of my agency in New York City. As some of you might know we based this platform on phpMyAdmin. So that kinda goes to show how, you know, legacy the roots of the system are. We've subsequently open sourced this, you know, years later, Rich joined the team, and we continue to grow throughout 20 years of product development and growing our team. So today, what I'd like to really dive into is the community side of our of our organization, which really is the most important extension of our core team. And we're gonna focus on 5 key aspects of this community that I think really help understand how we got here 20 years later. And we're gonna start off with GitHub. GitHub is inarguably in my opinion one of the most valuable metrics how for how we measure success. I remember, you know, back in 2017 and this is on our our Twitter feed. You can actually see there's a piece of hardware, that just showed this metric, you know, GitHub stars. And I think it was 1400 or thereabouts, back then. Now I have a digital version of the same thing where we are at 23,496. And it would be amazing if we could just push it over you know 24,000 and beyond. But this metric has been so amazing at quantifying, how developers feel about our software. Watching the curve of seeing those GitHub stars go up. We used to be blown away by every single individual star and now it seems like a month doesn't go by where we don't go through a 1,000 stars. So, you know, that has been our guiding light GitHub stars. Those star stargazers. Thank you all so much. The next on that GitHub side of things would really be just contributors. There's the overall contributor network, but who's actually submitting those poll requests to our, our repository. I think we have 350 plus contributors going in and doing pull requests, contributing to our discussions, fixes, and of course taking part in our license change. You know just a few months ago we made a big paradigm shift moving from GPL to BSL and we did this with our community. We did this through GitHub. And so thank you to everybody who's been involved in everything from PRs to figuring out exactly how we make this into a sustainable organization. The third piece of GitHub, would be issues. This is just a really interesting metric. It kinda is the sum of our discussions and pull requests and fixes all of these different components of GitHub. But we actually just a few weeks ago passed 20,000 of these issues which is just an insane number to me. And so, you know, across stars contributors and issues, that's the GitHub side of our community. It's really just the annex of all of our, our work. You know both the code and community, comes together there. Next up, diving into Discord. So if you look at the authoritative, you know, GitHub as where our our source code and we're tracking the project, Discord is more of an ephemeral community building. We have our events. We have, both our core and community located in in Discord. We started off on Slack a little more business oriented, and we shifted over to to Discord and I I believe we passed maybe a month or 2 ago 10,000 members, of this platform which again on the community side is just so meaningful to have people engaging and interacting, asking questions, giving answers, you know, talking about their collaborations and things they've built on our platform. It's just amazing to see that, it's it's, you know, being a little, obsessive about checking all of my channels and seeing all these unread channels that, you know, minutes later, they just there's more people chatting. It's it's just it's just so exciting to see. So beyond sort of our core team, which is in some private channels, our community, which is in all the public channels, we also host a lot of events in our Discord, server. So we have everything from office hours, and request review where we cover you know the process of how we look at our feature requests through GitHub and then we form we go through you know what's how do we decide what comes next. How do we you know evaluate these these requests alongside the business needs and growing the business. So lots to cover. If you want to join those events. You know there's always something going on even in this leap week. We're adding in like ad hoc events you know after these pre recording pre recording things we're actually circling back and you know spending some time on discord chatting about these these releases that we're we're announcing. So join us on those maybe even after this, in Discord. You know, don't mention the core team, but you can certainly come in and join those events and just start those dialogues. Next we have user groups. So user groups is sort of the transition from maybe digital to, you know, in real life. We have, you know, this amazing piece of software. We have this telepresence and videos and all these great events and everything through Discord. But how do you actually bridge the gap into the real world? And we're doing that through regional global events. So our team is global. Our community is global. Our platform is global. And so our events are also global. We've done New York City, and London and Berlin, so far. And really excited to announce right now that we have several other regions that we're that we're pushing imminently. So San Francisco, shout out to our amazing investors, with True Ventures. We have Amsterdam, the home of Rijk Van Zanten, our our CTO and co founder. And we have Paris, coming up where if you've been following along, we have Alex, our new, director of engineering who joined us from the Nuxt team. So he's he's, out of out of Paris or out of, Bordeaux actually. So really exciting to have these these moments to go meet up with our community, have some pizza, hang out and talk shop. And if you want more information, if you're looking for notifications on these events, we actually have an events page on the website. You can go and sign up for those per region. So that's, that's where you can go, for next steps there. 4th is guest authors. So contributing to the platform can come in a lot of different ways. Obviously, you can contribute via code. We talked about events, but content, you know, documentation and articles. How do you use these amazing capabilities? When you have a a toolkit, and there's infinite ways you can piece it together to build different things. And so we love having this guest author program we've just started, which gives us the ability to bring in contributors, to actually have them share the tooling that they're building for Directus. You know, whether it's on Directus or beside Directus extensions, etcetera. Different deployment options. We have, you know, everything under the sun from DigitalOcean or Platform SH. There's so many ways you can deploy it. We can't cover all those. So having guests come in with their domain expertise and talk about you know these different methods is is an amazing avenue to creating that content. I think we even had an like an AI based game that was created using our flow system which is our our automation tool. So really amazing. You can again go to our website and learn more about the guest author program and that's run through GitHub. So same as a pull request or anything else, you just pitch your idea. You'll work with our team and we'll get that formalized and and give you some cash. Next and last is our hackathon. Our hackathons. This is probably, you know, the most exciting thing that we're doing right now. When you talk about a toolkit, you talk about how many options there are. You talk about the modularity and extensibility of Disk. It goes hand in hand with a marketplace with, the extension system. We've built Direct Disk with modularity and extensibility from the ground up. So this is not something we came up with years later. We've truly integrated this into how we thought of the product. You know, if you've heard of our 80 20 rule, we strive to have the core software provide 80% of what you're looking for out of the box. And that other 20% should really be accommodated by not just forking and customizing the open source side, but building extensions and having a really strong developer experience. And so part of that is us working with the community, to look at, you know, what should the theme be for for a certain month and how can we, reward or help incentivize people to go out and build these amazing extensions, that will end up hopefully in this, in a marketplace. So a few months ago we did a AI themed hackathon which was amazing. I'll I'll talk about a few of those, here in a moment. But, it's worth mentioning that we're in the final week of the current hackathon which is around panels. So our dashboarding system called Insights, is again another modular system. You can build anything from a time series to a meter to forecasting or anything else. Submit that into this, hackathon and, you know, several $1,000, you know, donations. Just it's a really great program. But going back to our AI, hackathon of, 2 months ago, we have two ways that we sort of, you know, reward the the winners of those of of each hackathon. 1 is a community award, and 1 is our core team, sort of voting on on what we feel is most meaningful. The community was a really, really amazing one. So this is a AI powered, image processing flow. And what it actually does is it allows you to actually extract text from images or media that gets uploaded to the system in that hook, and also describe, you know, enrich the data with, with metadata from anything that you might upload. So very valuable if you're dealing with a lot of assets, you know, digital asset management system. Just one of the use cases you can power with Directus. That was the community award. So they got, you know, $1,000 cash and we actually donated $250 to the donation of their choice. And on the core side, our core team actually elected Directus Copilot, which is probably familiar with what Copilot is. That was an insights panel where you could actually use NLP, your natural language processing, to ask questions about your data and get meaningful insights. So just really really cool to see what the community comes up with, you know, off the wall, whatever it might be, submit those. And, yeah. We'll be taking a look at the the panel submissions, in just about a week. So those are the 5 key aspects of our community. Obviously the guiding light of this entire organization has been since the beginning. I I couldn't be more proud of our core team. The extension of that being our, you know, additional maintainers and contributors, the global community network that we've built on that has advocated for us and engaged with us across Discord and all these different platforms, not just for Directus, but also for open source, which of course that's what it's what it's all about. So my sincere thank you to everybody in this community, for being a part of this journey. And with that, I'm gonna throw it back to Kevin so we can keep on keeping on. Thanks. Thank you so much for that, Ben. I couldn't have said it better myself. All of the care and attention we've made to the insights module that we spoke about earlier today is now available in Directus 10.7 which is available now. Now we're starting to get towards the end of Leap Week, but but don't leave us. We have an amazing further announcement for tomorrow, and I'll see you then.",[152,153,154],"12020eaa-187f-4f64-bd1d-7472e947be61","3698ff11-c36a-4776-b99d-90e10ab5c8fa","0bbd3dc8-6276-4235-9980-96500ebbad94",[],{"id":55,"number":56,"show":4,"year":57,"episodes":157},[59,60,61,62,63],{"id":63,"slug":159,"vimeo_id":160,"description":161,"tile":162,"length":70,"resources":9,"people":163,"episode_number":168,"published":169,"title":170,"video_transcript_html":171,"video_transcript_text":172,"content":9,"seo":9,"status":13,"episode_people":173,"recommendations":176,"season":177},"extend","894066101","At Leap Week 1, we introduced the Secure Extension Framework as a way to gain and have trust with third-party extensions.","cee6bc32-160c-41c5-b981-d92d96b38ecb",[164,165],{"name":73,"url":74},{"name":166,"url":167},"Esther Agbaje","https:\u002F\u002Fdirectus.io\u002Fteam\u002Festher-agbaje",5,"2023-10-27","Extend","\u003Cp>Speaker 0: This has been a huge week of announcements and thank you so much for joining us and being a part of it but we're not quite at the end yet. The idea of a directus marketplace has been around for years. It's the natural next step from having a robust and flexible extensions framework. Now today's announcement isn't the marketplace, but instead the final piece of foundational work required to allow us to work on the marketplace with full force. So let's talk about that foundational work to date.\u003C\u002Fp>\u003Cp>The Director's Extensions SDK provides a toolkit to help you build extensions all the way from scaffolding to working with data and building a polished user interface. You can install extensions via NPM or external storage locations like S3. We've created a detailed yet readable metadata structure for your extensions package JSON file and a host of smaller things, including a standardized way to present errors and more ways that we expose the directus internals for you to take advantage of. But underpinning everything is our need to have confidence in the way that we ask you to build extensions and that that should be more or less the same for many directors versions to come. The secure extensions framework shipping as part of Directus 10.7 is the final part of those foundations, providing an explicit permissions model the extensions will need to adopt to be distributed and adopted in the future.\u003C\u002Fp>\u003Cp>To tell you more, here's Esther.\u003C\u002Fp>\u003Cp>Speaker 1: As developers, we know security is one of the most crucial aspects of building software. Whether you're creating products for users or creating internal tools, you want to be able to innovate freely while also protecting your data from vulnerabilities. Extensions in directors provide a way to build, modify, or expand directors functionality beyond the default for your specific needs. That's why today, we are very excited to announce secure extensions. Secure extensions are a powerful way to maintain strict control over interactions with the external environment when developing extensions.\u003C\u002Fp>\u003Cp>It allows you to configure restrictions on how extensions access your information and communicate externally. In addition to the security they provide, secure extensions also serve as a foundation for the director's marketplace, ensuring that all extensions available for users are developed with security in mind. At the heart of secure extensions is the concept of isolates. An isolate is a secure sandbox where extensions are evaluated and executed. Let's check out an example of how to develop a secure extension.\u003C\u002Fp>\u003Cp>Start by creating an extension like you normally do using the director's extension CLI. Next, open the package dot JSON of the extension and add a sandbox property, which is an object. Within that object, add 2 properties enabled with the value of true and requested scopes, which is an array of function scopes the extension needs access to. By using scopes and the sandbox functions exposed by directors, isolates are granted new and specific capabilities. For example, the request function allows you to make requests to external services.\u003C\u002Fp>\u003Cp>To use the request function, you need to add permissions for the request scope in your extension's metadata, including which external URLs can be accessed by it. Be sure to check out the full list of available sandbox functions in our documentation. We'll continuously be shipping more functions as part of the secure extensions framework, So keep an eye on future releases. With secure extensions laying the groundwork for the marketplace, you can create reliable extensions that enhance the functionality of directors while maintaining the highest standard of data protection. We can't wait to see your contributions and the extensions that you come up with.\u003C\u002Fp>\u003Cp>Over to you, Kev.\u003C\u002Fp>\u003Cp>Speaker 0: And that is the 1st director sleep week wrapped. We covered loads. The release of directors 10.7 comes with content versioning, huge improvements to our insights module, our secure extensions framework, and new app theming options. We also spoke about the evolution of Directus and what it means to treat it as a composable data platform as well as sharing agent c OS with you. And finally, there were some teasers of what comes after secure extensions.\u003C\u002Fp>\u003Cp>Thank you so much for being a part of this. I've had a blast. And on behalf of the whole directors core team, thank you and bye for now.\u003C\u002Fp>","This has been a huge week of announcements and thank you so much for joining us and being a part of it but we're not quite at the end yet. The idea of a directus marketplace has been around for years. It's the natural next step from having a robust and flexible extensions framework. Now today's announcement isn't the marketplace, but instead the final piece of foundational work required to allow us to work on the marketplace with full force. So let's talk about that foundational work to date. The Director's Extensions SDK provides a toolkit to help you build extensions all the way from scaffolding to working with data and building a polished user interface. You can install extensions via NPM or external storage locations like S3. We've created a detailed yet readable metadata structure for your extensions package JSON file and a host of smaller things, including a standardized way to present errors and more ways that we expose the directus internals for you to take advantage of. But underpinning everything is our need to have confidence in the way that we ask you to build extensions and that that should be more or less the same for many directors versions to come. The secure extensions framework shipping as part of Directus 10.7 is the final part of those foundations, providing an explicit permissions model the extensions will need to adopt to be distributed and adopted in the future. To tell you more, here's Esther. As developers, we know security is one of the most crucial aspects of building software. Whether you're creating products for users or creating internal tools, you want to be able to innovate freely while also protecting your data from vulnerabilities. Extensions in directors provide a way to build, modify, or expand directors functionality beyond the default for your specific needs. That's why today, we are very excited to announce secure extensions. Secure extensions are a powerful way to maintain strict control over interactions with the external environment when developing extensions. It allows you to configure restrictions on how extensions access your information and communicate externally. In addition to the security they provide, secure extensions also serve as a foundation for the director's marketplace, ensuring that all extensions available for users are developed with security in mind. At the heart of secure extensions is the concept of isolates. An isolate is a secure sandbox where extensions are evaluated and executed. Let's check out an example of how to develop a secure extension. Start by creating an extension like you normally do using the director's extension CLI. Next, open the package dot JSON of the extension and add a sandbox property, which is an object. Within that object, add 2 properties enabled with the value of true and requested scopes, which is an array of function scopes the extension needs access to. By using scopes and the sandbox functions exposed by directors, isolates are granted new and specific capabilities. For example, the request function allows you to make requests to external services. To use the request function, you need to add permissions for the request scope in your extension's metadata, including which external URLs can be accessed by it. Be sure to check out the full list of available sandbox functions in our documentation. We'll continuously be shipping more functions as part of the secure extensions framework, So keep an eye on future releases. With secure extensions laying the groundwork for the marketplace, you can create reliable extensions that enhance the functionality of directors while maintaining the highest standard of data protection. We can't wait to see your contributions and the extensions that you come up with. Over to you, Kev. And that is the 1st director sleep week wrapped. We covered loads. The release of directors 10.7 comes with content versioning, huge improvements to our insights module, our secure extensions framework, and new app theming options. We also spoke about the evolution of Directus and what it means to treat it as a composable data platform as well as sharing agent c OS with you. And finally, there were some teasers of what comes after secure extensions. Thank you so much for being a part of this. I've had a blast. And on behalf of the whole directors core team, thank you and bye for now.",[174,175],"ffae9b7f-29c7-4f68-ab37-be89f6ddfbc2","8ebc3999-6d73-4651-ba8b-7ce67861d73e",[],{"id":55,"number":56,"show":4,"year":57,"episodes":178},[59,60,61,62,63],{"id":45,"slug":180,"vimeo_id":181,"description":182,"tile":183,"length":184,"resources":9,"people":9,"episode_number":56,"published":185,"title":186,"video_transcript_html":187,"video_transcript_text":188,"content":9,"seo":9,"status":13,"episode_people":189,"recommendations":190,"season":191},"02-keynote","919060200","The full keynote from our second Leap Week in March 2024","b84681ca-ea99-4dfc-b741-635d5c0e65f7",33,"2024-03-04","Leap Week 02: Full Keynote","\u003Cp>Speaker 0: Hello. Ben Haines, CEO and founder of Directus. It is actually 2024, and I originally started this software in 2004. So now 2 decades in, obviously, quite a bit has changed, and I think it's well overdue for us to go through and look at how we talk about Directus and how that has changed, over those those 2 decades. I'd like to do that through a quick 5 minute demo.\u003C\u002Fp>\u003Cp>Obviously, a lot to cover in 5 minutes, but let's see, if we can make that happen. So we're starting off right here on the login screen. Here we're already logged in, so we're just gonna hit continue. But I think the first thing to notice, is that the entire platform is white label. Everything here is themeable from the border radii to the colors to this, subtle animation on the right.\u003C\u002Fp>\u003Cp>But this is your login screen. Same thing for all these public pages. Of course, you'd have 2 factor authentication, SSO, anything else you might need here, for your your project. Let's go ahead and log in. Again, as a reminder, the way that Directus works is you point it at a database.\u003C\u002Fp>\u003Cp>I like to start on this screen, because this is just a table in your database called metrics. Nothing more straightforward than that. Instead of seeing, you know, UNIX time stamps and, you know, just really complex data, we're seeing it in an intuitive way. This is a table layout. Many different ways you can look at your data, but here we're seeing conditional styling with icons, nice relative time stamps, and nice colors.\u003C\u002Fp>\u003Cp>The full power of SQL is available here. We can of course do full text search, advanced filtering with logical grouping, everything you could do in SQL but in an in an intuitive no code way. Table views are pretty obvious. You can also come in and look at things through a media view. You could use a kanban view if you had, something where you're actually dragging things through some sort of process, and then keeping your your data organized like this.\u003C\u002Fp>\u003Cp>Of course, if you have geospatial data in your database, we support that as well. So whether it's submarine cables or devices on a map, all of this is available. You can quickly zoom in, drill into an item, click, and then go in and start editing that that data. We also have, contacts or any other type of data, but I think where we'll drill into the actual form is on this blog. So if we click on one of these items, in this case, multi orchestration cultivate infrastructure, lots of different interfaces for how we edit the data.\u003C\u002Fp>\u003Cp>You have time, daytime choosers. You have media selectors. You have this really great translation interface where you can actually go into a split view and manage multilingual content, etcetera. Every change that you make goes through our accountability system. So you can come over here and see all the revisions.\u003C\u002Fp>\u003Cp>These are the changes that were made by who and when. You can actually roll back and undo those features. Really, really important for data governance. We also have a full commenting system with mentions, emoji, and everything you'd expect, and you can actually share things. You can create a unique URL and share that out to people outside of this, this platform.\u003C\u002Fp>\u003Cp>So really powerful there as well. Moving on to a few of the other modules that we have. We have a user directory, which I'll pop into my user very quickly, just to showcase something that I think is pretty, pretty powerful. We can actually change the language to any of the 55 languages that we support and choose different themes, really tailoring it to the experience that I I need as a user. So as I come in, not only are we managing multilingual content, but the actual application can be translated as well.\u003C\u002Fp>\u003Cp>So that's a really important feature. I'm gonna change that back, to English. That is the language that I understand, and we'll continue on. Really, really powerful access control here within the user directory and no limits in terms of how many roles, or or users you have. Once you come into our asset management system, you can actually we scrape all of the, metadata.\u003C\u002Fp>\u003Cp>So I p t c, exif, all available, virtual folders, and you can, of course, come in here and do all of your edits and cropping. If you do that through the API, you actually have hundreds of different operations available. Insights, great for business intelligence, great for building out these different dashboards using aggregation, time series, anything that you can imagine. Very customizable. You just come in here, drag and drop these to whatever size you want.\u003C\u002Fp>\u003Cp>Lots of options available for, how are you setting your precision, your ranges, etcetera, the colors. So put that into a full screen mode, throw it on a, a second display, and you've got a really great dashboard available instantly. Once we go into settings, this is where the ad administrators are working. You can, of course, build your data model here or you can build it through the API or just define it right in SQL and allow it to cascade out through everything. Then you can go through and start setting your access control as we talked about.\u003C\u002Fp>\u003Cp>You know, you have managers. Based on the tables of your database, who can access what based on CRUD? Create, read, update, and delete. It's worth noting it's not just on and off, we have very granular rule based access control, within these different filters. Lots of other things to talk about including the theming and all these different options, all different extensions of our system.\u003C\u002Fp>\u003Cp>The last thing I'd like to quickly show is our flows. This is automation. This is where you can come in and say I wanna deploy an application when x happens. Those triggers can be a cron job every 15 minutes or Monday at midnight. You can also have it when content changes.\u003C\u002Fp>\u003Cp>Send out emails, to our different content authors for review. Lots of different operations you can choose from. And again, as with everything else in the system, it's all extensible and customizable. That's about as fast as we can run through the many, many features and capabilities of this platform. But for now, I'll hand it back over to Kevin.\u003C\u002Fp>\u003Cp>Thank you.\u003C\u002Fp>\u003Cp>Speaker 1: Thank you, Ben, and welcome to the second Leap Week. We have a fantastic week in store. We're going to start today with all of our announcements and then throughout the rest of the week we have loads of other events including socials, panels, and workshops for you to enjoy. One of the reasons people love Directus is because of its extensibility. You can augment and enhance most parts of Directus by using extensions, and then combine extensions in interesting ways to compose a data platform that really makes sense for your project.\u003C\u002Fp>\u003Cp>We have app extensions like panels for directors insights, interfaces for the directors editor, layouts, and themes. We also have API and hybrid extensions like operations, endpoints, and hooks. Our community has built so many amazing extensions including the media AI bundle that lets you extract information from images in Directus files, computed interfaces that change the way that data is displayed after applying logic to them, and, of course, the Director's Copilot that lets you have contextual conversations about your data with an AI bot in order to unlock new insights. Agency partners use extensions like Pixsy Labs based in London. They built a blur hash extension which allows them to nicely load in very large images for an online art gallery.\u003C\u002Fp>\u003Cp>And we have other customers use extensions for things like integrating with translation services, transforming videos, build automation, and more. Having this rich framework to build extensions is awesome. The missing bit has always been how to publish and reuse those extensions between projects. Today we are announcing something that I could not be more excited about, something which Directus users have been asking for for years. I'm gonna hand over to Rike to tell you more.\u003C\u002Fp>\u003Cp>Speaker 2: This is the Directless marketplace. It is in beta for now for this first release, so we do really want your feedback to make it even better. The focus of this first iteration is really about discovery and installation. I'm gonna show you each of those here. So in settings, on the left hand sidebar, there's a new section for the marketplace.\u003C\u002Fp>\u003Cp>In this marketplace, we have a listing of all of the extensions that we've been able to find on npm. These extensions contain every single type of extension that you know from before. So those are interfaces, modules, panels, teams, etc. When you install an extension, you'd find those in the same places where you'd find them normally. So for interfaces, you'd find it in data model, modules show up in the sidebar, themes, appearance, etcetera.\u003C\u002Fp>\u003Cp>For any of those types, you can find them by, you know, current popularity, which ones were most recently published, or which ones are downloaded the most. In this case, let me go see if we can install a theme. So I'm gonna look up, you know, with the search, gonna find the theme that I'm looking for. For each individual extension, we're pulling in the readme file from your GitHub repo if it's connected, and we're pulling in the author and maintainers as provided by npm. Same goes for an author.\u003C\u002Fp>\u003Cp>So in this particular case, because Kevin has his GitHub linked to his NPM, we can show, you know, the about information from his GitHub profile, together with an avatar, and all of the extensions that he has uploaded so far. To install the theme, I could just click the install button, and there it goes. So now that this theme is installed, I can find it under appearance like I'm with any other theme. There it is. And there we go.\u003C\u002Fp>\u003Cp>To manage extensions you have installed, you can go to the extensions tab as you would for extensions before, where you can now both disable and uninstall them again. In the future, there's a couple of additional features that we know we want to add, starting with verified authors, verified packages, allowing, you know, the end user to know which one is gonna be trusted. But, also, we're looking to see if we can open up monetization in the marketplace. So this would allow you to sell extensions that you have built to others, in the ecosystem. That will be in the future release.\u003C\u002Fp>\u003Cp>In the meantime, we absolutely hope you enjoy this. Please do leave all and every bit of feedback you have in the Discord channel marketplace beta.\u003C\u002Fp>\u003Cp>Speaker 1: So the marketplace. Cool. Right? And the thing that excites me most is the marketplace is gonna be available in every Director's project. So whether you're self hosting or you're using Director's Cloud, you will now be able to install extensions via the marketplace.\u003C\u002Fp>\u003Cp>Now, the marketplace is part of director version 10.10, but it isn't all. And we've had a few releases since the last week. So I wanted to kick it over to some of our engineers to tell you about the new and notable features that have shipped since the last Leap Week.\u003C\u002Fp>\u003Cp>Speaker 3: In Directus 10.8, we released a powerful new theming engine. Previously, you were limited to adding your own CSS on top of the data studio to make yours. You now have the flexibility to customize colors, fonts, spacing, and much more across Directus using our new theme interface. Being able to white label Directus has always been important. Bringing your brand and aesthetic to the forefront really make Directus feel like your own tool.\u003C\u002Fp>\u003Cp>Building on the excitement of our marketplace announcement, you can now develop and share themes as an extension. Now you can do more than just make direct us your own. You can share your designs and help others get creative too. We're excited to see the themes you bring to the marketplace. Thank you all for joining me in this exciting chapter.\u003C\u002Fp>\u003Cp>Your vision, your directness, ready to dazzle. The canvas is fast. The palette is rich. And the possibilities, endless.\u003C\u002Fp>\u003Cp>Speaker 4: As well as managing databases, Directus also helps you manage your files. As part of that, we offer media transformations via URL. Here's an image of 2 people on a beach. Notice that they're slightly off center. Which is fine, until you start to crop the image via your app.\u003C\u002Fp>\u003Cp>Here the image is being cropped off from the center, but these two people are being chopped off. In Directus 10.9, we introduced focal points. You can now specify the point for Directus treat as the center. You can do this via the data studio or the files API. Now the subjects that matter in your images can always be visible.\u003C\u002Fp>\u003Cp>You can combine this with our automation features to determine what the point of interest should be. We hope you enjoy working with focal points, a small change with big impact.\u003C\u002Fp>\u003Cp>Speaker 5: Before, when requesting content versions, this is the data structure, the data API return. And with relational fields, note that there is a create, update, delete array for each item. This is correct. It is what will happen when this version gets promoted. But it's different to what you may expect from an item when not using content version or using the main version.\u003C\u002Fp>\u003Cp>This does made it hard to implement live preview as you had to account for 2 different data structures. In directors 10.10, we will store this data structure. But when you request a content version, we will standardize the data structure before returning it. So the return data is now the outcome if you were to promote the item. Here, we have an example of both a one to many and the many to many relationship.\u003C\u002Fp>\u003Cp>In the one to many comments example, we are both updating an item and deleting related comments. The new output doesn't contain the deleted comment and returns the full item including any changes made in the content version. Likewise, in the many to many page blocks example, a block is being created and another deleted. The return data from a content version is now the same structure you expect including the outcome of any changes. Now you can implement live preview with a standard and predictable data structure.\u003C\u002Fp>\u003Cp>Speaker 1: Thank you very much for that rundown, and we hope you enjoy using theming, focal points, and our enhancements to content versioning. And, of course, this is just a tiny sliver of the features which we have included in our recent releases. But for today, there's plenty more announcements to\u003C\u002Fp>\u003Cp>Speaker 4: come.\u003C\u002Fp>\u003Cp>Speaker 6: Let's rock and roll.\u003C\u002Fp>\u003Cp>Speaker 1: Let's get started with Directus and Nuxt.\u003C\u002Fp>\u003Cp>Speaker 4: You don't hire smart people to tell them what to do. You hire smart people to figure out your problems.\u003C\u002Fp>\u003Cp>Speaker 6: Can you build Netflix in an hour?\u003C\u002Fp>\u003Cp>Speaker 1: Not terribly elegant, but we're just gonna throw a new error.\u003C\u002Fp>\u003Cp>Speaker 0: Because even pirates, sometimes they're they're not pirating the way you want\u003C\u002Fp>\u003Cp>Speaker 2: a pirate. Keep it simple. Won't be complicated.\u003C\u002Fp>\u003Cp>Speaker 4: Hey. I enjoy what I do.\u003C\u002Fp>\u003Cp>Speaker 1: I've got my pen now. I'm serious.\u003C\u002Fp>\u003Cp>Speaker 6: We're gonna be cutting this one really, really close.\u003C\u002Fp>\u003Cp>Speaker 1: Let's talk about Directus TV. It's a new streaming platform that we released at the end of last year with hours of content for you to enjoy and I wanna tell you about some of our series. In a 100 apps in a 100 hours, Bryant takes a common application idea and tries to build it in just 60 minutes. Sometimes he succeeds, sometimes he doesn't, and honestly it's a bit of a stressful watch but it's always a lot of fun. In Trace Talks, John and Pedro interview engineering leaders about their journeys.\u003C\u002Fp>\u003Cp>It's full of interesting insights and anecdotes for all stages of your career. And in quick connect, we show you how to integrate with third party platforms to build some interesting and useful automations. Today we're announcing some new shows that are going to land on your screen this spring. In what's in your doc, we discovered the toolkit behind really productive people. I don't know about you but whenever someone shares their screen I always look at all of the apps they're running in the hope that I can find something new that will somehow enrich my life.\u003C\u002Fp>\u003Cp>So, we've invited 5 guests to ask them about the software, hardware, and analog tools that they use to run their lives. I had a blast recording it and I know you're gonna have a blast watching it. In the joy of theming, we invite Bry Ross who is definitely not just Bryon in a wig to highlight the power behind the director's theming engine by creating nice new themes that pay homage to brands you know and love. There are only happy little accidents in this series and they're lovely lovely peaceful episodes. Battlesnake is a popular competitive game where your code is the controller and in Ready Set Battlesnake Andrew joins me to build a snake inside of Directus.\u003C\u002Fp>\u003Cp>Honestly, we can't believe it worked not only that it worked but it worked as well as it did, join us to find out how. With great power can come great complexity. In short hops, we share quick tips and tricks to help you get the most from directors. And the best bit is this series is based directly on community feedback. Today we're also announcing some show renewals so you can look forward to new episodes of both the 100 Apps in a 100 Hours and Dev Thoughts.\u003C\u002Fp>\u003Cp>Now many of you have also been asking about how directors TV is actually put together. So today we're also releasing in full a new series called Digging the Rabbit Hole where we're going to cover everything Directus TV from the conception and inspiration behind the platform, the technical setup, the life cycle of a show from pitch through to release, and some of the early feedback. We hope you enjoy all of these new shows that are landing this spring, and, of course, you can watch digging the rabbit hole in full today. Directors TV really is a community project. We're building shows for you to enjoy, taking in your feedback, and then deciding what new shows we can create or shows we can renew based on that feedback.\u003C\u002Fp>\u003Cp>Well, our community does so much more, and I wanna hand over to Jonathan to talk more about it.\u003C\u002Fp>\u003Cp>Speaker 7: Hey, everyone. The Directus community is the foundation, DNA, essence, source of strength, the font of magic, you might say, that makes up our team and makes us excited to come to work every day. We're so thrilled to have such a great community. I get the opportunity to interact with the community on a daily basis and that community interaction. I learned something new each time, and that includes anything from a feature request to a support ticket, to presales activities, talking to new clients, people that have used direct us for years to people that are brand new to the direct us.\u003C\u002Fp>\u003Cp>And I get that opportunity to interact with everyone, on a daily basis. And it is it it literally makes me excited to come to work every day. We do some other community actions and activities that we do our request reviews. We do those every 2 weeks. You get an opportunity to see our processes, how we go through feature requests, and we get that our we get that live interaction with community members.\u003C\u002Fp>\u003Cp>Hope to see you there. It's very, very fun and exciting to see that. And then from that explosion of ideas, we narrow that back down to what is possible. Some other things we do some in person activities these days. We'd still do some live interactions for Lynn, London, New York.\u003C\u002Fp>\u003Cp>There's a variety of others. You can find those out on the website and see that. And with that, I get to tell you about that newest hackathon. I'm so excited. The hackathons have brought new use cases, new capabilities to exist to the previous hackathons.\u003C\u002Fp>\u003Cp>We've seen and learned some really cool things about what people the concepts and ideas that someone might come up with. And so this particular hackathon is gonna be focused around one of our biggest, up boats kind of in the community is around payments. So we'd like to see the directest payments hackathon. We'd like to see you build and publish in the new marketplace. I'm so excited about the marketplace.\u003C\u002Fp>\u003Cp>Think through the scenarios and the use cases. You know, how would I deliver coupons? How would I deliver trials? What happens when payments fail? What happens when deployments fail or some issue happens during that process?\u003C\u002Fp>\u003Cp>Make sure you've got handling logic around those kinds of things. Include reporting include any, extensions or, data details that are valuable that you find in your day to day interactions, with payment platforms and how you want that to operate. You'll have until the end of March to submit that you'll find all of the details around prizes and information about how and when and what to submit, on directus. Io\u002Fhackathons, and you'll find links throughout the the documentation and things that we'll share through the coming days. With that said, I get the opportunity to hand off to mister Matt Miner to talk more about our community.\u003C\u002Fp>\u003Cp>Cheers.\u003C\u002Fp>\u003Cp>Speaker 8: Hey. How's it going? I'm Matt on the marketing team here at Directus. Data discussions really aren't the stuff of legend. In fact, when we put this survey together, at first, there was a couple, like, raised eyebrows, like, data, really?\u003C\u002Fp>\u003Cp>Is that what we wanna do? What do you know? A month later, we had a huge flood of responses. 782 developers told us how they're using data in their projects. That tells us that, you know, data isn't dull.\u003C\u002Fp>\u003Cp>There's just nobody talking about it in the right way. We're gonna make data exciting again. Here are the 6 things that we learned that we thought were really interesting, or 2 of these actually really shocked us when we found out. Number 1 is that Postgres leads the pack. It is the choice of over 63% of the developers we surveyed, that they're using in their projects currently.\u003C\u002Fp>\u003Cp>The number 2 thing, slightly related, but of all the database types when developers are starting new projects, over 57% of them said that they prefer relational databases all over over all other types. Even asked our CTO, Wrike, about it. And he said, you know, the most likely reason is that a vast majority of data applications have some sort of schema consistency need for type safety and expectability. In NoSQL, you can quickly end up effectively reimplementing a lot of things that a SQL database already offers out of the box. The number 3 thing we found that was really interesting to us was that developers are leaning towards Cloud Hosted Database Solutions.\u003C\u002Fp>\u003Cp>So by a wide margin too. Cloud leads, 68% of respondents prefer hosting with solutions like AWS or Azure, versus, you know, managed database services like DigitalOcean or on prem servers. This one, I think, was so shocking because it was so lopsided. 94% of our survey respondents said they prefer working with REST APIs as opposed to GraphQL. We kind of went into this thinking that cost was gonna be the primary factor, to consider when hosting databases.\u003C\u002Fp>\u003Cp>And in fact, it is a consideration, but it's not the most important. I think what this tells us is that developers are prioritizing performance and reliability and ease of use over how much it costs, which is still a consideration, but not what's driving, decisions at the end of the day. Taking this a step further, actually, we asked what the primary factors they think hosting should be charging for. And the top 3 in order were, machine resource utilization, so like RAM and CPU, storage space, and actually number of read and write options, which was interesting. The least popular way to price hosting, was by charging on the number of database records.\u003C\u002Fp>\u003Cp>So just an interesting little finding there. But, yeah. Number 6 was the most shocking thing we found. Over 64% of respondents said that they're using AI for cogeneration. So despite all of this, like loud people in the room talking about, like, AI is bad for development, I think there's a lot of people quietly actually using this to become better at their job and learning how to implement and the things that they're doing.\u003C\u002Fp>\u003Cp>Actually, going a little bit deeper on this, we asked 2 questions. If AI was too risky for data analysis to influence decision making, on average, sentiment was neutral. But when it comes to using AI to actually interact with the database with, like, CRUD permissions, overwhelming sentiment was, like, please do not do that. That is way too risky, which makes sense. So those are the 6 big takeaways, learnings we add just from a surface evaluation of the results that we got for in the survey.\u003C\u002Fp>\u003Cp>Hopefully, these were interesting to you as they were to us. And again, like, data isn't boring. It's just how are people using it? How are we framing it? Hopefully, we can get some more discussions around this, because we're data nerds at the end of the day.\u003C\u002Fp>\u003Cp>And what we're gonna do is basically put together a series that we call Data Drops, where we're gonna release an article, with, like, a really interesting insight. Because it's one thing to know what the trends are, but we think it's more important to understand, like, why they vary from a startup in Silicon Valley as opposed to a seasoned freelancer in Berlin. So if you wanna get up to date on those and get nice little nuggets in your inbox, make sure you sign up for a newsletter. It goes out once a month. You can sign up in our docs.\u003C\u002Fp>\u003Cp>You can sign up on our, main blog. But we'd love to have you sign up and just get these once a month newsletters. Appreciate the time today, and, have a good one.\u003C\u002Fp>\u003Cp>Speaker 1: We hope you're enjoying today's announcement so far. They've included the release of Directus 10.10 with the Directus Marketplace beta and improvements to content versioning, our new shows on Directus TV, and, of course, our new hackathon. But we're not quite done yet. I want to kick it over to our director of engineering, Alex, to talk about what's\u003C\u002Fp>\u003Cp>Speaker 9: new for Directus Cloud. Directus really is a solution for everyone. From side projects and small businesses right through to huge organization like Kia, Copa Airlines, Walmart, and T Mobile. Our Enterprise Cloud offers dedicated infrastructure from the team who build directors. It's perfect for mission critical project with higher security and support needs.\u003C\u002Fp>\u003Cp>Today, we are proud to be expanding the Enterprise Cloud offering with key features requested by our customers. Over the last few months, our team has been working on improving our infrastructure in a number of areas including security, performances, and flexibility. With this in mind, we are not able to offer auto scaling infrastructure, which means even with sudden peak in traffic, your georectus project stays strong. Auto scaling is enabled by default on all our new projects, both on Enterprise and Professional Cloud. We love speaking to our customers, but you should also need to speak to us less.\u003C\u002Fp>\u003Cp>Up until now, if you want to set up a custom domain for an enterprise project, you have to get in touch with us. Now it's over. Self-service custom domains are now available through the Cloud Dashboard for Enterprise Cloud Projects. We are looking forward to chatting with you more, but not about Guest of the Vans. We have more announcements to come.\u003C\u002Fp>\u003Cp>Over to Colton for now.\u003C\u002Fp>\u003Cp>Speaker 10: Today, we're announcing our new partner program focused on agencies. Agency partners are a super important part of how we reach our customers. We've designed this program in conjunction with our current partners, and the program will enable agencies and client projects of all shapes and sizes, and we think you're gonna love it. We now have a formal certification program to help you get the most from Directus and understand which projects it is suitable for. And, of course, there will also be a larger resource center available which can help you in discussing direct us with your customers.\u003C\u002Fp>\u003Cp>Our team is available for advisory calls to validate your approaches, suggest new ones, and sell alongside your team. And of course, the program includes revenue sharing both upfront and renewals. The new partner directory will help companies looking for experts to implement their projects. And with co marketing opportunities, we can help share all your stories. This isn't all, but it captures the most important parts of the partner program.\u003C\u002Fp>\u003Cp>We really think you're gonna love it. You can find out more at directus. Io \u002F partners. And later this year, we'll also be expanding our program to include technical partners, but that's for another day. Back to you, Kevin.\u003C\u002Fp>\u003Cp>Speaker 1: It's been a wonderful day. And on behalf of the whole Director's core team, thank you so much for tuning in, whether live or on demand on Director's TV. Now before we head off, we have one more thing to announce. Bryant?\u003C\u002Fp>\u003Cp>Speaker 6: While headless CMS is one of our most popular use cases, Directus is a super powerful toolkit for managing any type of data. A lot of our most successful clients start out with a single use case, like headless CMS. And then once they realize the full potential of Directus, they quickly expand into other applications. But what if you could unlock that potential even faster? Who wouldn't like to ship new projects and features in half the normal amount of time?\u003C\u002Fp>\u003Cp>What developer doesn't love to make a huge impact for their clients, their team, their organization. That's what my team has been working to solve, and I'm super excited to introduce Directus Plus. Directus plus is a companion subscription for developers who love to ship. Doesn't matter if you're a freelancer, agency developer, or a staff engineer. You'll get a ton of value from Directus plus Here's what's inside.\u003C\u002Fp>\u003Cp>Powerful headless starter kits to help you ship faster. Starter Kits are done for you back ends for specific use cases you'll inevitably be asked to build or buy. Like learning management systems for your own custom courseware, product information management to manage your product catalogs and technical data, multi tenant SaaS, video streaming platforms like Directus TV, and more. These starter kits get you to 80% complete on day 1, saving you boatloads of time. And they're headless, so you get to bring your favorite front end framework.\u003C\u002Fp>\u003Cp>They're also designed to be fully composable, so you can use them together in the same project. That's not all. Directus Plus also includes advanced training and workshops to level up your skills. We'll be hosting deep dive workshops that are exclusively for Directus Plus members. Workshops will be taught by our own internal Directus experts, and, occasionally, we'll even be joined by our partners, hosting providers, front end framework experts, and more.\u003C\u002Fp>\u003Cp>You'll learn tons about how to leverage advanced features inside Directus, like flows, insights, and more to build real world use cases. For example, one of our first workshops is on connecting Directus with Stripe to accept payments. Directus plus members will receive a premium role and private channels within our Discord community and first dibs on cool new swag drops. As a launch thank you, we're offering $100 off the price for Directus Plus membership. So if you sign up now, you'll pay just $99 per year.\u003C\u002Fp>\u003Cp>Yep. That's it. You'll get starter kits to move faster, training to level up, and the pride that comes with supporting our project. To learn more and get started, go to directus.ioplus. Just fill out the short checkout form and you'll receive a private invite and instructions within moments.\u003C\u002Fp>\u003Cp>I can't wait to see you on the other side.\u003C\u002Fp>\u003Cp>Speaker 1: Thank you so much for that, Bryant. Today, we've covered so much. So let me provide a quick recap. We announced Directus 10.10 and this new phase of Directus that we're ushering in with the release of the Directus Marketplace beta. The spring slate of shows for Directus TV, the new payments hackathon, custom domains and auto scaling for Directus Cloud, a refreshed partner program, and, of course, Directus Plus.\u003C\u002Fp>\u003Cp>Now while the announcement portion of Leap Week is now completed, there is still so much more going on this week. So head over to our website to learn more about all the other events taking place. On behalf of the whole directors team, once again, thank you so much for being a part of this. And whether it is at one of our Leap Week events, whether it's at one of our in person user groups, or over in our Discord server, we'll see you around.\u003C\u002Fp>","Hello. Ben Haines, CEO and founder of Directus. It is actually 2024, and I originally started this software in 2004. So now 2 decades in, obviously, quite a bit has changed, and I think it's well overdue for us to go through and look at how we talk about Directus and how that has changed, over those those 2 decades. I'd like to do that through a quick 5 minute demo. Obviously, a lot to cover in 5 minutes, but let's see, if we can make that happen. So we're starting off right here on the login screen. Here we're already logged in, so we're just gonna hit continue. But I think the first thing to notice, is that the entire platform is white label. Everything here is themeable from the border radii to the colors to this, subtle animation on the right. But this is your login screen. Same thing for all these public pages. Of course, you'd have 2 factor authentication, SSO, anything else you might need here, for your your project. Let's go ahead and log in. Again, as a reminder, the way that Directus works is you point it at a database. I like to start on this screen, because this is just a table in your database called metrics. Nothing more straightforward than that. Instead of seeing, you know, UNIX time stamps and, you know, just really complex data, we're seeing it in an intuitive way. This is a table layout. Many different ways you can look at your data, but here we're seeing conditional styling with icons, nice relative time stamps, and nice colors. The full power of SQL is available here. We can of course do full text search, advanced filtering with logical grouping, everything you could do in SQL but in an in an intuitive no code way. Table views are pretty obvious. You can also come in and look at things through a media view. You could use a kanban view if you had, something where you're actually dragging things through some sort of process, and then keeping your your data organized like this. Of course, if you have geospatial data in your database, we support that as well. So whether it's submarine cables or devices on a map, all of this is available. You can quickly zoom in, drill into an item, click, and then go in and start editing that that data. We also have, contacts or any other type of data, but I think where we'll drill into the actual form is on this blog. So if we click on one of these items, in this case, multi orchestration cultivate infrastructure, lots of different interfaces for how we edit the data. You have time, daytime choosers. You have media selectors. You have this really great translation interface where you can actually go into a split view and manage multilingual content, etcetera. Every change that you make goes through our accountability system. So you can come over here and see all the revisions. These are the changes that were made by who and when. You can actually roll back and undo those features. Really, really important for data governance. We also have a full commenting system with mentions, emoji, and everything you'd expect, and you can actually share things. You can create a unique URL and share that out to people outside of this, this platform. So really powerful there as well. Moving on to a few of the other modules that we have. We have a user directory, which I'll pop into my user very quickly, just to showcase something that I think is pretty, pretty powerful. We can actually change the language to any of the 55 languages that we support and choose different themes, really tailoring it to the experience that I I need as a user. So as I come in, not only are we managing multilingual content, but the actual application can be translated as well. So that's a really important feature. I'm gonna change that back, to English. That is the language that I understand, and we'll continue on. Really, really powerful access control here within the user directory and no limits in terms of how many roles, or or users you have. Once you come into our asset management system, you can actually we scrape all of the, metadata. So I p t c, exif, all available, virtual folders, and you can, of course, come in here and do all of your edits and cropping. If you do that through the API, you actually have hundreds of different operations available. Insights, great for business intelligence, great for building out these different dashboards using aggregation, time series, anything that you can imagine. Very customizable. You just come in here, drag and drop these to whatever size you want. Lots of options available for, how are you setting your precision, your ranges, etcetera, the colors. So put that into a full screen mode, throw it on a, a second display, and you've got a really great dashboard available instantly. Once we go into settings, this is where the ad administrators are working. You can, of course, build your data model here or you can build it through the API or just define it right in SQL and allow it to cascade out through everything. Then you can go through and start setting your access control as we talked about. You know, you have managers. Based on the tables of your database, who can access what based on CRUD? Create, read, update, and delete. It's worth noting it's not just on and off, we have very granular rule based access control, within these different filters. Lots of other things to talk about including the theming and all these different options, all different extensions of our system. The last thing I'd like to quickly show is our flows. This is automation. This is where you can come in and say I wanna deploy an application when x happens. Those triggers can be a cron job every 15 minutes or Monday at midnight. You can also have it when content changes. Send out emails, to our different content authors for review. Lots of different operations you can choose from. And again, as with everything else in the system, it's all extensible and customizable. That's about as fast as we can run through the many, many features and capabilities of this platform. But for now, I'll hand it back over to Kevin. Thank you. Thank you, Ben, and welcome to the second Leap Week. We have a fantastic week in store. We're going to start today with all of our announcements and then throughout the rest of the week we have loads of other events including socials, panels, and workshops for you to enjoy. One of the reasons people love Directus is because of its extensibility. You can augment and enhance most parts of Directus by using extensions, and then combine extensions in interesting ways to compose a data platform that really makes sense for your project. We have app extensions like panels for directors insights, interfaces for the directors editor, layouts, and themes. We also have API and hybrid extensions like operations, endpoints, and hooks. Our community has built so many amazing extensions including the media AI bundle that lets you extract information from images in Directus files, computed interfaces that change the way that data is displayed after applying logic to them, and, of course, the Director's Copilot that lets you have contextual conversations about your data with an AI bot in order to unlock new insights. Agency partners use extensions like Pixsy Labs based in London. They built a blur hash extension which allows them to nicely load in very large images for an online art gallery. And we have other customers use extensions for things like integrating with translation services, transforming videos, build automation, and more. Having this rich framework to build extensions is awesome. The missing bit has always been how to publish and reuse those extensions between projects. Today we are announcing something that I could not be more excited about, something which Directus users have been asking for for years. I'm gonna hand over to Rike to tell you more. This is the Directless marketplace. It is in beta for now for this first release, so we do really want your feedback to make it even better. The focus of this first iteration is really about discovery and installation. I'm gonna show you each of those here. So in settings, on the left hand sidebar, there's a new section for the marketplace. In this marketplace, we have a listing of all of the extensions that we've been able to find on npm. These extensions contain every single type of extension that you know from before. So those are interfaces, modules, panels, teams, etc. When you install an extension, you'd find those in the same places where you'd find them normally. So for interfaces, you'd find it in data model, modules show up in the sidebar, themes, appearance, etcetera. For any of those types, you can find them by, you know, current popularity, which ones were most recently published, or which ones are downloaded the most. In this case, let me go see if we can install a theme. So I'm gonna look up, you know, with the search, gonna find the theme that I'm looking for. For each individual extension, we're pulling in the readme file from your GitHub repo if it's connected, and we're pulling in the author and maintainers as provided by npm. Same goes for an author. So in this particular case, because Kevin has his GitHub linked to his NPM, we can show, you know, the about information from his GitHub profile, together with an avatar, and all of the extensions that he has uploaded so far. To install the theme, I could just click the install button, and there it goes. So now that this theme is installed, I can find it under appearance like I'm with any other theme. There it is. And there we go. To manage extensions you have installed, you can go to the extensions tab as you would for extensions before, where you can now both disable and uninstall them again. In the future, there's a couple of additional features that we know we want to add, starting with verified authors, verified packages, allowing, you know, the end user to know which one is gonna be trusted. But, also, we're looking to see if we can open up monetization in the marketplace. So this would allow you to sell extensions that you have built to others, in the ecosystem. That will be in the future release. In the meantime, we absolutely hope you enjoy this. Please do leave all and every bit of feedback you have in the Discord channel marketplace beta. So the marketplace. Cool. Right? And the thing that excites me most is the marketplace is gonna be available in every Director's project. So whether you're self hosting or you're using Director's Cloud, you will now be able to install extensions via the marketplace. Now, the marketplace is part of director version 10.10, but it isn't all. And we've had a few releases since the last week. So I wanted to kick it over to some of our engineers to tell you about the new and notable features that have shipped since the last Leap Week. In Directus 10.8, we released a powerful new theming engine. Previously, you were limited to adding your own CSS on top of the data studio to make yours. You now have the flexibility to customize colors, fonts, spacing, and much more across Directus using our new theme interface. Being able to white label Directus has always been important. Bringing your brand and aesthetic to the forefront really make Directus feel like your own tool. Building on the excitement of our marketplace announcement, you can now develop and share themes as an extension. Now you can do more than just make direct us your own. You can share your designs and help others get creative too. We're excited to see the themes you bring to the marketplace. Thank you all for joining me in this exciting chapter. Your vision, your directness, ready to dazzle. The canvas is fast. The palette is rich. And the possibilities, endless. As well as managing databases, Directus also helps you manage your files. As part of that, we offer media transformations via URL. Here's an image of 2 people on a beach. Notice that they're slightly off center. Which is fine, until you start to crop the image via your app. Here the image is being cropped off from the center, but these two people are being chopped off. In Directus 10.9, we introduced focal points. You can now specify the point for Directus treat as the center. You can do this via the data studio or the files API. Now the subjects that matter in your images can always be visible. You can combine this with our automation features to determine what the point of interest should be. We hope you enjoy working with focal points, a small change with big impact. Before, when requesting content versions, this is the data structure, the data API return. And with relational fields, note that there is a create, update, delete array for each item. This is correct. It is what will happen when this version gets promoted. But it's different to what you may expect from an item when not using content version or using the main version. This does made it hard to implement live preview as you had to account for 2 different data structures. In directors 10.10, we will store this data structure. But when you request a content version, we will standardize the data structure before returning it. So the return data is now the outcome if you were to promote the item. Here, we have an example of both a one to many and the many to many relationship. In the one to many comments example, we are both updating an item and deleting related comments. The new output doesn't contain the deleted comment and returns the full item including any changes made in the content version. Likewise, in the many to many page blocks example, a block is being created and another deleted. The return data from a content version is now the same structure you expect including the outcome of any changes. Now you can implement live preview with a standard and predictable data structure. Thank you very much for that rundown, and we hope you enjoy using theming, focal points, and our enhancements to content versioning. And, of course, this is just a tiny sliver of the features which we have included in our recent releases. But for today, there's plenty more announcements to come. Let's rock and roll. Let's get started with Directus and Nuxt. You don't hire smart people to tell them what to do. You hire smart people to figure out your problems. Can you build Netflix in an hour? Not terribly elegant, but we're just gonna throw a new error. Because even pirates, sometimes they're they're not pirating the way you want a pirate. Keep it simple. Won't be complicated. Hey. I enjoy what I do. I've got my pen now. I'm serious. We're gonna be cutting this one really, really close. Let's talk about Directus TV. It's a new streaming platform that we released at the end of last year with hours of content for you to enjoy and I wanna tell you about some of our series. In a 100 apps in a 100 hours, Bryant takes a common application idea and tries to build it in just 60 minutes. Sometimes he succeeds, sometimes he doesn't, and honestly it's a bit of a stressful watch but it's always a lot of fun. In Trace Talks, John and Pedro interview engineering leaders about their journeys. It's full of interesting insights and anecdotes for all stages of your career. And in quick connect, we show you how to integrate with third party platforms to build some interesting and useful automations. Today we're announcing some new shows that are going to land on your screen this spring. In what's in your doc, we discovered the toolkit behind really productive people. I don't know about you but whenever someone shares their screen I always look at all of the apps they're running in the hope that I can find something new that will somehow enrich my life. So, we've invited 5 guests to ask them about the software, hardware, and analog tools that they use to run their lives. I had a blast recording it and I know you're gonna have a blast watching it. In the joy of theming, we invite Bry Ross who is definitely not just Bryon in a wig to highlight the power behind the director's theming engine by creating nice new themes that pay homage to brands you know and love. There are only happy little accidents in this series and they're lovely lovely peaceful episodes. Battlesnake is a popular competitive game where your code is the controller and in Ready Set Battlesnake Andrew joins me to build a snake inside of Directus. Honestly, we can't believe it worked not only that it worked but it worked as well as it did, join us to find out how. With great power can come great complexity. In short hops, we share quick tips and tricks to help you get the most from directors. And the best bit is this series is based directly on community feedback. Today we're also announcing some show renewals so you can look forward to new episodes of both the 100 Apps in a 100 Hours and Dev Thoughts. Now many of you have also been asking about how directors TV is actually put together. So today we're also releasing in full a new series called Digging the Rabbit Hole where we're going to cover everything Directus TV from the conception and inspiration behind the platform, the technical setup, the life cycle of a show from pitch through to release, and some of the early feedback. We hope you enjoy all of these new shows that are landing this spring, and, of course, you can watch digging the rabbit hole in full today. Directors TV really is a community project. We're building shows for you to enjoy, taking in your feedback, and then deciding what new shows we can create or shows we can renew based on that feedback. Well, our community does so much more, and I wanna hand over to Jonathan to talk more about it. Hey, everyone. The Directus community is the foundation, DNA, essence, source of strength, the font of magic, you might say, that makes up our team and makes us excited to come to work every day. We're so thrilled to have such a great community. I get the opportunity to interact with the community on a daily basis and that community interaction. I learned something new each time, and that includes anything from a feature request to a support ticket, to presales activities, talking to new clients, people that have used direct us for years to people that are brand new to the direct us. And I get that opportunity to interact with everyone, on a daily basis. And it is it it literally makes me excited to come to work every day. We do some other community actions and activities that we do our request reviews. We do those every 2 weeks. You get an opportunity to see our processes, how we go through feature requests, and we get that our we get that live interaction with community members. Hope to see you there. It's very, very fun and exciting to see that. And then from that explosion of ideas, we narrow that back down to what is possible. Some other things we do some in person activities these days. We'd still do some live interactions for Lynn, London, New York. There's a variety of others. You can find those out on the website and see that. And with that, I get to tell you about that newest hackathon. I'm so excited. The hackathons have brought new use cases, new capabilities to exist to the previous hackathons. We've seen and learned some really cool things about what people the concepts and ideas that someone might come up with. And so this particular hackathon is gonna be focused around one of our biggest, up boats kind of in the community is around payments. So we'd like to see the directest payments hackathon. We'd like to see you build and publish in the new marketplace. I'm so excited about the marketplace. Think through the scenarios and the use cases. You know, how would I deliver coupons? How would I deliver trials? What happens when payments fail? What happens when deployments fail or some issue happens during that process? Make sure you've got handling logic around those kinds of things. Include reporting include any, extensions or, data details that are valuable that you find in your day to day interactions, with payment platforms and how you want that to operate. You'll have until the end of March to submit that you'll find all of the details around prizes and information about how and when and what to submit, on directus. Io\u002Fhackathons, and you'll find links throughout the the documentation and things that we'll share through the coming days. With that said, I get the opportunity to hand off to mister Matt Miner to talk more about our community. Cheers. Hey. How's it going? I'm Matt on the marketing team here at Directus. Data discussions really aren't the stuff of legend. In fact, when we put this survey together, at first, there was a couple, like, raised eyebrows, like, data, really? Is that what we wanna do? What do you know? A month later, we had a huge flood of responses. 782 developers told us how they're using data in their projects. That tells us that, you know, data isn't dull. There's just nobody talking about it in the right way. We're gonna make data exciting again. Here are the 6 things that we learned that we thought were really interesting, or 2 of these actually really shocked us when we found out. Number 1 is that Postgres leads the pack. It is the choice of over 63% of the developers we surveyed, that they're using in their projects currently. The number 2 thing, slightly related, but of all the database types when developers are starting new projects, over 57% of them said that they prefer relational databases all over over all other types. Even asked our CTO, Wrike, about it. And he said, you know, the most likely reason is that a vast majority of data applications have some sort of schema consistency need for type safety and expectability. In NoSQL, you can quickly end up effectively reimplementing a lot of things that a SQL database already offers out of the box. The number 3 thing we found that was really interesting to us was that developers are leaning towards Cloud Hosted Database Solutions. So by a wide margin too. Cloud leads, 68% of respondents prefer hosting with solutions like AWS or Azure, versus, you know, managed database services like DigitalOcean or on prem servers. This one, I think, was so shocking because it was so lopsided. 94% of our survey respondents said they prefer working with REST APIs as opposed to GraphQL. We kind of went into this thinking that cost was gonna be the primary factor, to consider when hosting databases. And in fact, it is a consideration, but it's not the most important. I think what this tells us is that developers are prioritizing performance and reliability and ease of use over how much it costs, which is still a consideration, but not what's driving, decisions at the end of the day. Taking this a step further, actually, we asked what the primary factors they think hosting should be charging for. And the top 3 in order were, machine resource utilization, so like RAM and CPU, storage space, and actually number of read and write options, which was interesting. The least popular way to price hosting, was by charging on the number of database records. So just an interesting little finding there. But, yeah. Number 6 was the most shocking thing we found. Over 64% of respondents said that they're using AI for cogeneration. So despite all of this, like loud people in the room talking about, like, AI is bad for development, I think there's a lot of people quietly actually using this to become better at their job and learning how to implement and the things that they're doing. Actually, going a little bit deeper on this, we asked 2 questions. If AI was too risky for data analysis to influence decision making, on average, sentiment was neutral. But when it comes to using AI to actually interact with the database with, like, CRUD permissions, overwhelming sentiment was, like, please do not do that. That is way too risky, which makes sense. So those are the 6 big takeaways, learnings we add just from a surface evaluation of the results that we got for in the survey. Hopefully, these were interesting to you as they were to us. And again, like, data isn't boring. It's just how are people using it? How are we framing it? Hopefully, we can get some more discussions around this, because we're data nerds at the end of the day. And what we're gonna do is basically put together a series that we call Data Drops, where we're gonna release an article, with, like, a really interesting insight. Because it's one thing to know what the trends are, but we think it's more important to understand, like, why they vary from a startup in Silicon Valley as opposed to a seasoned freelancer in Berlin. So if you wanna get up to date on those and get nice little nuggets in your inbox, make sure you sign up for a newsletter. It goes out once a month. You can sign up in our docs. You can sign up on our, main blog. But we'd love to have you sign up and just get these once a month newsletters. Appreciate the time today, and, have a good one. We hope you're enjoying today's announcement so far. They've included the release of Directus 10.10 with the Directus Marketplace beta and improvements to content versioning, our new shows on Directus TV, and, of course, our new hackathon. But we're not quite done yet. I want to kick it over to our director of engineering, Alex, to talk about what's new for Directus Cloud. Directus really is a solution for everyone. From side projects and small businesses right through to huge organization like Kia, Copa Airlines, Walmart, and T Mobile. Our Enterprise Cloud offers dedicated infrastructure from the team who build directors. It's perfect for mission critical project with higher security and support needs. Today, we are proud to be expanding the Enterprise Cloud offering with key features requested by our customers. Over the last few months, our team has been working on improving our infrastructure in a number of areas including security, performances, and flexibility. With this in mind, we are not able to offer auto scaling infrastructure, which means even with sudden peak in traffic, your georectus project stays strong. Auto scaling is enabled by default on all our new projects, both on Enterprise and Professional Cloud. We love speaking to our customers, but you should also need to speak to us less. Up until now, if you want to set up a custom domain for an enterprise project, you have to get in touch with us. Now it's over. Self-service custom domains are now available through the Cloud Dashboard for Enterprise Cloud Projects. We are looking forward to chatting with you more, but not about Guest of the Vans. We have more announcements to come. Over to Colton for now. Today, we're announcing our new partner program focused on agencies. Agency partners are a super important part of how we reach our customers. We've designed this program in conjunction with our current partners, and the program will enable agencies and client projects of all shapes and sizes, and we think you're gonna love it. We now have a formal certification program to help you get the most from Directus and understand which projects it is suitable for. And, of course, there will also be a larger resource center available which can help you in discussing direct us with your customers. Our team is available for advisory calls to validate your approaches, suggest new ones, and sell alongside your team. And of course, the program includes revenue sharing both upfront and renewals. The new partner directory will help companies looking for experts to implement their projects. And with co marketing opportunities, we can help share all your stories. This isn't all, but it captures the most important parts of the partner program. We really think you're gonna love it. You can find out more at directus. Io \u002F partners. And later this year, we'll also be expanding our program to include technical partners, but that's for another day. Back to you, Kevin. It's been a wonderful day. And on behalf of the whole Director's core team, thank you so much for tuning in, whether live or on demand on Director's TV. Now before we head off, we have one more thing to announce. Bryant? While headless CMS is one of our most popular use cases, Directus is a super powerful toolkit for managing any type of data. A lot of our most successful clients start out with a single use case, like headless CMS. And then once they realize the full potential of Directus, they quickly expand into other applications. But what if you could unlock that potential even faster? Who wouldn't like to ship new projects and features in half the normal amount of time? What developer doesn't love to make a huge impact for their clients, their team, their organization. That's what my team has been working to solve, and I'm super excited to introduce Directus Plus. Directus plus is a companion subscription for developers who love to ship. Doesn't matter if you're a freelancer, agency developer, or a staff engineer. You'll get a ton of value from Directus plus Here's what's inside. Powerful headless starter kits to help you ship faster. Starter Kits are done for you back ends for specific use cases you'll inevitably be asked to build or buy. Like learning management systems for your own custom courseware, product information management to manage your product catalogs and technical data, multi tenant SaaS, video streaming platforms like Directus TV, and more. These starter kits get you to 80% complete on day 1, saving you boatloads of time. And they're headless, so you get to bring your favorite front end framework. They're also designed to be fully composable, so you can use them together in the same project. That's not all. Directus Plus also includes advanced training and workshops to level up your skills. We'll be hosting deep dive workshops that are exclusively for Directus Plus members. Workshops will be taught by our own internal Directus experts, and, occasionally, we'll even be joined by our partners, hosting providers, front end framework experts, and more. You'll learn tons about how to leverage advanced features inside Directus, like flows, insights, and more to build real world use cases. For example, one of our first workshops is on connecting Directus with Stripe to accept payments. Directus plus members will receive a premium role and private channels within our Discord community and first dibs on cool new swag drops. As a launch thank you, we're offering $100 off the price for Directus Plus membership. So if you sign up now, you'll pay just $99 per year. Yep. That's it. You'll get starter kits to move faster, training to level up, and the pride that comes with supporting our project. To learn more and get started, go to directus.ioplus. Just fill out the short checkout form and you'll receive a private invite and instructions within moments. I can't wait to see you on the other side. Thank you so much for that, Bryant. Today, we've covered so much. So let me provide a quick recap. We announced Directus 10.10 and this new phase of Directus that we're ushering in with the release of the Directus Marketplace beta. The spring slate of shows for Directus TV, the new payments hackathon, custom domains and auto scaling for Directus Cloud, a refreshed partner program, and, of course, Directus Plus. Now while the announcement portion of Leap Week is now completed, there is still so much more going on this week. So head over to our website to learn more about all the other events taking place. On behalf of the whole directors team, once again, thank you so much for being a part of this. And whether it is at one of our Leap Week events, whether it's at one of our in person user groups, or over in our Discord server, we'll see you around.",[],[],{"id":42,"number":43,"show":4,"year":31,"episodes":192},[45,46,47,48,49,50,51,52,53],{"id":46,"slug":194,"vimeo_id":195,"description":196,"tile":197,"length":30,"resources":9,"people":198,"episode_number":43,"published":185,"title":200,"video_transcript_html":201,"video_transcript_text":202,"content":9,"seo":9,"status":13,"episode_people":203,"recommendations":205,"season":206},"02-marketplace-beta","918871173","Introducing the Directus Marketplace Beta: distribute and install extensions in any Directus project and supercharge your projects.","0e49532b-c676-4c37-83ca-820c089cba42",[199],{"name":121,"url":122},"Directus Marketplace Beta","\u003Cp>Speaker 0: This is the director's marketplace. It is in beta for now for this first release, so we do really want your feedback to make it even better. The focus of this first iteration is really about discovery and installation. I'm gonna show you each of those here. So in settings, on the left hand sidebar, there's a new section for the marketplace.\u003C\u002Fp>\u003Cp>In this marketplace, we have a listing of all of the extensions that we've been able to find on npm. These extensions contain every single type of extension that you know from before. So those are interfaces, modules, panels, themes, etcetera. When you install an extension, you'd find those in the same places where you'd find them normally. So for interfaces, you'd find it in data model.\u003C\u002Fp>\u003Cp>Modules show up in the sidebar, themes, appearance, etcetera. For any of those types, you can find them by, you know, current popularity, which ones were most recently published, or which ones are downloaded the most. In this case, let me go see if we can install a theme. So I'm going to look up with the search, kind of find the theme that I'm looking for. For each individual extension, we're pulling in the readme file from your GitHub repo if it's connected, and we're pulling in the author and maintainers as provided by npm.\u003C\u002Fp>\u003Cp>Same goes for an author. So in this particular case, because Kevin has his GitHub linked to his npm, we can show, you know, the about information from his GitHub profile together with an avatar and all of the extensions that he has uploaded so far. To install the theme, I could just click the install button and there it goes. So now that this theme is installed, I can find it under appearance like I'm with any other theme. There it is.\u003C\u002Fp>\u003Cp>Mhmm. And there we go. To manage extensions you have installed, you can go to the extensions tab as you would for extensions before, where you can now both disable and uninstall them again. In the future, there's a couple of additional features that we know we want to add, starting with verified authors, verified packages, allowing the end user to know which one is going to be trusted. But also, we're looking to see if we can open up monetization in the marketplace.\u003C\u002Fp>\u003Cp>So this would allow you to sell extensions that you have built to others, in the ecosystem. That will be in the future release. In the meantime, we absolutely hope you enjoy this. Please do leave all and every bit of feedback you have in the Discord channel marketplace beta.\u003C\u002Fp>","This is the director's marketplace. It is in beta for now for this first release, so we do really want your feedback to make it even better. The focus of this first iteration is really about discovery and installation. I'm gonna show you each of those here. So in settings, on the left hand sidebar, there's a new section for the marketplace. In this marketplace, we have a listing of all of the extensions that we've been able to find on npm. These extensions contain every single type of extension that you know from before. So those are interfaces, modules, panels, themes, etcetera. When you install an extension, you'd find those in the same places where you'd find them normally. So for interfaces, you'd find it in data model. Modules show up in the sidebar, themes, appearance, etcetera. For any of those types, you can find them by, you know, current popularity, which ones were most recently published, or which ones are downloaded the most. In this case, let me go see if we can install a theme. So I'm going to look up with the search, kind of find the theme that I'm looking for. For each individual extension, we're pulling in the readme file from your GitHub repo if it's connected, and we're pulling in the author and maintainers as provided by npm. Same goes for an author. So in this particular case, because Kevin has his GitHub linked to his npm, we can show, you know, the about information from his GitHub profile together with an avatar and all of the extensions that he has uploaded so far. To install the theme, I could just click the install button and there it goes. So now that this theme is installed, I can find it under appearance like I'm with any other theme. There it is. Mhmm. And there we go. To manage extensions you have installed, you can go to the extensions tab as you would for extensions before, where you can now both disable and uninstall them again. In the future, there's a couple of additional features that we know we want to add, starting with verified authors, verified packages, allowing the end user to know which one is going to be trusted. But also, we're looking to see if we can open up monetization in the marketplace. So this would allow you to sell extensions that you have built to others, in the ecosystem. That will be in the future release. In the meantime, we absolutely hope you enjoy this. Please do leave all and every bit of feedback you have in the Discord channel marketplace beta.",[204],"719facdf-cc52-4098-ab17-f9ba30a904f4",[],{"id":42,"number":43,"show":4,"year":31,"episodes":207},[45,46,47,48,49,50,51,52,53],{"id":47,"slug":209,"vimeo_id":210,"description":211,"tile":212,"length":17,"resources":9,"people":213,"episode_number":30,"published":185,"title":219,"video_transcript_html":220,"video_transcript_text":221,"content":9,"seo":9,"status":13,"episode_people":222,"recommendations":226,"season":227},"03-since-last-time","919062176","Find out about key features in Directus 10.8, 10.9, and 10.10.","9de9f6b4-b867-4356-9f5f-73aa7ac9528b",[214,215,218],{"name":142,"url":143},{"name":216,"url":217},"Daniel Biegler","https:\u002F\u002Fdirectus.io\u002Fteam\u002Fdaniel-biegler",{"name":76,"url":77},"What's New Since the Last Leap Week","\u003Cp>Speaker 0: In Directus 10.8 we released a powerful new theming engine. Previously you were limited to adding your own CSS on top of the data studio to make yours. You now have the flexibility to customize colors, fonts, spacing, and much more across Directus using our new theme interface. Being able to white label Directus has always been important. Bringing your brand and aesthetic to the forefront really make Directus feel like your own tool.\u003C\u002Fp>\u003Cp>Building on the excitement of our marketplace announcement, you can now develop and share themes as an extension. Now you can do more than just make direct us your own. You can share your designs and help others get creative too. We're excited to see the themes you bring to the marketplace. Thank you all for joining me in this exciting chapter.\u003C\u002Fp>\u003Cp>Your vision, your directness, ready to dazzle. The canvas is fast. The palette is rich, and the possibilities, endless.\u003C\u002Fp>\u003Cp>Speaker 1: As well as managing databases, Directus also helps you manage your files. As part of that, we offer media transformations via URL. Here's an image of 2 people on a beach. Notice that they're slightly off center, which is fine, until you start to crop the image via your app. Here the image is being cropped off from the center, but these two people are being chopped off.\u003C\u002Fp>\u003Cp>In Directus 10.9, we introduced focal points. You can now specify the point for Directus to treat as the center. You can do this via the data studio or the files API. Now, the subjects that matter in your images can always be visible. You can combine this with our automation features to determine what the point of interest should be.\u003C\u002Fp>\u003Cp>We hope you enjoy working with focal points, a small change with big impact.\u003C\u002Fp>\u003Cp>Speaker 2: Before when requesting content versions, this is the data structure the data API return. And with relational fields, note that there is a create, update, delete array for each item. This is correct. It is what will happen when this version gets promoted. But it's different to what you may expect from an item when not using content version or using the main version.\u003C\u002Fp>\u003Cp>This does made it hard to implement live preview as you had to account for 2 different data structures. In directors 10.10, we will store this data structure. But when you request a content version, we will standardize the data structure before returning it. So the return data is now the outcome if you were to promote the item. Here, we have an example of both a one to many and a many to many relationship.\u003C\u002Fp>\u003Cp>In the one to many comments example, we are both updating an item and deleting related comments. The new output doesn't contain the deleted comment and returns the full item including any changes made in the content version. Likewise, in the many to many page blocks example, a block is being created and another deleted. The return data from a content version is now the same structure you expect, including the outcome of any changes. Now you can implement live preview with a standard and predictable data structure.\u003C\u002Fp>","In Directus 10.8 we released a powerful new theming engine. Previously you were limited to adding your own CSS on top of the data studio to make yours. You now have the flexibility to customize colors, fonts, spacing, and much more across Directus using our new theme interface. Being able to white label Directus has always been important. Bringing your brand and aesthetic to the forefront really make Directus feel like your own tool. Building on the excitement of our marketplace announcement, you can now develop and share themes as an extension. Now you can do more than just make direct us your own. You can share your designs and help others get creative too. We're excited to see the themes you bring to the marketplace. Thank you all for joining me in this exciting chapter. Your vision, your directness, ready to dazzle. The canvas is fast. The palette is rich, and the possibilities, endless. As well as managing databases, Directus also helps you manage your files. As part of that, we offer media transformations via URL. Here's an image of 2 people on a beach. Notice that they're slightly off center, which is fine, until you start to crop the image via your app. Here the image is being cropped off from the center, but these two people are being chopped off. In Directus 10.9, we introduced focal points. You can now specify the point for Directus to treat as the center. You can do this via the data studio or the files API. Now, the subjects that matter in your images can always be visible. You can combine this with our automation features to determine what the point of interest should be. We hope you enjoy working with focal points, a small change with big impact. Before when requesting content versions, this is the data structure the data API return. And with relational fields, note that there is a create, update, delete array for each item. This is correct. It is what will happen when this version gets promoted. But it's different to what you may expect from an item when not using content version or using the main version. This does made it hard to implement live preview as you had to account for 2 different data structures. In directors 10.10, we will store this data structure. But when you request a content version, we will standardize the data structure before returning it. So the return data is now the outcome if you were to promote the item. Here, we have an example of both a one to many and a many to many relationship. In the one to many comments example, we are both updating an item and deleting related comments. The new output doesn't contain the deleted comment and returns the full item including any changes made in the content version. Likewise, in the many to many page blocks example, a block is being created and another deleted. The return data from a content version is now the same structure you expect, including the outcome of any changes. Now you can implement live preview with a standard and predictable data structure.",[223,224,225],"72dd7514-1fd4-4331-adcd-5aa9a205eccd","ec4b302f-e035-4194-a6e6-3745310e9389","69592d13-a025-4716-9703-ab3a3a67d787",[],{"id":42,"number":43,"show":4,"year":31,"episodes":228},[45,46,47,48,49,50,51,52,53],{"id":48,"slug":230,"vimeo_id":231,"description":232,"tile":233,"length":43,"resources":9,"people":234,"episode_number":17,"published":185,"title":236,"video_transcript_html":237,"video_transcript_text":238,"content":9,"seo":9,"status":13,"episode_people":239,"recommendations":241,"season":242},"02-tv-spring","918870915","Directus TV is our video streaming platform containing hours of content for developers. We're announcing our slate of new shows and renewals for Spring 2024.","27e0999c-ca27-4760-b40e-5b99ee94da96",[235],{"name":73,"url":74},"This Spring on Directus TV","\u003Cp>Speaker 0: Today, we're announcing some new shows that are going to land on your screen this spring. In what's in your doc, we discovered the toolkit behind really productive I that will somehow enrich my life. So we've invited 5 guests to ask them about the software, hardware, and analog tools that they use to run their lives. I had a blast recording it, and I know you're gonna have a blast watching it. In the joy of theming, we invite Bry Ross, who is definitely not just Bryon in a wig, to highlight the power behind the director's theming engine by creating nice new themes that pay homage to brands you know and love.\u003C\u002Fp>\u003Cp>There are only happy little accidents in this series and their lovely, lovely, peaceful episodes. Battlesnake is a popular competitive game where your code is the controller. And in Ready Set Battlesnake, Andrew joins me to build a snake inside of Directus. Honestly, we can't believe it worked. Not only that it worked, but it worked as well as it did.\u003C\u002Fp>\u003Cp>Join us to find out how. With great power can come great complexity. In short hops, we share quick tips and tricks to help you get the most from directors. And the best bit is this series is based directly on community feedback. Today, we're also announcing some show renewals.\u003C\u002Fp>\u003Cp>So you can look forward to new episodes of both a 100 apps in a 100 hours and dev thoughts. Now many of you have also been asking about how directors TV is actually put together. So today, we're also releasing in full a new series called digging the rabbit hole where we're going to cover everything Directus TV from the conception and inspiration behind the platform, the technical setup, the lifecycle of a show from pitch through to release, and some of the early feedback. We hope you enjoy all of these new shows that are landing this spring. And, of course, you can watch Digging the Rabbit Hole in full today.\u003C\u002Fp>","Today, we're announcing some new shows that are going to land on your screen this spring. In what's in your doc, we discovered the toolkit behind really productive I that will somehow enrich my life. So we've invited 5 guests to ask them about the software, hardware, and analog tools that they use to run their lives. I had a blast recording it, and I know you're gonna have a blast watching it. In the joy of theming, we invite Bry Ross, who is definitely not just Bryon in a wig, to highlight the power behind the director's theming engine by creating nice new themes that pay homage to brands you know and love. There are only happy little accidents in this series and their lovely, lovely, peaceful episodes. Battlesnake is a popular competitive game where your code is the controller. And in Ready Set Battlesnake, Andrew joins me to build a snake inside of Directus. Honestly, we can't believe it worked. Not only that it worked, but it worked as well as it did. Join us to find out how. With great power can come great complexity. In short hops, we share quick tips and tricks to help you get the most from directors. And the best bit is this series is based directly on community feedback. Today, we're also announcing some show renewals. So you can look forward to new episodes of both a 100 apps in a 100 hours and dev thoughts. Now many of you have also been asking about how directors TV is actually put together. So today, we're also releasing in full a new series called digging the rabbit hole where we're going to cover everything Directus TV from the conception and inspiration behind the platform, the technical setup, the lifecycle of a show from pitch through to release, and some of the early feedback. We hope you enjoy all of these new shows that are landing this spring. And, of course, you can watch Digging the Rabbit Hole in full today.",[240],"a0d47a71-fe58-42cc-8226-7dc40eda0dff",[],{"id":42,"number":43,"show":4,"year":31,"episodes":243},[45,46,47,48,49,50,51,52,53],{"id":49,"slug":245,"vimeo_id":246,"description":247,"tile":248,"length":43,"resources":9,"people":249,"episode_number":168,"published":185,"title":253,"video_transcript_html":254,"video_transcript_text":255,"content":9,"seo":9,"status":13,"episode_people":256,"recommendations":258,"season":259},"02-payments-hackathon","919062107","This March we invite you to showcase your creative and technical skills to build and publish extensions related to payments and billing.","40c53f0e-9285-44c8-88d9-88bde7d59973",[250],{"name":251,"url":252},"Jonathan Wagner","https:\u002F\u002Fdirectus.io\u002Fteam\u002Fjonathan-wagner","Directus Payments Hackathon","\u003Cp>Speaker 0: I get to tell you about the newest hackathon. I'm so excited. The hackathons have brought new use cases, new capabilities to exist to the previous hackathons. We've seen and learned some really cool things about what people the concepts and ideas that someone might come up with. And so this particular hackathon is going to be focused around one of our biggest, upvotes kind of in the community is around payments.\u003C\u002Fp>\u003Cp>So we'd like to see the director's payments hackathon. We'd like to see you build and publish in the new marketplace. I'm so excited about the marketplace. Think through the scenarios and the use cases, you know, how would I deliver coupons? How would I deliver trials?\u003C\u002Fp>\u003Cp>What happens when payments fail? What happens when deployments fail or some issue happens during that process? Make sure you've got handling logic around those kinds of things. Include reporting, include any, extensions or, data details that are valuable that you find in your day to day interactions, with payment platforms and how you want that to operate. You'll have until the end of March to submit that you'll find all of the details around prizes and information about how and when and what to submit, on direct to style IO slash hackathons.\u003C\u002Fp>\u003Cp>And you'll find links throughout the documentation and things that we'll share through the coming days.\u003C\u002Fp>","I get to tell you about the newest hackathon. I'm so excited. The hackathons have brought new use cases, new capabilities to exist to the previous hackathons. We've seen and learned some really cool things about what people the concepts and ideas that someone might come up with. And so this particular hackathon is going to be focused around one of our biggest, upvotes kind of in the community is around payments. So we'd like to see the director's payments hackathon. We'd like to see you build and publish in the new marketplace. I'm so excited about the marketplace. Think through the scenarios and the use cases, you know, how would I deliver coupons? How would I deliver trials? What happens when payments fail? What happens when deployments fail or some issue happens during that process? Make sure you've got handling logic around those kinds of things. Include reporting, include any, extensions or, data details that are valuable that you find in your day to day interactions, with payment platforms and how you want that to operate. You'll have until the end of March to submit that you'll find all of the details around prizes and information about how and when and what to submit, on direct to style IO slash hackathons. And you'll find links throughout the documentation and things that we'll share through the coming days.",[257],"01905479-c9d8-4694-87bc-0c210eb29e35",[],{"id":42,"number":43,"show":4,"year":31,"episodes":260},[45,46,47,48,49,50,51,52,53],{"id":50,"slug":262,"vimeo_id":263,"description":264,"tile":265,"length":168,"resources":9,"people":266,"episode_number":70,"published":185,"title":268,"video_transcript_html":269,"video_transcript_text":270,"content":9,"seo":9,"status":13,"episode_people":271,"recommendations":273,"season":274},"02-state-of-data","918870767","780 engineers told us how they use data in their projects. Here are 6 things that we learned.","7c118633-2e07-46aa-819b-5cf35da8eba6",[267],{"name":97,"url":98},"The State of Data Survey 2024","\u003Cp>Speaker 0: Hey. How's it going? I'm Matt on the marketing team here at Directus. Data discussions really aren't the stuff of legend. And in fact, when we put this survey together, at first, there was a couple of, like, raised eyebrows like, data, really?\u003C\u002Fp>\u003Cp>Is that what we want to do? What do you know? A month later, we had a huge flood of responses. 782 developers told us how they're using data in their projects. That tells us that, you know, data isn't dull.\u003C\u002Fp>\u003Cp>There's just nobody talking about it in the right way. We're going to make data exciting again. Here are the 6 things that we learned that we thought were really interesting, or 2 of these actually really shocked us when we found out. Number 1 is that Postgres leads the pack. It is the choice of over 63% of the developers we surveyed, that they're using in their projects currently.\u003C\u002Fp>\u003Cp>The number 2 thing, slightly related, but of all the database types when developers are starting new projects, over 57% of them said that they prefer relational databases all over all other types. Even asked our CTO, Reich, about it. And he said, know, the most likely reason is that a vast majority of data applications have some sort of schema consistency need for type safety and expectability. In NoSQL, you can quickly end up effectively reimplementing a lot of the things that a SQL database already offers out of the box. The number 3 thing we found that was really interesting to us was that developers are leaning towards cloud hosted database solutions.\u003C\u002Fp>\u003Cp>So by a wide margin too. Cloud leads, 68% of respondents prefer hosting with solutions like AWS or Azure, versus, you know, managed database services like DigitalOcean or on prem servers. This one, I think, was so shocking because it was so lopsided. 94% of our survey respondents said they prefer working with REST APIs as opposed to GraphQL. We kinda went into this thinking that cost was gonna be the primary factor, to consider when hosting databases.\u003C\u002Fp>\u003Cp>And in fact, it is a consideration, but it's not the most important. I think what this tells us is that developers are prioritizing performance and reliability and ease of use over how much it costs, which is still a consideration, but not what's driving, decisions at the end of the day. Taking this a step further, actually, we asked what the primary factors they think hosting should be charging for. And the top 3 in order were, machine resource utilization, so, like, RAM and CPU, storage space, and, actually, number of read and write options, which was interesting. The least popular way to price hosting, was by charging on the number of database records.\u003C\u002Fp>\u003Cp>So just an interesting little finding there. But, yeah. Number 6 was the most shocking thing we found. Over 64% of respondents said that they're using AI for cogeneration. So despite all of this, like loud people in the room talking about, like, AI is bad for development, I think there's a lot of people quietly actually using this to become better at their job and learning how to implement and the things that they're doing.\u003C\u002Fp>\u003Cp>Actually, going a little bit deeper on this, we asked 2 questions. If AI was too risky for data analysis to influence decision making, on average, sentiment was neutral. But when it comes to using AI to actually interact with the database with, like, CRUD permissions, Overwhelming sentiment was like, please do not do that. That is way too risky, which makes sense. So those are the 6 big takeaways, learnings we add just from a surface evaluation of the results that we got in the survey.\u003C\u002Fp>\u003Cp>Hopefully, these were interesting to you as they were to us. And again, like, data isn't boring. It's just how are people using it? How are we framing it? Hopefully, we need some more discussions around this, because we're data nerds at the end of the day.\u003C\u002Fp>\u003Cp>And what we're gonna do is basically put together a series that we call data drops, where we're gonna release an article, with, like, a really interesting insight, because it's one thing to know what the trends are. But we think it's more important to understand, like, why they vary from a startup in Silicon Valley as opposed to a seasoned freelancer in Berlin. So if you wanna get up to date on those and get nice little nuggets in your inbox, make sure you sign up for a newsletter. It goes out once a month. You can sign up in our docs.\u003C\u002Fp>\u003Cp>You can sign up on our, main blog, But we'd love to have you sign up and just get these once a month newsletters. Appreciate the time today, and, have a good one.\u003C\u002Fp>","Hey. How's it going? I'm Matt on the marketing team here at Directus. Data discussions really aren't the stuff of legend. And in fact, when we put this survey together, at first, there was a couple of, like, raised eyebrows like, data, really? Is that what we want to do? What do you know? A month later, we had a huge flood of responses. 782 developers told us how they're using data in their projects. That tells us that, you know, data isn't dull. There's just nobody talking about it in the right way. We're going to make data exciting again. Here are the 6 things that we learned that we thought were really interesting, or 2 of these actually really shocked us when we found out. Number 1 is that Postgres leads the pack. It is the choice of over 63% of the developers we surveyed, that they're using in their projects currently. The number 2 thing, slightly related, but of all the database types when developers are starting new projects, over 57% of them said that they prefer relational databases all over all other types. Even asked our CTO, Reich, about it. And he said, know, the most likely reason is that a vast majority of data applications have some sort of schema consistency need for type safety and expectability. In NoSQL, you can quickly end up effectively reimplementing a lot of the things that a SQL database already offers out of the box. The number 3 thing we found that was really interesting to us was that developers are leaning towards cloud hosted database solutions. So by a wide margin too. Cloud leads, 68% of respondents prefer hosting with solutions like AWS or Azure, versus, you know, managed database services like DigitalOcean or on prem servers. This one, I think, was so shocking because it was so lopsided. 94% of our survey respondents said they prefer working with REST APIs as opposed to GraphQL. We kinda went into this thinking that cost was gonna be the primary factor, to consider when hosting databases. And in fact, it is a consideration, but it's not the most important. I think what this tells us is that developers are prioritizing performance and reliability and ease of use over how much it costs, which is still a consideration, but not what's driving, decisions at the end of the day. Taking this a step further, actually, we asked what the primary factors they think hosting should be charging for. And the top 3 in order were, machine resource utilization, so, like, RAM and CPU, storage space, and, actually, number of read and write options, which was interesting. The least popular way to price hosting, was by charging on the number of database records. So just an interesting little finding there. But, yeah. Number 6 was the most shocking thing we found. Over 64% of respondents said that they're using AI for cogeneration. So despite all of this, like loud people in the room talking about, like, AI is bad for development, I think there's a lot of people quietly actually using this to become better at their job and learning how to implement and the things that they're doing. Actually, going a little bit deeper on this, we asked 2 questions. If AI was too risky for data analysis to influence decision making, on average, sentiment was neutral. But when it comes to using AI to actually interact with the database with, like, CRUD permissions, Overwhelming sentiment was like, please do not do that. That is way too risky, which makes sense. So those are the 6 big takeaways, learnings we add just from a surface evaluation of the results that we got in the survey. Hopefully, these were interesting to you as they were to us. And again, like, data isn't boring. It's just how are people using it? How are we framing it? Hopefully, we need some more discussions around this, because we're data nerds at the end of the day. And what we're gonna do is basically put together a series that we call data drops, where we're gonna release an article, with, like, a really interesting insight, because it's one thing to know what the trends are. But we think it's more important to understand, like, why they vary from a startup in Silicon Valley as opposed to a seasoned freelancer in Berlin. So if you wanna get up to date on those and get nice little nuggets in your inbox, make sure you sign up for a newsletter. It goes out once a month. You can sign up in our docs. You can sign up on our, main blog, But we'd love to have you sign up and just get these once a month newsletters. Appreciate the time today, and, have a good one.",[272],"edb5a0f8-2ad0-4efd-89f2-7d8ff780cfa0",[],{"id":42,"number":43,"show":4,"year":31,"episodes":275},[45,46,47,48,49,50,51,52,53],{"id":51,"slug":277,"vimeo_id":278,"description":279,"tile":280,"length":43,"resources":9,"people":281,"episode_number":285,"published":185,"title":286,"video_transcript_html":287,"video_transcript_text":288,"content":9,"seo":9,"status":13,"episode_people":289,"recommendations":291,"season":292},"02-cloud","918866384","Today, we’re proud to be expanding the Directus Cloud offering with key features requested by our customers.","cddd947d-9a92-4550-b2cb-5dcb5f4fcebe",[282],{"name":283,"url":284},"Alex Chopin","https:\u002F\u002Fdirectus.io\u002Fteam\u002Falex-chopin",7,"What's New In Directus Cloud","\u003Cp>Speaker 0: Directus really is a solution for everyone. From side projects and small businesses, right through to huge organization like Kia, Copa Airlines, Walmart, and T Mobile. Our enterprise cloud offers dedicated infrastructure from the team who build directors. It's perfect for mission critical project with higher security and support needs. Today, we are proud to be expanding the enterprise cloud offering with key features requested by our customers.\u003C\u002Fp>\u003Cp>Over the last few months, our team has been working on improving our infrastructure in a number of areas, including security, performances, and flexibility. With this in mind, we are not able to offer auto scaling infrastructure, which means even with sudden peak in traffic, your project stays strong. Auto scaling is enabled by default on all our new projects, both on enterprise and professional cloud. We love speaking to our customers, but you should also need to speak to us less. Up until now, if you want to set up a custom domain for an enterprise project, you have to get in touch with us.\u003C\u002Fp>\u003Cp>Now it's over. Self-service custom domains are now available through the cloud dashboard for enterprise cloud projects. We are looking forward to chatting with you more, but not about custom domains.\u003C\u002Fp>","Directus really is a solution for everyone. From side projects and small businesses, right through to huge organization like Kia, Copa Airlines, Walmart, and T Mobile. Our enterprise cloud offers dedicated infrastructure from the team who build directors. It's perfect for mission critical project with higher security and support needs. Today, we are proud to be expanding the enterprise cloud offering with key features requested by our customers. Over the last few months, our team has been working on improving our infrastructure in a number of areas, including security, performances, and flexibility. With this in mind, we are not able to offer auto scaling infrastructure, which means even with sudden peak in traffic, your project stays strong. Auto scaling is enabled by default on all our new projects, both on enterprise and professional cloud. We love speaking to our customers, but you should also need to speak to us less. Up until now, if you want to set up a custom domain for an enterprise project, you have to get in touch with us. Now it's over. Self-service custom domains are now available through the cloud dashboard for enterprise cloud projects. We are looking forward to chatting with you more, but not about custom domains.",[290],"2c905038-7bb4-4532-9acb-c335146f0a8d",[],{"id":42,"number":43,"show":4,"year":31,"episodes":293},[45,46,47,48,49,50,51,52,53],{"id":52,"slug":295,"vimeo_id":296,"description":297,"tile":298,"length":56,"resources":9,"people":299,"episode_number":303,"published":185,"title":304,"video_transcript_html":305,"video_transcript_text":306,"content":9,"seo":9,"status":13,"episode_people":307,"recommendations":309,"season":310},"02-partners","918865399","Today we are launching the new Directus Partner Program, specifically tailored for agencies. ","a9a49a74-5d63-4286-a506-d40269eac812",[300],{"name":301,"url":302},"Colton Schmidt","https:\u002F\u002Fdirectus.io\u002Fteam\u002Fcolton-schmidt",8,"New Directus Partner Program","\u003Cp>Speaker 0: Today, we're announcing our new partner program focused on agencies. Agency partners are a super important part of how we reach our customers. We've designed this program in conjunction with our current partners, and the program will enable agencies and client projects of all shapes and sizes how we think you're gonna love it. We now have a formal certification program to help you get the most from Directus and understand which projects it is suitable for. And, of course, there will also be a larger resource center available, which can help you when discussing Directus with your customers.\u003C\u002Fp>\u003Cp>Our team is available for advisory calls to validate your approaches, suggest new ones, and sell alongside your team. And, of course, the program includes revenue sharing, both upfront and renewals. The new partner directory will help companies looking for experts to implement their projects. And with co marketing opportunities, we can help share all your stories. This isn't all, but it captures the most important parts of the partner program.\u003C\u002Fp>\u003Cp>We really think you're gonna love it. You can find out more at directus.io\u002Fpartners. And later this year, we'll also be expanding our program to include technical partners. But that's for another day.\u003C\u002Fp>","Today, we're announcing our new partner program focused on agencies. Agency partners are a super important part of how we reach our customers. We've designed this program in conjunction with our current partners, and the program will enable agencies and client projects of all shapes and sizes how we think you're gonna love it. We now have a formal certification program to help you get the most from Directus and understand which projects it is suitable for. And, of course, there will also be a larger resource center available, which can help you when discussing Directus with your customers. Our team is available for advisory calls to validate your approaches, suggest new ones, and sell alongside your team. And, of course, the program includes revenue sharing, both upfront and renewals. The new partner directory will help companies looking for experts to implement their projects. And with co marketing opportunities, we can help share all your stories. This isn't all, but it captures the most important parts of the partner program. We really think you're gonna love it. You can find out more at directus.io\u002Fpartners. And later this year, we'll also be expanding our program to include technical partners. But that's for another day.",[308],"507e972c-e0d3-4f0e-b492-4ae1fad6d9de",[],{"id":42,"number":43,"show":4,"year":31,"episodes":311},[45,46,47,48,49,50,51,52,53],{"id":53,"slug":313,"vimeo_id":314,"description":315,"tile":316,"length":30,"resources":9,"people":317,"episode_number":319,"published":185,"title":320,"video_transcript_html":321,"video_transcript_text":322,"content":9,"seo":9,"status":13,"episode_people":323,"recommendations":325,"season":326},"02-plus","918864581","Announcing our subscription service crafted to enhance your Directus experience to the maximum.","c29dc9f5-2370-4a7f-a31a-f64c6c5fd640",[318],{"name":100,"url":101},9,"Level Up With Directus+","\u003Cp>Speaker 0: While headless CMS is one of our most popular use cases, Directus is a super powerful toolkit for managing any type of data. A lot of our most successful clients start out with a single use case like headless CMS, and then once they realize the full potential of Directus, they quickly expand into other applications. But what if you could unlock that potential even faster? Who wouldn't like to ship new projects and features in half the normal amount of time? What developer doesn't love to make a huge impact for their clients, their team, their organization.\u003C\u002Fp>\u003Cp>That's what my team has been working to solve, and I'm super excited to introduce Directus Plus. Directus Plus is a companion subscription for developers who love to ship. It doesn't matter if you're a freelancer, agency developer, or a staff engineer. You'll get a ton of value from Directus plus. Here's what's inside.\u003C\u002Fp>\u003Cp>Powerful headless starter kits to help you ship faster. Starter kits are done for you back ends for specific use cases you'll inevitably be asked to build or buy, like learning management systems for your own custom courseware, product information management to manage your product catalogs and technical data, multi tenant SaaS, video streaming platforms like Directus TV, and more. These starter kits get you to 80% complete on day 1, saving you boatloads of time. And they're headless, so you get to bring your favorite front end framework. They're also designed to be fully composable, so you can use them together in the same project.\u003C\u002Fp>\u003Cp>That's not all. Directus plus also includes advanced training and workshops to level up your skills. We'll be hosting deep dive workshops that are exclusively for Directus Plus members. Workshops will be taught by our own internal Directus experts, and, occasionally, we'll even be joined by our partners, hosting providers, front end framework experts, and more. You'll learn tons about how to leverage advanced features inside Directus like flows, insights, and more to build real world use cases.\u003C\u002Fp>\u003Cp>For example, one of our first workshops is on connecting Directus with Stripe to accept payments. Directus plus members will receive a premium role and private channels within our Discord community and first dibs on cool new swag drops. As a launch thank you, we're offering $100 off the price for directus plus membership. So if you sign up now, you'll pay just $99 per year. Yep.\u003C\u002Fp>\u003Cp>That's it. You'll get starter kits to move faster, training to level up, and the pride that comes with supporting our project. To learn more and get started, go to directus.i0\u002Fplus. Just fill out the short checkout form, and you'll receive a private invite and instructions within moments. I can't wait to see you on the other side.\u003C\u002Fp>","While headless CMS is one of our most popular use cases, Directus is a super powerful toolkit for managing any type of data. A lot of our most successful clients start out with a single use case like headless CMS, and then once they realize the full potential of Directus, they quickly expand into other applications. But what if you could unlock that potential even faster? Who wouldn't like to ship new projects and features in half the normal amount of time? What developer doesn't love to make a huge impact for their clients, their team, their organization. That's what my team has been working to solve, and I'm super excited to introduce Directus Plus. Directus Plus is a companion subscription for developers who love to ship. It doesn't matter if you're a freelancer, agency developer, or a staff engineer. You'll get a ton of value from Directus plus. Here's what's inside. Powerful headless starter kits to help you ship faster. Starter kits are done for you back ends for specific use cases you'll inevitably be asked to build or buy, like learning management systems for your own custom courseware, product information management to manage your product catalogs and technical data, multi tenant SaaS, video streaming platforms like Directus TV, and more. These starter kits get you to 80% complete on day 1, saving you boatloads of time. And they're headless, so you get to bring your favorite front end framework. They're also designed to be fully composable, so you can use them together in the same project. That's not all. Directus plus also includes advanced training and workshops to level up your skills. We'll be hosting deep dive workshops that are exclusively for Directus Plus members. Workshops will be taught by our own internal Directus experts, and, occasionally, we'll even be joined by our partners, hosting providers, front end framework experts, and more. You'll learn tons about how to leverage advanced features inside Directus like flows, insights, and more to build real world use cases. For example, one of our first workshops is on connecting Directus with Stripe to accept payments. Directus plus members will receive a premium role and private channels within our Discord community and first dibs on cool new swag drops. As a launch thank you, we're offering $100 off the price for directus plus membership. So if you sign up now, you'll pay just $99 per year. Yep. That's it. You'll get starter kits to move faster, training to level up, and the pride that comes with supporting our project. To learn more and get started, go to directus.i0\u002Fplus. Just fill out the short checkout form, and you'll receive a private invite and instructions within moments. I can't wait to see you on the other side.",[324],"2f5c0f2e-926d-4d73-b1e7-abb12d9de47a",[],{"id":42,"number":43,"show":4,"year":31,"episodes":327},[45,46,47,48,49,50,51,52,53],{"id":33,"slug":329,"vimeo_id":330,"description":331,"tile":332,"length":333,"resources":9,"people":9,"episode_number":56,"published":334,"title":335,"video_transcript_html":336,"video_transcript_text":337,"content":9,"seo":338,"status":13,"episode_people":339,"recommendations":348,"season":349},"leap-week-3-keynote","959681429","The full keynote from our third Leap Week in June 2024.","fd848d69-a531-4b37-89be-d8ca21023625",27,"2024-06-17","Leap Week 3: Full Keynote","\u003Cp>Speaker 0: Welcome to my office and to Leap week 3. It's already been 3 months since the last one, and we've put together what we hope you'll find to be a very enjoyable week of events. This kickoff is split into 3 sections, Directus Open Source, Content and Community, and finally, What's New for Partners and Customers. Just after this broadcast at 11 AM Eastern, we're inviting you to talk about our announcements in an event in our Discord community server. Tomorrow, there's an event all about how agencies source and assess technologies, moderated by our CEO, Ben Haines, with guests from and Work and Co.\u003C\u002Fp>\u003Cp>Tomorrow, there's also an exclusive workshop for Directors Plus members, where you'll build a global search module that will search across all collections in your project. On Wednesday, we're partnering with our friends at Twilio for a hands on workshop on building an outbound phone system in Directus Insights. On Wednesday, there's also a live episode of a 100 apps in a 100 hours, where we challenge Brian to try and build a project in just 60 minutes. He'll be joined by some of our colleagues and friends who will either make things easier or much, much harder. On Thursday, we're running another workshop with voice AI company Deepgram, where we'll build new automations within Directus to create audio summaries of YouTube videos.\u003C\u002Fp>\u003Cp>And finally, on Friday, we invite all of you to a community networking social. You can find all of the events listed on our event page, on our Discord events tab, and in your calendar if you have a Leap Week ticket. Just over a year ago, we released Directus 10, a really important moment for us in creating premium and sustainable open source software. Internally, we ran what we called the summer of Directus 10, where we could renew our focus in rapidly bringing out new features for everyone, including live preview, real time, a new SDK, and a lot more. In a landscape where lots of companies have changed their license unexpectedly, we invited you, our community and users, to help figure out the right steps to take.\u003C\u002Fp>\u003Cp>And we've recently published how that change has gone so far. Today, we're not announcing Directus 10.13, but instead the release candidate of the next major version of Directus, Directus 11. To talk to you more about what's new, I want to hand over to our co founder, CTO, and lead maintainer, Ryke.\u003C\u002Fp>\u003Cp>Speaker 1: I'm excited to announce today how we're overhauling access control in Directus. We spent the last months researching and developing the next big iteration of permissions that we're calling policies. Policies allow you to compose the access control for your roles and users. Each role and user can have 1 or more policies, which can be reused across the system. Indirect is 10.\u003C\u002Fp>\u003Cp>Permissions are directly attached to roles. This means that you may have many similar roles with duplicated permissions to achieve the granularity that your project requires. Before, the user could only have one set of permissions based on their role. A policy, however, is a set of permissions that, like today, allow you to control what a user can see or do across your collections. Policies are effectively an abstraction, allowing for 1 or more permissions to be reused across roles or users.\u003C\u002Fp>\u003Cp>You will be able to add policies directly to a role, a user, or both. For example, when managing a website, you could create a page edit policy that contains all the permissions required to be able to edit the website's pages, which you can then attach to your marketing and engineering roles. Or for example, when generating sales reports, you could create a view quarterly results policy that allows your analysts, account executives, and demand team to view the quarterly results. The user or role can have multiple of these policies so each policy can be very granular as opposed to having one role that has to contain everything. Much easier to manage.\u003C\u002Fp>\u003Cp>Another example, when configuring a multi tenant system, you can now create a role per tenant but have all of the permissions for those roles rely on the same shared policies, allowing you to manage the permissions for each user in a centralized place while keeping the tenants separated by role. Policies allow for new ways of organizing and managing your permission sets. We'll be providing these examples and more in our new docs platform coming later this summer. All these changes might sound like a lot at first, but rest assured, as with the releases of Directus 10, we're providing an automatic migration between Directus 10 and Directus 11 to help you get started with policies. We're very excited to give you this new flexibility which is perfect for simplifying your more complicated projects.\u003C\u002Fp>\u003Cp>Come chat with us about this and more at 11 AM EST in our town hall in Discord.\u003C\u002Fp>\u003Cp>Speaker 0: Being such an important and major change to how permissions and access control works in Directus, we've decided to first publish a release candidate version of directors 11 to get it into your hands and crush any last remaining bugs that may remain before general availability. The directors 11 release candidate will be available this week with a general availability in a few weeks' time. Now since the last sleep week, we've also released a feature that's been requested for ages. Over to Daniel to tell you more.\u003C\u002Fp>\u003Cp>Speaker 2: In Directus 10.11, we introduced public user registration. This allows for users to register new accounts directly from the login screen or via the API. Let me show you how it works. Once enabled in your project settings, users will see a link on the sign in screen. They click it, register, and can immediately log in.\u003C\u002Fp>\u003Cp>You can also enable email verification, which will send the user an email with a link they need to click on. Until they do, the user account will be marked as unverified and they won't be able to log in. You can also set up rules that the email address must match. This is more powerful than just enabling email allow listing as you can set more complex rules based on your needs. And then in Directus 10.12, we applied feedback about this feature and created a set of environment variables to control how many users can exist in your project.\u003C\u002Fp>\u003Cp>Before now, you had to use a series of perfectly configured settings to enable public registration in a separate application or custom extensions. We're always looking to apply your feedback to Directus. We hope this feature makes your development easier.\u003C\u002Fp>\u003Cp>Speaker 0: Up until now, we've only supported the very latest version of Directus. But we've heard that this can be difficult for users, needing to sometimes adapt your project to meet the needs of later versions when perhaps all you need is security updates. So Directus 10.12 will be the first version of Directus to receive extended security updates. We want you to think of this as providing an upgrade window to update and take advantage of latest features while being able to keep your project secure in the meantime. Directus 10.12 will receive extended security updates until the end of 2024.\u003C\u002Fp>\u003Cp>Now we've been releasing more than just the Director's core project in the last few months, and I want to hand over to Pedro to tell you more.\u003C\u002Fp>\u003Cp>Speaker 3: Those of you who are eagle eyed may have noticed a start to publish packages under the Directus Labs name. Directus Labs is our space to build experiments and gather feedback. Now not everything that's published by Directus Labs will be maintained the same way as the core project, but it does give us room to try out new things and respond to our users. In fact, last month's Directus AI announcement was a project launched inside of Directus Labs. So in case you missed it, Directus AI is a set of extensions that you can install from the marketplace and leverage best in class AI platforms directly within Directus.\u003C\u002Fp>\u003Cp>So whether you're looking to rewrite text, generate images, run text analysis, or or moderation, these building blocks can be built into your workflows with Directus Automate. You can find out more about Directus AI by checking out our Directus TV series going through each of these extensions in more detail. And today, we're announcing new Directus Labs project, which closes out one of our most requested features and one that I've been waiting for for a long time, a spreadsheet layout. So now you can edit items directly from within Directus Explore, either automatically saving after each edit or manually saving after you've made all the changes. This may sound small, but it's gonna be a huge change for teams that need to edit data often.\u003C\u002Fp>\u003Cp>This isn't the only new extension we published through DXIS Labs, but it's certainly one of the most impactful. We specifically wanna shout out our community member, Florian, for working with us on this project. Directus Labs allows us to ship new integrations, interfaces, and automations really quickly and embrace Directus as a super extensible platform ready for your projects. Talking about extensions, I wanna hand it over to Benny to tell you more.\u003C\u002Fp>\u003Cp>Speaker 4: Good day, everyone. I'm Benny, and I have the privilege of talking about our plans for the extensions and marketplace ecosystem. I recently joined the team with the goal of focusing on the developer and user experiences of Directus Extensions. This includes the overall extension development and deployment lifecycle, a public facing marketplace, and the underlying registry API. Many of you have been wondering what will come next for the marketplace since our release of the beta at our last Leap Week.\u003C\u002Fp>\u003Cp>Let me start by thanking each of you who have contributed to testing and providing feedback on the marketplace in any way. Let's discuss the developer experience first. One of the key parts of improving the developer experience, and also partly the discoverability of extensions, is in bringing new capabilities to the extensions sandbox SDK. SDK. With the upcoming release of our new policy system, we are expecting to be able to provide granular access to things like the underlying file systems, users, notifications, and emails.\u003C\u002Fp>\u003Cp>One of the biggest opportunities for improving the sandbox that we have identified is of course enabling support for importing external libraries. Even though this may be a significant technical challenge to implement whilst retaining the important security benefits of having a sandbox, we are looking forward to solving this for you. Okay, so what about new extension features? We are exploring how to augment existing extensions, how to deploy data and config templates using the same APIs as extensions, how to add functionality to allow developers to define extension specific settings, and we are looking at increasing the amount of life cycle events available to extension developers. We are frequently asked how to add new plugins to the built in block editor for example, as well as adding tweaks to other extensions and experiences.\u003C\u002Fp>\u003Cp>Right now this is cumbersome, and we think that extensions will benefit from being able to install lightweight enhancements. This means extension developers will be able to package the core functionality for their custom developed user experiences, whilst being able to allow others to build on their work. Being able to deploy templates and config via extension system will allow users to include things like data structures and email templates in a controlled way. Extension settings being configurable in the app will allow the inclusion of API keys and other configuration that isn't dependent on having access to environment variables at deploy time. Our life cycle hooks will allow for better management of installing and uninstalling extensions.\u003C\u002Fp>\u003Cp>These are just some of the features we are planning to add to the road map soon to help craft our growing extension library. The last set of work we will be focusing on before moving the marketplace out of beta will ensure your extensions are seen by the widest audience possible. Our marketplace listings will be more dynamic and easier to find what you are looking for. This will include providing more options for meta information to control elements such as how details about individual contributors are displayed, as well as adding elements like hero screenshots and logos. This may also include enhancements to the configurable meta information like better tagging options to improve searching for extensions.\u003C\u002Fp>\u003Cp>To help increase visibility, we are looking at how to make extensions listed in the marketplace discoverable outside of the director's studio so that anyone can link to them for consideration outside of an existing project. We also want to provide extension authors with insights into how their extensions are performing. This may include being able to do things like react to comments, reviews, and feedback from users as a verified extension author. Finally, we are looking at how to indicate the quality of each of the extensions public in the marketplace in a clear and transparent way. This will help users get the best experience and provide developers clear guidelines on how to produce high quality extensions.\u003C\u002Fp>\u003Cp>These new changes will be implemented in both the data studio as well as the registry API. Once these changes are implemented, we will publish the registry API spec to enable developers to publish and maintain their own additional registries. As you have heard, there is a lot going into the marketplace. We are looking forward to sharing the roadmap with you in the next couple of weeks, and you'll be able to see the priority of item stem. We wanted to take this opportunity to provide some insight into how the roadmap is being developed and what will be coming.\u003C\u002Fp>\u003Cp>Once this work is done, the marketplace will be ready for general availability. We hope you are as excited as we are for some of these upcoming changes. We are really passionate about the directors extension ecosystem, and I can't wait to see what you create.\u003C\u002Fp>\u003Cp>Speaker 0: No. Hang on. We gotta go back. We gotta do that one again. Sorry.\u003C\u002Fp>\u003Cp>Speaker 5: Hello, everybody. Now let's dive into our theme. So for this, I'm gonna pull out my trusty palette knife. This is not gonna be good for my lisp, but we're gonna try it anyways.\u003C\u002Fp>\u003Cp>Speaker 6: It's just a really great tool and I've just been really enjoying still using tyform all these years later.\u003C\u002Fp>\u003Cp>Speaker 0: So let's give that just a moment, and there are the maple trees again.\u003C\u002Fp>\u003Cp>Speaker 7: I like this because every time I put it on, it reminds me that some tech is just rubbish.\u003C\u002Fp>\u003Cp>Speaker 0: Not terribly elegant, but we're just gonna throw a new error.\u003C\u002Fp>\u003Cp>Speaker 5: Hop open my inbox. Boom. There we can see the message. Let's take a look at our logs. We have got some logs in here.\u003C\u002Fp>\u003Cp>Holy moly. I guess this is gonna be all sorts of copyright infringement here. I wanna see your facial expressions because I wanna know if this is a terrible idea. This is for entertainment purposes only. Any lawyers watching this, just so we know.\u003C\u002Fp>\u003Cp>Speaker 8: The creative code for design and development depending on which alliteration you choose.\u003C\u002Fp>\u003Cp>Speaker 9: Keyboards are probably the main one that I could talk about where I have a bunch of custom mechanical keyboards. I have some behind me. I've got a bunch all over the place.\u003C\u002Fp>\u003Cp>Speaker 0: Let's get started with Directus and Astro.\u003C\u002Fp>\u003Cp>Speaker 2: Welcome to another exciting episode of, Request Review, where we go over your hopes, wishes, and dreams and potentially crush them.\u003C\u002Fp>\u003Cp>Speaker 0: This was a huge amount of fun. It was just a little quick project which I think is gonna actually enrich my day to day life.\u003C\u002Fp>\u003Cp>Speaker 5: Oh, hey. It's visit from the cat. I was hoping he'd show up.\u003C\u002Fp>\u003Cp>Speaker 6: No. It's okay. Christopher.\u003C\u002Fp>\u003Cp>Speaker 5: What does it all mean?\u003C\u002Fp>\u003Cp>Speaker 6: Thanks for joining me and, I'll see you\u003C\u002Fp>\u003Cp>Speaker 8: somewhere.\u003C\u002Fp>\u003Cp>Speaker 0: No. No. No. If you're if you're okay with it. I love that as the\u003C\u002Fp>\u003Cp>Speaker 9: Alright. Fine.\u003C\u002Fp>\u003Cp>Speaker 0: Next, Directus TV. If you've not heard of it, it's our streaming platform which brings together education, entertainment, and stories from across the director's ecosystem. Every week we publish new episodes across our 30 shows. Since the last leap week, we've released buzzword wilderness, which has Matt asking if it's real or just marketing. Democratizing data where we bring new life to open datasets with directors and new seasons of both Trace Talks and a 100 apps in a 100 hours.\u003C\u002Fp>\u003Cp>Today we are announcing some new shows. In t I l, that's technically I'm lost, Matt dives deep into the world of code. Along the way he shares his discoveries, successes and occasional missteps making tech more accessible to nontechnical professionals. In authentication avenue, we travel down the world of all things authentication, authorization, and access control. Director's auth is hugely powerful and we're excited to help you better understand it.\u003C\u002Fp>\u003Cp>In dungeons and dashboards, we will build tools for our fellow dungeon masters, guides, and navigators, and build the ultimate toolkit for running campaigns with our parties.\u003C\u002Fp>\u003Cp>Speaker 9: And I'll be your host in Talking Heads, Coding Hands. It's a developer game show bringing together elements from other great games you may know.\u003C\u002Fp>\u003Cp>Speaker 7: Join our contestants as they talk and code against the clock.\u003C\u002Fp>\u003Cp>Speaker 0: Thanks for that, Cassidy. There are even more shows hitting your screen this summer, so you can get truly lost down the rabbit hole. Now everything we do is for our community, so I'm going to pass over to Beth, the newest member of our developer relations team, for the next announcement.\u003C\u002Fp>\u003Cp>Speaker 6: Directors is a project that has only been successful thanks to our vibrant community. We have 12500 members in our Discord server, where community members help each other better understand and build with Directus, show off what they have built and collaborate. We have 100 of GitHub contributors and tens of thousands of GitHub stars. All of this has helped shape Directus and we are super thankful for the love and care the community give. We are often asked how people can contribute to the project beyond just code.\u003C\u002Fp>\u003Cp>So today, we are announcing the Directus Community Experts Programme. This programme supports you in bringing Directus to your own communities and networks across the world. At launch, this will be a program focused on events, both bringing Directors to events named you and running new events with our support. We've designed this program to make sure there is loads for you to get out of it and of course if writing is more your thing our guest author program remains open for submission. Register interest in joining the Community Experts program at directors.\u003C\u002Fp>\u003Cp>Iscommunityexperts by the end of June, where we'll be reviewing and sending more information across.\u003C\u002Fp>\u003Cp>Speaker 0: Thank you so much for that, Beth, and I'm super excited to be putting together the Directus community experts program. Now moving on, our agency partners are a really important part of how we reach customers and make sure their projects are successful. And at the last Leap Week, Colton announced our revamp partner program. Since then, more has happened, so I want to hand over to him to tell you more.\u003C\u002Fp>\u003Cp>Speaker 8: It's been an exciting past few months since we announced our new partner program. The feedback from the community and agency partners has been amazing. You can find direct us partners in over 35 countries to help build your projects. No matter where you're located, we have great partners like Sunzanet based in Germany, HarmonyX based in Thailand, Rockulab based in Australia, untile based in Portugal, and Echobind based in the USA. All of these agencies are experts in consulting, developing, and supporting your projects.\u003C\u002Fp>\u003Cp>We can't wait to introduce you to our full list of agency partners through the new partner directory and also showcase them through agency corner, a new show launching on Directus TV this July. Alongside the partner directory and agency corner, our certification path for new partners is dropping with the latest educational material, including our newly announced policies feature. Tomorrow is a live bridging bytes event on how agencies assess and buy technologies. Our CEO Ben is hosting with guests from and work and co. You're now going to hear from Bryant for our final set of announcements today.\u003C\u002Fp>\u003Cp>Speaker 5: It's been 3 months since we released Directus Plus, our premium companion subscription for developers building with Directus. The subscription includes access to powerful starter kits designed to help you ship projects faster, and advanced workshops that are exclusive to members. So far, we've got over 100 plus individual developers and agencies in the Directus Plus program. And we've gotten a ton of great feedback. But before I share some exciting new updates, first, let's run through all the things we've shipped to date.\u003C\u002Fp>\u003Cp>We've released a total of 7 starter kits for a lot of different use cases. A learning management system to build custom courseware. A PIM system to manage all of your product data and catalogs. A multi tenant SaaS application backend. A video streaming platform, similar to Directus TV.\u003C\u002Fp>\u003Cp>A status page to keep users informed of any incidents or downtime. An onboarding checklist application that is perfect for managing new employees or even new clients. And our most recent starter kit, an AI content machine that works with our Directus AI extensions to absolutely crush your content workflow. Generate ideas from notes and recordings. Create first drafts with a click of a button, and automatically translate content to multiple languages.\u003C\u002Fp>\u003Cp>We've also completed 2 workshops. In Minimum Viable Billing, we used Directus Flows to accept payments for online products via Stripe. In database to data engine, we gave a sad lonely SQL database, new purpose, and equipped our non technical team members with rest APIs, dashboards and automated workflows. Now, I'm sure Kev is saying, okay, enough of the past, Brian. Tell them what's coming up.\u003C\u002Fp>\u003Cp>So let's hop into the updates. Our next starter kit drops this week. It's a virtual event registration platform, inspired by our own Leap Week site. You can now stop stringing together 30 different services to run online events for your company, or for your clients. It's also the 1st Starter Kit to include a front end that already has all the plumbing connected to the Directus Backend, enabling you to ship even faster.\u003C\u002Fp>\u003Cp>It includes registration and ticketing, personalized social images, a referral tracking system, and more. I'm also excited to announce a new Directus plus team plan. We heard your feedback. And for Teams, you wanted an easier way to share the value that Directus Plus offers. Starter kits, training, and access to the private community channels.\u003C\u002Fp>\u003Cp>Pricing for the Team Plan will be 5.99 per year, which includes up to 20 developers. That's a huge savings over the individual plan. The team plan will be rolling out over the next couple weeks, so stay tuned to your inbox. Lastly, the introductory period and the promotional pricing of $99 for the year will be available for just 2 more weeks. On July 1st, the cost of an individual plan for Directus Plus will go up to 2.99 annually.\u003C\u002Fp>\u003Cp>As we've built and released more starter kits, and firmed up the offering, this felt like the right moment to launch Directus Plus more fully. And with that, back to\u003C\u002Fp>\u003Cp>Speaker 0: you, Kip. Today, we announced Directus 11 with policies, a concept that builds a new level of flexibility into your access control, along with a 6 month upgrade window in which Directus 10.12 will receive security updates. Pedro introduced Directus Labs and our new spreadsheet layout, and Benny talked you through our plans for extensions development and the Directus Marketplace. We teased what's new on director's TV this summer, with great new shows like Technically Unlost, Dungeons and Dashboards and Talking Heads Coding Hands, hosted by Cassidy Williams. Beth revealed direct to Community Experts, a new program to involve and reward community members who go above and beyond for each other.\u003C\u002Fp>\u003Cp>Colton shared more about our partner program, and Brian showed off what's new for Directus Plus. And it's only Monday. Join us after this at 11 AM Eastern for a community town hall, where you can come and talk to the core team about today's announcements. Tomorrow is Bridging Bites, and an exclusive workshop for Directors Plus. It's not too late to sign up and join in.\u003C\u002Fp>\u003Cp>On Wednesday, we're running a workshop on integrating Twilio with Directus and our second ever a 100 apps in a 100 hours live. On Thursday, we'll be building complex automations with Deepgram's voice AI tools. And finally, on Friday, we invite all of you to our community networking social. Thank you again on behalf of the directors core team, which now accounts for over 30 of us over 10 countries. Your enthusiasm and support is what keeps us focused on building the best back end for your projects.\u003C\u002Fp>\u003Cp>Until next time. Bye for now.\u003C\u002Fp>","Welcome to my office and to Leap week 3. It's already been 3 months since the last one, and we've put together what we hope you'll find to be a very enjoyable week of events. This kickoff is split into 3 sections, Directus Open Source, Content and Community, and finally, What's New for Partners and Customers. Just after this broadcast at 11 AM Eastern, we're inviting you to talk about our announcements in an event in our Discord community server. Tomorrow, there's an event all about how agencies source and assess technologies, moderated by our CEO, Ben Haines, with guests from and Work and Co. Tomorrow, there's also an exclusive workshop for Directors Plus members, where you'll build a global search module that will search across all collections in your project. On Wednesday, we're partnering with our friends at Twilio for a hands on workshop on building an outbound phone system in Directus Insights. On Wednesday, there's also a live episode of a 100 apps in a 100 hours, where we challenge Brian to try and build a project in just 60 minutes. He'll be joined by some of our colleagues and friends who will either make things easier or much, much harder. On Thursday, we're running another workshop with voice AI company Deepgram, where we'll build new automations within Directus to create audio summaries of YouTube videos. And finally, on Friday, we invite all of you to a community networking social. You can find all of the events listed on our event page, on our Discord events tab, and in your calendar if you have a Leap Week ticket. Just over a year ago, we released Directus 10, a really important moment for us in creating premium and sustainable open source software. Internally, we ran what we called the summer of Directus 10, where we could renew our focus in rapidly bringing out new features for everyone, including live preview, real time, a new SDK, and a lot more. In a landscape where lots of companies have changed their license unexpectedly, we invited you, our community and users, to help figure out the right steps to take. And we've recently published how that change has gone so far. Today, we're not announcing Directus 10.13, but instead the release candidate of the next major version of Directus, Directus 11. To talk to you more about what's new, I want to hand over to our co founder, CTO, and lead maintainer, Ryke. I'm excited to announce today how we're overhauling access control in Directus. We spent the last months researching and developing the next big iteration of permissions that we're calling policies. Policies allow you to compose the access control for your roles and users. Each role and user can have 1 or more policies, which can be reused across the system. Indirect is 10. Permissions are directly attached to roles. This means that you may have many similar roles with duplicated permissions to achieve the granularity that your project requires. Before, the user could only have one set of permissions based on their role. A policy, however, is a set of permissions that, like today, allow you to control what a user can see or do across your collections. Policies are effectively an abstraction, allowing for 1 or more permissions to be reused across roles or users. You will be able to add policies directly to a role, a user, or both. For example, when managing a website, you could create a page edit policy that contains all the permissions required to be able to edit the website's pages, which you can then attach to your marketing and engineering roles. Or for example, when generating sales reports, you could create a view quarterly results policy that allows your analysts, account executives, and demand team to view the quarterly results. The user or role can have multiple of these policies so each policy can be very granular as opposed to having one role that has to contain everything. Much easier to manage. Another example, when configuring a multi tenant system, you can now create a role per tenant but have all of the permissions for those roles rely on the same shared policies, allowing you to manage the permissions for each user in a centralized place while keeping the tenants separated by role. Policies allow for new ways of organizing and managing your permission sets. We'll be providing these examples and more in our new docs platform coming later this summer. All these changes might sound like a lot at first, but rest assured, as with the releases of Directus 10, we're providing an automatic migration between Directus 10 and Directus 11 to help you get started with policies. We're very excited to give you this new flexibility which is perfect for simplifying your more complicated projects. Come chat with us about this and more at 11 AM EST in our town hall in Discord. Being such an important and major change to how permissions and access control works in Directus, we've decided to first publish a release candidate version of directors 11 to get it into your hands and crush any last remaining bugs that may remain before general availability. The directors 11 release candidate will be available this week with a general availability in a few weeks' time. Now since the last sleep week, we've also released a feature that's been requested for ages. Over to Daniel to tell you more. In Directus 10.11, we introduced public user registration. This allows for users to register new accounts directly from the login screen or via the API. Let me show you how it works. Once enabled in your project settings, users will see a link on the sign in screen. They click it, register, and can immediately log in. You can also enable email verification, which will send the user an email with a link they need to click on. Until they do, the user account will be marked as unverified and they won't be able to log in. You can also set up rules that the email address must match. This is more powerful than just enabling email allow listing as you can set more complex rules based on your needs. And then in Directus 10.12, we applied feedback about this feature and created a set of environment variables to control how many users can exist in your project. Before now, you had to use a series of perfectly configured settings to enable public registration in a separate application or custom extensions. We're always looking to apply your feedback to Directus. We hope this feature makes your development easier. Up until now, we've only supported the very latest version of Directus. But we've heard that this can be difficult for users, needing to sometimes adapt your project to meet the needs of later versions when perhaps all you need is security updates. So Directus 10.12 will be the first version of Directus to receive extended security updates. We want you to think of this as providing an upgrade window to update and take advantage of latest features while being able to keep your project secure in the meantime. Directus 10.12 will receive extended security updates until the end of 2024. Now we've been releasing more than just the Director's core project in the last few months, and I want to hand over to Pedro to tell you more. Those of you who are eagle eyed may have noticed a start to publish packages under the Directus Labs name. Directus Labs is our space to build experiments and gather feedback. Now not everything that's published by Directus Labs will be maintained the same way as the core project, but it does give us room to try out new things and respond to our users. In fact, last month's Directus AI announcement was a project launched inside of Directus Labs. So in case you missed it, Directus AI is a set of extensions that you can install from the marketplace and leverage best in class AI platforms directly within Directus. So whether you're looking to rewrite text, generate images, run text analysis, or or moderation, these building blocks can be built into your workflows with Directus Automate. You can find out more about Directus AI by checking out our Directus TV series going through each of these extensions in more detail. And today, we're announcing new Directus Labs project, which closes out one of our most requested features and one that I've been waiting for for a long time, a spreadsheet layout. So now you can edit items directly from within Directus Explore, either automatically saving after each edit or manually saving after you've made all the changes. This may sound small, but it's gonna be a huge change for teams that need to edit data often. This isn't the only new extension we published through DXIS Labs, but it's certainly one of the most impactful. We specifically wanna shout out our community member, Florian, for working with us on this project. Directus Labs allows us to ship new integrations, interfaces, and automations really quickly and embrace Directus as a super extensible platform ready for your projects. Talking about extensions, I wanna hand it over to Benny to tell you more. Good day, everyone. I'm Benny, and I have the privilege of talking about our plans for the extensions and marketplace ecosystem. I recently joined the team with the goal of focusing on the developer and user experiences of Directus Extensions. This includes the overall extension development and deployment lifecycle, a public facing marketplace, and the underlying registry API. Many of you have been wondering what will come next for the marketplace since our release of the beta at our last Leap Week. Let me start by thanking each of you who have contributed to testing and providing feedback on the marketplace in any way. Let's discuss the developer experience first. One of the key parts of improving the developer experience, and also partly the discoverability of extensions, is in bringing new capabilities to the extensions sandbox SDK. SDK. With the upcoming release of our new policy system, we are expecting to be able to provide granular access to things like the underlying file systems, users, notifications, and emails. One of the biggest opportunities for improving the sandbox that we have identified is of course enabling support for importing external libraries. Even though this may be a significant technical challenge to implement whilst retaining the important security benefits of having a sandbox, we are looking forward to solving this for you. Okay, so what about new extension features? We are exploring how to augment existing extensions, how to deploy data and config templates using the same APIs as extensions, how to add functionality to allow developers to define extension specific settings, and we are looking at increasing the amount of life cycle events available to extension developers. We are frequently asked how to add new plugins to the built in block editor for example, as well as adding tweaks to other extensions and experiences. Right now this is cumbersome, and we think that extensions will benefit from being able to install lightweight enhancements. This means extension developers will be able to package the core functionality for their custom developed user experiences, whilst being able to allow others to build on their work. Being able to deploy templates and config via extension system will allow users to include things like data structures and email templates in a controlled way. Extension settings being configurable in the app will allow the inclusion of API keys and other configuration that isn't dependent on having access to environment variables at deploy time. Our life cycle hooks will allow for better management of installing and uninstalling extensions. These are just some of the features we are planning to add to the road map soon to help craft our growing extension library. The last set of work we will be focusing on before moving the marketplace out of beta will ensure your extensions are seen by the widest audience possible. Our marketplace listings will be more dynamic and easier to find what you are looking for. This will include providing more options for meta information to control elements such as how details about individual contributors are displayed, as well as adding elements like hero screenshots and logos. This may also include enhancements to the configurable meta information like better tagging options to improve searching for extensions. To help increase visibility, we are looking at how to make extensions listed in the marketplace discoverable outside of the director's studio so that anyone can link to them for consideration outside of an existing project. We also want to provide extension authors with insights into how their extensions are performing. This may include being able to do things like react to comments, reviews, and feedback from users as a verified extension author. Finally, we are looking at how to indicate the quality of each of the extensions public in the marketplace in a clear and transparent way. This will help users get the best experience and provide developers clear guidelines on how to produce high quality extensions. These new changes will be implemented in both the data studio as well as the registry API. Once these changes are implemented, we will publish the registry API spec to enable developers to publish and maintain their own additional registries. As you have heard, there is a lot going into the marketplace. We are looking forward to sharing the roadmap with you in the next couple of weeks, and you'll be able to see the priority of item stem. We wanted to take this opportunity to provide some insight into how the roadmap is being developed and what will be coming. Once this work is done, the marketplace will be ready for general availability. We hope you are as excited as we are for some of these upcoming changes. We are really passionate about the directors extension ecosystem, and I can't wait to see what you create. No. Hang on. We gotta go back. We gotta do that one again. Sorry. Hello, everybody. Now let's dive into our theme. So for this, I'm gonna pull out my trusty palette knife. This is not gonna be good for my lisp, but we're gonna try it anyways. It's just a really great tool and I've just been really enjoying still using tyform all these years later. So let's give that just a moment, and there are the maple trees again. I like this because every time I put it on, it reminds me that some tech is just rubbish. Not terribly elegant, but we're just gonna throw a new error. Hop open my inbox. Boom. There we can see the message. Let's take a look at our logs. We have got some logs in here. Holy moly. I guess this is gonna be all sorts of copyright infringement here. I wanna see your facial expressions because I wanna know if this is a terrible idea. This is for entertainment purposes only. Any lawyers watching this, just so we know. The creative code for design and development depending on which alliteration you choose. Keyboards are probably the main one that I could talk about where I have a bunch of custom mechanical keyboards. I have some behind me. I've got a bunch all over the place. Let's get started with Directus and Astro. Welcome to another exciting episode of, Request Review, where we go over your hopes, wishes, and dreams and potentially crush them. This was a huge amount of fun. It was just a little quick project which I think is gonna actually enrich my day to day life. Oh, hey. It's visit from the cat. I was hoping he'd show up. No. It's okay. Christopher. What does it all mean? Thanks for joining me and, I'll see you somewhere. No. No. No. If you're if you're okay with it. I love that as the Alright. Fine. Next, Directus TV. If you've not heard of it, it's our streaming platform which brings together education, entertainment, and stories from across the director's ecosystem. Every week we publish new episodes across our 30 shows. Since the last leap week, we've released buzzword wilderness, which has Matt asking if it's real or just marketing. Democratizing data where we bring new life to open datasets with directors and new seasons of both Trace Talks and a 100 apps in a 100 hours. Today we are announcing some new shows. In t I l, that's technically I'm lost, Matt dives deep into the world of code. Along the way he shares his discoveries, successes and occasional missteps making tech more accessible to nontechnical professionals. In authentication avenue, we travel down the world of all things authentication, authorization, and access control. Director's auth is hugely powerful and we're excited to help you better understand it. In dungeons and dashboards, we will build tools for our fellow dungeon masters, guides, and navigators, and build the ultimate toolkit for running campaigns with our parties. And I'll be your host in Talking Heads, Coding Hands. It's a developer game show bringing together elements from other great games you may know. Join our contestants as they talk and code against the clock. Thanks for that, Cassidy. There are even more shows hitting your screen this summer, so you can get truly lost down the rabbit hole. Now everything we do is for our community, so I'm going to pass over to Beth, the newest member of our developer relations team, for the next announcement. Directors is a project that has only been successful thanks to our vibrant community. We have 12500 members in our Discord server, where community members help each other better understand and build with Directus, show off what they have built and collaborate. We have 100 of GitHub contributors and tens of thousands of GitHub stars. All of this has helped shape Directus and we are super thankful for the love and care the community give. We are often asked how people can contribute to the project beyond just code. So today, we are announcing the Directus Community Experts Programme. This programme supports you in bringing Directus to your own communities and networks across the world. At launch, this will be a program focused on events, both bringing Directors to events named you and running new events with our support. We've designed this program to make sure there is loads for you to get out of it and of course if writing is more your thing our guest author program remains open for submission. Register interest in joining the Community Experts program at directors. Iscommunityexperts by the end of June, where we'll be reviewing and sending more information across. Thank you so much for that, Beth, and I'm super excited to be putting together the Directus community experts program. Now moving on, our agency partners are a really important part of how we reach customers and make sure their projects are successful. And at the last Leap Week, Colton announced our revamp partner program. Since then, more has happened, so I want to hand over to him to tell you more. It's been an exciting past few months since we announced our new partner program. The feedback from the community and agency partners has been amazing. You can find direct us partners in over 35 countries to help build your projects. No matter where you're located, we have great partners like Sunzanet based in Germany, HarmonyX based in Thailand, Rockulab based in Australia, untile based in Portugal, and Echobind based in the USA. All of these agencies are experts in consulting, developing, and supporting your projects. We can't wait to introduce you to our full list of agency partners through the new partner directory and also showcase them through agency corner, a new show launching on Directus TV this July. Alongside the partner directory and agency corner, our certification path for new partners is dropping with the latest educational material, including our newly announced policies feature. Tomorrow is a live bridging bytes event on how agencies assess and buy technologies. Our CEO Ben is hosting with guests from and work and co. You're now going to hear from Bryant for our final set of announcements today. It's been 3 months since we released Directus Plus, our premium companion subscription for developers building with Directus. The subscription includes access to powerful starter kits designed to help you ship projects faster, and advanced workshops that are exclusive to members. So far, we've got over 100 plus individual developers and agencies in the Directus Plus program. And we've gotten a ton of great feedback. But before I share some exciting new updates, first, let's run through all the things we've shipped to date. We've released a total of 7 starter kits for a lot of different use cases. A learning management system to build custom courseware. A PIM system to manage all of your product data and catalogs. A multi tenant SaaS application backend. A video streaming platform, similar to Directus TV. A status page to keep users informed of any incidents or downtime. An onboarding checklist application that is perfect for managing new employees or even new clients. And our most recent starter kit, an AI content machine that works with our Directus AI extensions to absolutely crush your content workflow. Generate ideas from notes and recordings. Create first drafts with a click of a button, and automatically translate content to multiple languages. We've also completed 2 workshops. In Minimum Viable Billing, we used Directus Flows to accept payments for online products via Stripe. In database to data engine, we gave a sad lonely SQL database, new purpose, and equipped our non technical team members with rest APIs, dashboards and automated workflows. Now, I'm sure Kev is saying, okay, enough of the past, Brian. Tell them what's coming up. So let's hop into the updates. Our next starter kit drops this week. It's a virtual event registration platform, inspired by our own Leap Week site. You can now stop stringing together 30 different services to run online events for your company, or for your clients. It's also the 1st Starter Kit to include a front end that already has all the plumbing connected to the Directus Backend, enabling you to ship even faster. It includes registration and ticketing, personalized social images, a referral tracking system, and more. I'm also excited to announce a new Directus plus team plan. We heard your feedback. And for Teams, you wanted an easier way to share the value that Directus Plus offers. Starter kits, training, and access to the private community channels. Pricing for the Team Plan will be 5.99 per year, which includes up to 20 developers. That's a huge savings over the individual plan. The team plan will be rolling out over the next couple weeks, so stay tuned to your inbox. Lastly, the introductory period and the promotional pricing of $99 for the year will be available for just 2 more weeks. On July 1st, the cost of an individual plan for Directus Plus will go up to 2.99 annually. As we've built and released more starter kits, and firmed up the offering, this felt like the right moment to launch Directus Plus more fully. And with that, back to you, Kip. Today, we announced Directus 11 with policies, a concept that builds a new level of flexibility into your access control, along with a 6 month upgrade window in which Directus 10.12 will receive security updates. Pedro introduced Directus Labs and our new spreadsheet layout, and Benny talked you through our plans for extensions development and the Directus Marketplace. We teased what's new on director's TV this summer, with great new shows like Technically Unlost, Dungeons and Dashboards and Talking Heads Coding Hands, hosted by Cassidy Williams. Beth revealed direct to Community Experts, a new program to involve and reward community members who go above and beyond for each other. Colton shared more about our partner program, and Brian showed off what's new for Directus Plus. And it's only Monday. Join us after this at 11 AM Eastern for a community town hall, where you can come and talk to the core team about today's announcements. Tomorrow is Bridging Bites, and an exclusive workshop for Directors Plus. It's not too late to sign up and join in. On Wednesday, we're running a workshop on integrating Twilio with Directus and our second ever a 100 apps in a 100 hours live. On Thursday, we'll be building complex automations with Deepgram's voice AI tools. And finally, on Friday, we invite all of you to our community networking social. Thank you again on behalf of the directors core team, which now accounts for over 30 of us over 10 countries. Your enthusiasm and support is what keeps us focused on building the best back end for your projects. Until next time. Bye for now.","7fb1af38-0fdc-4889-9807-14bee931d9c9",[340,341,342,343,344,345,346,347],"ddd017e8-e179-4d0b-a7bb-2577e5968128","6a180043-5de7-41a4-9424-c0f3e13d30d3","397e8612-f4be-4259-875e-8438bb4c9217","1bd27721-b2bc-439a-a382-83fdc40aa463","9cb6b883-3af8-406d-b474-c58309a7f268","82852f77-6bf3-48a0-b0b4-c00756134f37","3d1e49bf-1481-45dd-9789-e176565265a4","697b1b92-c7b1-48d0-ae98-53bf0a002b5b",[],{"id":29,"number":30,"show":4,"year":31,"episodes":350},[33,34,35,36,37,38,39,40],{"id":34,"slug":352,"vimeo_id":353,"description":354,"tile":355,"length":30,"resources":9,"people":9,"episode_number":43,"published":334,"title":356,"video_transcript_html":357,"video_transcript_text":358,"content":9,"seo":359,"status":13,"episode_people":360,"recommendations":362,"season":363},"directus-11-rc","959645858","Directus 11 is here with policies - our key new feature making access control more powerful and flexible in your projects.","1030116d-a508-4c55-b0a1-5d519035a9c8","Directus 11 Release Candidate","\u003Cp>Rijk: I'm excited to announce today how we're overhauling access control in Directus. We spent the last months researching and developing the next big iteration of permissions that we're calling policies. Policies allow you to compose the access control for your roles and users. Each role and user can have 1 or more policies which can be reused across the system. In direct list 10, permissions are directly attached to roles.\u003C\u002Fp>\n\u003Cp>This means that you may have many similar roles with duplicated permissions to achieve the granularity that your project requires. Before, a user could only have one set of permissions based on their role. A policy, however, is a set of permissions that, like today, allow you to control what a user can see or do across your collections. Policies are effectively an abstraction allowing for 1 or more permissions to be reused across roles or users. You will be able to add policies directly to a role, a user, or both.\u003C\u002Fp>\n\u003Cp>For example, when managing a website you could create a page edit policy that contains all the permissions required to be able to edit the website's pages, which you can then attach to your marketing and engineering roles. Or, for example, when generating sales reports, you could create a view quarterly results policy that allows your analysts, account executives, and demand team to view the quarterly results. A user or role can have multiple of these policies, so each policy can be very granular as opposed to having one role that has to contain everything. Much easier to manage. Another example, when configuring a multi tenant system, you can now create a role per tenant but have all of the permissions for those roles rely on the same shared policies, allowing you to manage the permissions for each user in a centralized place while keeping the tenants separated by role.\u003C\u002Fp>\n\u003Cp>Policies allow for new ways of organizing and managing your permission sets. We'll be providing these examples and more in our new docs platform coming later this summer. All these changes might sound like a lot at first, but rest assured, as with the releases of directus 10, we're providing an automatic migration between directus 10 and directus 11 to help you get started with policies. We're very excited to give you this new flexibility, which is perfect for simplifying your more complicated projects. Come chat with us about this and more at 11 AM EST in our town hall in Discord.\u003C\u002Fp>","I'm excited to announce today how we're overhauling access control in Directus. We spent the last months researching and developing the next big iteration of permissions that we're calling policies. Policies allow you to compose the access control for your roles and users. Each role and user can have 1 or more policies which can be reused across the system. In direct list 10, permissions are directly attached to roles. This means that you may have many similar roles with duplicated permissions to achieve the granularity that your project requires. Before, a user could only have one set of permissions based on their role. A policy, however, is a set of permissions that, like today, allow you to control what a user can see or do across your collections. Policies are effectively an abstraction allowing for 1 or more permissions to be reused across roles or users. You will be able to add policies directly to a role, a user, or both. For example, when managing a website you could create a page edit policy that contains all the permissions required to be able to edit the website's pages, which you can then attach to your marketing and engineering roles. Or, for example, when generating sales reports, you could create a view quarterly results policy that allows your analysts, account executives, and demand team to view the quarterly results. A user or role can have multiple of these policies, so each policy can be very granular as opposed to having one role that has to contain everything. Much easier to manage. Another example, when configuring a multi tenant system, you can now create a role per tenant but have all of the permissions for those roles rely on the same shared policies, allowing you to manage the permissions for each user in a centralized place while keeping the tenants separated by role. Policies allow for new ways of organizing and managing your permission sets. We'll be providing these examples and more in our new docs platform coming later this summer. All these changes might sound like a lot at first, but rest assured, as with the releases of directus 10, we're providing an automatic migration between directus 10 and directus 11 to help you get started with policies. We're very excited to give you this new flexibility, which is perfect for simplifying your more complicated projects. Come chat with us about this and more at 11 AM EST in our town hall in Discord.","70a5b4d3-78bf-47cb-b55a-156211b6a239",[361],"2e0d3c2f-e239-4529-9263-b4e0574d7a41",[],{"id":29,"number":30,"show":4,"year":31,"episodes":364},[33,34,35,36,37,38,39,40],{"id":35,"slug":366,"vimeo_id":367,"description":368,"tile":369,"length":43,"resources":9,"people":9,"episode_number":30,"published":334,"title":370,"video_transcript_html":371,"video_transcript_text":372,"content":9,"seo":373,"status":13,"episode_people":374,"recommendations":376,"season":377},"public-user-registration","959645678","We've shipped public user registration in Directus 10, allowing users to register for your project without the need for complex permission setups. ","7d4664fa-82fd-4a08-8714-631456d50754","Public User Registration","\u003Cp>Daniel: In Directus 10.11, we introduced public user registration. This allows for users to register new accounts directly from the login screen or via the API. Let me show you how it works. Once enabled in your project settings, users will see a link on the sign in screen. They click it, register, and can immediately log in.\u003C\u002Fp>\n\u003Cp>You can also enable email verification, and they and they won't be able to log in. You can also set up rules that the email address must match. This is more powerful than just enabling email allow listing as you can set more complex rules based on your needs. And then in Directus 10.12, we applied feedback about this feature and created a set of environment variables to control how many users can exist in your project. Before now, you had to use a series of perfectly configured settings to enable public registration in a separate application or custom extensions.\u003C\u002Fp>\n\u003Cp>We're always looking to apply your feedback to directors. We hope this feature makes your development easier.\u003C\u002Fp>","In Directus 10.11, we introduced public user registration. This allows for users to register new accounts directly from the login screen or via the API. Let me show you how it works. Once enabled in your project settings, users will see a link on the sign in screen. They click it, register, and can immediately log in. You can also enable email verification, and they and they won't be able to log in. You can also set up rules that the email address must match. This is more powerful than just enabling email allow listing as you can set more complex rules based on your needs. And then in Directus 10.12, we applied feedback about this feature and created a set of environment variables to control how many users can exist in your project. Before now, you had to use a series of perfectly configured settings to enable public registration in a separate application or custom extensions. We're always looking to apply your feedback to directors. We hope this feature makes your development easier.","d60fe98c-1da3-404d-a805-6de4062a49d6",[375],"1d22ac07-b656-4128-8e3c-513647e9e4ab",[],{"id":29,"number":30,"show":4,"year":31,"episodes":378},[33,34,35,36,37,38,39,40],{"id":36,"slug":380,"vimeo_id":381,"description":382,"tile":383,"length":56,"resources":9,"people":9,"episode_number":17,"published":334,"title":384,"video_transcript_html":385,"video_transcript_text":386,"content":9,"seo":387,"status":13,"episode_people":388,"recommendations":390,"season":391},"extended-security-updates-directus-10-12","959693784","Announcing Extended Security Updates (ESU) for Directus 10.12 until the end of 2024, ensuring critical security updates and a flexible upgrade timeframe for our users.","ac653ef1-0d5b-45c9-9637-464569f31d8d","Extended Security Updates for Directus 10.12","\u003Cp>Kevin: Up until now we've only supported the very latest version of But we've heard that this can be difficult for users, needing to sometimes adapt your project to meet the needs of later versions when perhaps all you need is security updates. So Directus 10.12 will be the 1st version of Directus to receive extended security updates. We want you to think of this as providing an upgrade window to update and take advantage of latest features while being able to keep your project secure in the meantime. Directus 10.12 will receive extended security updates until the end of 2024.\u003C\u002Fp>","Up until now we've only supported the very latest version of But we've heard that this can be difficult for users, needing to sometimes adapt your project to meet the needs of later versions when perhaps all you need is security updates. So Directus 10.12 will be the first version of Directus to receive extended security updates. We want you to think of this as providing an upgrade window to update and take advantage of latest features while being able to keep your project secure in the meantime. Directus 10.12 will receive extended security updates until the end of 2024.","2497dc12-00ff-44b4-ace0-b4de995bdb48",[389],"c95c001d-f5b3-4f22-b1e3-8d4c345e649a",[],{"id":29,"number":30,"show":4,"year":31,"episodes":392},[33,34,35,36,37,38,39,40],{"id":37,"slug":394,"vimeo_id":395,"description":396,"tile":397,"length":43,"resources":9,"people":9,"episode_number":168,"published":334,"title":398,"video_transcript_html":399,"video_transcript_text":400,"content":9,"seo":401,"status":13,"episode_people":402,"recommendations":404,"season":405},"directus-labs-spreadsheet-layout","959645214","Explore the new Spreadsheet Layout on Directus Marketplace for efficient data editing, launched as part of our new Directus Labs project. ","6be5e3ce-c8f4-489e-b0ed-ca8ebe6127da","Directus Labs & Spreadsheet Layout","\u003Cp>Pedro: Those of you who are eagle eyed may have noticed a start to publish packages under the Directus Labs name. Directus Labs is our space to build experiments and gather feedback. Now not everything that's published by Directus Labs will be maintained the same way as the core project, but it does give us room to try out new things and respond to our users. In fact, last month's Directus AI announcement was a project launched inside of Directus Labs. So in case you missed it, Directus AI is a set of extensions that you can install from the marketplace and leverage best in class AI platforms directly within Directus.\u003C\u002Fp>\n\u003Cp>So whether you're looking to rewrite text, generate images, run text analysis, or or moderation, these building blocks can be built into your workflows with Directus Automate. You can find out more about Directus AI by checking out our Directus TV series going through each of these extensions in more detail. And today, we're announcing a new Directus Labs project, which closes out one of our most requested features and one that I've been waiting for for a long time, a spreadsheet layout. So now you can edit items directly from within Directus Explore, either automatically saving after each edit or manually saving after you've made all the changes. This may sound small, but it's gonna be a huge change for teams that need to edit data often.\u003C\u002Fp>\n\u003Cp>This isn't the only new extension we've published through Directsys Labs, but it's certainly one of the most impactful. We specifically want to shout out our community member, Florian, for working with us on this project. Directus Labs allows us to ship new integrations, interfaces, and automations really quickly and embrace Directus as a super extensible platform ready for your projects.\u003C\u002Fp>","Those of you who are eagle eyed may have noticed a start to publish packages under the Directus Labs name. Directus Labs is our space to build experiments and gather feedback. Now not everything that's published by Directus Labs will be maintained the same way as the core project, but it does give us room to try out new things and respond to our users. In fact, last month's Directus AI announcement was a project launched inside of Directus Labs. So in case you missed it, Directus AI is a set of extensions that you can install from the marketplace and leverage best in class AI platforms directly within Directus. So whether you're looking to rewrite text, generate images, run text analysis, or or moderation, these building blocks can be built into your workflows with Directus Automate. You can find out more about Directus AI by checking out our Directus TV series going through each of these extensions in more detail. And today, we're announcing a new Directus Labs project, which closes out one of our most requested features and one that I've been waiting for for a long time, a spreadsheet layout. So now you can edit items directly from within Directus Explore, either automatically saving after each edit or manually saving after you've made all the changes. This may sound small, but it's gonna be a huge change for teams that need to edit data often. This isn't the only new extension we've published through Directsys Labs, but it's certainly one of the most impactful. We specifically want to shout out our community member, Florian, for working with us on this project. Directus Labs allows us to ship new integrations, interfaces, and automations really quickly and embrace Directus as a super extensible platform ready for your projects.","a6455525-e932-4edd-8eed-05e2ff2e4ea2",[403],"2fa0ad95-1ee8-4f03-82f7-1b114f81fc6e",[],{"id":29,"number":30,"show":4,"year":31,"episodes":406},[33,34,35,36,37,38,39,40],{"id":38,"slug":408,"vimeo_id":409,"description":410,"tile":411,"length":168,"resources":9,"people":9,"episode_number":70,"published":334,"title":412,"video_transcript_html":413,"video_transcript_text":414,"content":9,"seo":415,"status":13,"episode_people":416,"recommendations":418,"season":419},"extensions-and-marketplace-plans","959643594","Learn about the main core themes for our new team focused on extensions and the Directus Marketplace.","87826de1-4c2d-4d1b-8e0f-ffc8d28a958e","Plans for Extensions and Marketplace","\u003Cp>Speaker 0: Good day, everyone. I'm Benny, and I have the privilege of talking about our plans for the extensions and marketplace ecosystem. I recently joined the team with the goal of focusing on the developer and user experiences of Directus Extensions. This includes the overall extension development and deployment lifecycle, our public facing marketplace, and the underlying registry API. Many of you have been wondering what will come next for the marketplace since our release of the beta at our last Leap Week.\u003C\u002Fp>\u003Cp>Let me start by thanking each of you who have contributed to testing and providing feedback on the marketplace in any way. Let's discuss the developer experience first. One of the key parts of improving the developer experience, and also partly the discoverability of extensions is in bringing new capabilities to the Extension Sandbox SDK. With the upcoming release of our new policy system, we are expecting to be able to provide granular access to things like the underlying file systems, users, notifications, and emails. One of the biggest opportunities for improving the sandbox that we have identified is, of course, enabling support for importing external libraries.\u003C\u002Fp>\u003Cp>Even though this may be a significant technical challenge to implement whilst retaining the important security benefits of having a sandbox, we are looking forward to solving this for you. Okay. So what about new extension features? We are exploring how to augment existing extensions, how to deploy data and config templates using the same APIs as extensions, how to add functionality to allow developers to define extension specific settings, and we are looking at increasing the amount of life cycle events available to extension developers. We are frequently asked how to add new plugins to the built in block editor, for example, as well as adding tweaks to other extensions and experiences.\u003C\u002Fp>\u003Cp>Right now, this is cumbersome, and we think that extensions will benefit from being able to install lightweight enhancements. This means extension developers will be able to package the core functionality for their custom developed user experiences whilst being able to allow others to build on their work. Being able to deploy templates and config via extension system will allow users to include things like data structures and email templates in a controlled way. Extension settings being configurable in the app will allow the inclusion of API keys and other configuration that isn't dependent on having access to environment variables at deploy time. Our life cycle hooks will allow for better management of installing and uninstalling extensions.\u003C\u002Fp>\u003Cp>These are just some of the features we are planning to add to the road map soon to help craft our growing extension library. The last set of work we will be focusing on before moving the marketplace out of beta will ensure your extensions are seen by the widest audience possible. Our marketplace listings will be more dynamic and easier to find what you are looking for. This will include providing more options for meta information to control elements such as how details about individual contributors are displayed, as well as adding elements like hero screenshots and logos. This may also include enhancements to the configurable meta information, like better tagging options to improve searching for extensions.\u003C\u002Fp>\u003Cp>To help increase visibility, we are looking at how to make extensions listed in the marketplace discoverable outside of the director's studio so that anyone can link to them for consideration outside of an existing project. We also want to provide extension authors with insights into how their extensions are performing. This may include being able to do things like react to comments, reviews, and feedback from users as a verified extension author. Finally, we are looking at how to indicate the quality of each of the extensions public in the marketplace in a clear and transparent way. This will help users get the best experience and provide developers clear guidelines on how to produce high quality extensions.\u003C\u002Fp>\u003Cp>These new changes will be implemented in both the Data Studio as well as the registry API. Once these changes are implemented, we will publish the registry API spec to enable developers to publish and maintain their own additional registries. As you have heard, there is a lot going into the marketplace. We are looking forward to sharing the road map with you in the next couple of weeks, and you'll be able to see the priority of the item stem. We wanted to take this opportunity to provide some insight into how the road map is being developed and what will be coming.\u003C\u002Fp>\u003Cp>Once this work is done, the marketplace will be ready for general availability. We hope you are as excited as we are for some of these upcoming changes. We are really passionate about the directors extension ecosystem, and I can't wait to see what you create.\u003C\u002Fp>","Good day, everyone. I'm Benny, and I have the privilege of talking about our plans for the extensions and marketplace ecosystem. I recently joined the team with the goal of focusing on the developer and user experiences of Directus Extensions. This includes the overall extension development and deployment lifecycle, our public facing marketplace, and the underlying registry API. Many of you have been wondering what will come next for the marketplace since our release of the beta at our last Leap Week. Let me start by thanking each of you who have contributed to testing and providing feedback on the marketplace in any way. Let's discuss the developer experience first. One of the key parts of improving the developer experience, and also partly the discoverability of extensions is in bringing new capabilities to the Extension Sandbox SDK. With the upcoming release of our new policy system, we are expecting to be able to provide granular access to things like the underlying file systems, users, notifications, and emails. One of the biggest opportunities for improving the sandbox that we have identified is, of course, enabling support for importing external libraries. Even though this may be a significant technical challenge to implement whilst retaining the important security benefits of having a sandbox, we are looking forward to solving this for you. Okay. So what about new extension features? We are exploring how to augment existing extensions, how to deploy data and config templates using the same APIs as extensions, how to add functionality to allow developers to define extension specific settings, and we are looking at increasing the amount of life cycle events available to extension developers. We are frequently asked how to add new plugins to the built in block editor, for example, as well as adding tweaks to other extensions and experiences. Right now, this is cumbersome, and we think that extensions will benefit from being able to install lightweight enhancements. This means extension developers will be able to package the core functionality for their custom developed user experiences whilst being able to allow others to build on their work. Being able to deploy templates and config via extension system will allow users to include things like data structures and email templates in a controlled way. Extension settings being configurable in the app will allow the inclusion of API keys and other configuration that isn't dependent on having access to environment variables at deploy time. Our life cycle hooks will allow for better management of installing and uninstalling extensions. These are just some of the features we are planning to add to the road map soon to help craft our growing extension library. The last set of work we will be focusing on before moving the marketplace out of beta will ensure your extensions are seen by the widest audience possible. Our marketplace listings will be more dynamic and easier to find what you are looking for. This will include providing more options for meta information to control elements such as how details about individual contributors are displayed, as well as adding elements like hero screenshots and logos. This may also include enhancements to the configurable meta information, like better tagging options to improve searching for extensions. To help increase visibility, we are looking at how to make extensions listed in the marketplace discoverable outside of the director's studio so that anyone can link to them for consideration outside of an existing project. We also want to provide extension authors with insights into how their extensions are performing. This may include being able to do things like react to comments, reviews, and feedback from users as a verified extension author. Finally, we are looking at how to indicate the quality of each of the extensions public in the marketplace in a clear and transparent way. This will help users get the best experience and provide developers clear guidelines on how to produce high quality extensions. These new changes will be implemented in both the Data Studio as well as the registry API. Once these changes are implemented, we will publish the registry API spec to enable developers to publish and maintain their own additional registries. As you have heard, there is a lot going into the marketplace. We are looking forward to sharing the road map with you in the next couple of weeks, and you'll be able to see the priority of the item stem. We wanted to take this opportunity to provide some insight into how the road map is being developed and what will be coming. Once this work is done, the marketplace will be ready for general availability. We hope you are as excited as we are for some of these upcoming changes. We are really passionate about the directors extension ecosystem, and I can't wait to see what you create.","efdbb9a7-a5b3-4ac2-9c86-4452e25049cc",[417],"457d9ca9-0ab8-4b28-b75f-5e258d12ba89",[],{"id":29,"number":30,"show":4,"year":31,"episodes":420},[33,34,35,36,37,38,39,40],{"id":39,"slug":422,"vimeo_id":423,"description":424,"tile":425,"length":17,"resources":9,"people":9,"episode_number":285,"published":334,"title":426,"video_transcript_html":427,"video_transcript_text":428,"content":9,"seo":429,"status":13,"episode_people":430,"recommendations":432,"season":433},"directus-tv-summer-2024","959642640","New shows and renewals for Directus TV - our streaming platform which brings together education, entertainment, and stories from across the Directus ecosystem. ","bad02aa6-b270-412e-b671-e6ca322d1f99","This Summer on Directus TV","\u003Cp>Kevin: No. Hang on. We gotta go back. We gotta do that one again. Sorry.\u003C\u002Fp>\n\u003Cp>Bryant: Hello, everybody. Now let's dive into our theme. So for\u003C\u002Fp>\n\u003Cp>Terence: this, I'm gonna pull out my trusty palette knife.\u003C\u002Fp>\n\u003Cp>Bryant: This is not gonna be good for my lisp, but we're gonna try it anyways.\u003C\u002Fp>\n\u003Cp>Saron: It's just a really great tool and I've just been really enjoying still using Typeform all these years later.\u003C\u002Fp>\n\u003Cp>Kevin: So I'll give that just a moment, and there are the maple trees again.\u003C\u002Fp>\n\u003Cp>Terence: I like this because every time I put it on, it reminds me that some tech is just rubbish.\u003C\u002Fp>\n\u003Cp>Kevin: Not terribly elegant, but we're just gonna throw a new error.\u003C\u002Fp>\n\u003Cp>Terence: Hop open my inbox. Boom. There we&nbsp;can see the message.\u003C\u002Fp>\n\u003Cp>Andrew: Let's take a look at our logs. We have got some logs in here. Holy moly.\u003C\u002Fp>\n\u003Cp>Bryant: I guess this is gonna be all sorts of copyright infringement here. I wanna see your facial expressions because I wanna know if this is a terrible idea. This is for entertainment purposes only. Any lawyers watching this, just so we know.\u003C\u002Fp>\n\u003Cp>Bryant: The creative code or design and development depending on which alliteration you choose.\u003C\u002Fp>\n\u003Cp>Saron: Keyboards are probably the main one that I could talk about where&nbsp;I have a bunch of custom mechanical keyboards. I have some behind me. I've got a bunch all over the place.\u003C\u002Fp>\n\u003Cp>Kevin: Let's get started with Directus and Astro.\u003C\u002Fp>\n\u003Cp>Daniel: Welcome to another exciting episode of Request Review, where we go over your hopes, wishes, and dreams, and potentially crush them.\u003C\u002Fp>\n\u003Cp>Kevin: This was a huge amount of fun it was just a little quick project which I think is gonna actually enrich my day to day life. Oh hey this is from the cat. I was hoping it would show up.\u003C\u002Fp>\n\u003Cp>Naz: They have a nice cat. Christopher.\u003C\u002Fp>\n\u003Cp>Bryant: What does it all mean?\u003C\u002Fp>\n\u003Cp>Salma: Thanks for joining me and, I'll see you somewhere.\u003C\u002Fp>\n\u003Cp>Kevin: No. No. No. If&nbsp;you're if you're okay with it. I love that as the end.\u003C\u002Fp>\n\u003Cp>Salma: Alright. Fine.\u003C\u002Fp>\n\u003Cp>Kevin: Next, Directus TV. If you've not heard of it, it's our streaming platform, which brings together education, entertainment, and stories from across the director's ecosystem. Every week, we publish new episodes across our 30 shows. Since the last leap week, we've released buzzword wilderness, which has Matt asking if it's real or just marketing, democratizing data where we bring new life to open datasets with directors, and new seasons of both Trace Talks and a 100 Apps in a 100 hours. Today, we are announcing some new shows.\u003C\u002Fp>\n\u003Cp>In TIL, that's technically I'm lost, Matt dives deep into the world of code. Along the way, he shares his discovery, successes, and occasional missteps making tech more accessible to nontechnical professionals. In authentication avenue, we travel down the world of all things authentication, authorization, and access control. Director's auth is hugely powerful, and we're excited to help you better understand it. In dungeons and dashboards, we will build tools for our fellow dungeon masters, guides, and navigators, and build the ultimate toolkit for running campaigns with our parties.\u003C\u002Fp>\n\u003Cp>Cassidy: And I'll be your host in Talking Heads, Coding Hands. It's a developer game show bringing together elements from other Greek games you may know. Join our contestants as they talk and code against the clock.\u003C\u002Fp>\n\u003Cp>Kevin: Thanks for that, Cassidy. There are even more shows hitting your screen this summer, so you can get truly lost down the rabbit hole.\u003C\u002Fp>","No. Hang on. We gotta go back. We gotta do that one again. Sorry. Hello, everybody. Now let's dive into our theme. So for this, I'm gonna pull out my trusty palette knife. This is not gonna be good for my lisp, but we're gonna try it anyways. It's just a really great tool and I've just been really enjoying still using Typeform all these years later. So I'll give that just a moment, and there are the maple trees again. I like this because every time I put it on, it reminds me that some tech is just rubbish. Not terribly elegant, but we're just gonna throw a new error. Hop open my inbox. Boom. There we can see the message. Let's take a look at our logs. We have got some logs in here. Holy moly. I guess this is gonna be all sorts of copyright infringement here. I wanna see your facial expressions because I wanna know if this is a terrible idea. This is for entertainment purposes only. Any lawyers watching this, just so we know. The creative code or design and development depending on which alliteration you choose. Keyboards are probably the main one that I could talk about where I have a bunch of custom mechanical keyboards. I have some behind me. I've got a bunch all over the place. Let's get started with Directus and Astro. Welcome to another exciting episode of, Review, where we go over your hopes, wishes, and dreams, and potentially crush them. This was a huge amount of fun it was just a little quick project which I think is gonna actually enrich my day to day life. Oh hey this is from the cat. I was hoping it would show up. They have a nice cat. Christopher. What does it all mean? Thanks for joining me and, I'll see you somewhere. No. No. No. If you're if you're okay with it. I love that as the end. Alright. Fine. Next, Directus TV. If you've not heard of it, it's our streaming platform, which brings together education, entertainment, and stories from across the director's ecosystem. Every week, we publish new episodes across our 30 shows. Since the last leap week, we've released buzzword wilderness, which has Matt asking if it's real or just marketing, democratizing data where we bring new life to open datasets with directors, and new seasons of both Trace Talks and a 100 Apps in a 100 hours. Today, we are announcing some new shows. In t I l, that's technically I'm lost, Matt dives deep into the world of code. Along the way, he shares his discovery, successes, and occasional missteps making tech more accessible to nontechnical professionals. In authentication avenue, we travel down the world of all things authentication, authorization, and access control. Director's auth is hugely powerful, and we're excited to help you better understand it. In dungeons and dashboards, we will build tools for our fellow dungeon masters, guides, and navigators, and build the ultimate toolkit for running campaigns with our parties. And I'll be your host in Talking Heads, Coding Hands. It's a developer game show bringing together elements from other Greek games you may know. Join our contestants as they talk and code against the clock. Thanks for that, Cassidy. There are even more shows hitting your screen this summer, so you can get truly lost down the rabbit hole.","a5eb5979-dc67-4639-b8b2-2dafb243faa4",[431],"f4fa786d-273c-4473-add9-d16c970e3f7a",[],{"id":29,"number":30,"show":4,"year":31,"episodes":434},[33,34,35,36,37,38,39,40],{"id":40,"slug":436,"vimeo_id":437,"description":438,"tile":439,"length":43,"resources":9,"people":9,"episode_number":303,"published":334,"title":440,"video_transcript_html":441,"video_transcript_text":442,"content":9,"seo":443,"status":13,"episode_people":444,"recommendations":446,"season":447},"directus-plus-full-launch","959641354","Get access to powerful starter kits and advanced workshops with Directus+, our premium subscription for developers. Promotional pricing ends soon.","27b7d49f-a743-48b9-8f8b-683111992c5c","Directus+ Team Plans, Starter Kits, and Full Launch","\u003Cp>Bryant: It's been 3 months since we released Directus Plus, our premium companion subscription for developers building with Directus. The subscription includes access to powerful starter kits designed to help you ship projects faster and advanced workshops that are exclusive to members. So far, we've got over 100 plus individual developers and agencies in the Directus plus program, and we've gotten a ton of great feedback. But before I share some exciting new updates, first, let's run through all the things we've shipped to date. We've released a total of 7 starter kits for a lot of different use cases.\u003C\u002Fp>\n\u003Cp>A learning management system to build custom courseware, a PIM system to manage all of your product data and catalogs, a multitenant SaaS application back end, a video streaming platform similar to Directus TV, a status page to keep users informed of any incidents or downtime, An onboarding checklist application that is perfect for managing new employees or even new clients. And our most recent starter kit, an AI content machine that works with our directus AI extensions to absolutely crush your content workflow, generate ideas from notes and recordings, create first drafts with a click of a button, and automatically translate content to multiple languages. We've also completed 2 workshops. In minimum viable billing, we use directus flows to accept payments for online products via Stripe. In database to data engine, we gave a sad lonely SQL database new purpose and equipped our non technical team members with REST APIs, dashboards, and automated workflows.\u003C\u002Fp>\n\u003Cp>Now I'm sure Kev is saying, okay, enough of the past, Bryant. Tell them what's coming up. So let's hop into the updates. Our next starter kit drops this week. It's a virtual event registration platform inspired by our own Leap Week site.\u003C\u002Fp>\n\u003Cp>You can now stop stringing together 30 different services to run online events for your company or for your clients. It's also the 1st starter kit to include a front end that already has all the plumbing connected to the Directus back end, enabling you to ship even faster. It includes registration and ticketing, personalized social images, a referral tracking system, and more. I'm also excited to announce a new Directus plus team plan. We heard your feedback.\u003C\u002Fp>\n\u003Cp>And for teams, you wanted an easier way to share the value that Directus plus offers. Starter kits, training, and access to the private community channels. Pricing for the team plan will be $599 per year, which includes up to 20 developers. That's a huge savings over the individual plan. The team plan will be rolling out over the next couple weeks, so stay tuned to your inbox.\u003C\u002Fp>\n\u003Cp>Lastly, the introductory period and the promotional pricing of $99 for the year will be available for just 2 more weeks. On July 1st, the cost of an individual plan for Directus Plus will go up to $299 annually. As we built and released more starter kits and firmed up the offering, this felt like the right moment to launch Directus Plus more fully. And with that, back to you, Kevin.\u003C\u002Fp>","It's been 3 months since we released Directus Plus, our premium companion subscription for developers building with Directus. The subscription includes access to powerful starter kits designed to help you ship projects faster and advanced workshops that are exclusive to members. So far, we've got over 100 plus individual developers and agencies in the Directus plus program, and we've gotten a ton of great feedback. But before I share some exciting new updates, first, let's run through all the things we've shipped to date. We've released a total of 7 starter kits for a lot of different use cases. A learning management system to build custom courseware, a PIM system to manage all of your product data and catalogs, a multitenant SaaS application back end, a video streaming platform similar to Directus TV, a status page to keep users informed of any incidents or downtime, An onboarding checklist application that is perfect for managing new employees or even new clients. And our most recent starter kit, an AI content machine that works with our directus AI extensions to absolutely crush your content workflow, generate ideas from notes and recordings, create first drafts with a click of a button, and automatically translate content to multiple languages. We've also completed 2 workshops. In minimum viable billing, we use directus flows to accept payments for online products via Stripe. In database to data engine, we gave a sad lonely SQL database new purpose and equipped our non technical team members with REST APIs, dashboards, and automated workflows. Now I'm sure Kev is saying, okay, enough of the past, Brian. Tell them what's coming up. So let's hop into the updates. Our next starter kit drops this week. It's a virtual event registration platform inspired by our own Leap Week site. You can now stop stringing together 30 different services to run online events for your company or for your clients. It's also the 1st starter kit to include a front end that already has all the plumbing connected to the Directus back end, enabling you to ship even faster. It includes registration and ticketing, personalized social images, a referral tracking system, and more. I'm also excited to announce a new Directus plus team plan. We heard your feedback. And for teams, you wanted an easier way to share the value that Directus plus offers. Starter kits, training, and access to the private community channels. Pricing for the team plan will be 5.99 per year, which includes up to 20 developers. That's a huge savings over the individual plan. The team plan will be rolling out over the next couple weeks, so stay tuned to your inbox. Lastly, the introductory period and the promotional pricing of $99 for the year will be available for just 2 more weeks. On July 1st, the cost of an individual plan for Directus Plus will go up to 2.99 annually. As we built and released more starter kits and firmed up the offering, this felt like the right moment to launch Directus Plus more fully. And with that, back to you, Kevin.","7cc4d938-3cb9-47e4-a85e-ccfd85397e3b",[445],"7162af25-cb3a-474b-93e8-7ba638493410",[],{"id":29,"number":30,"show":4,"year":31,"episodes":448},[33,34,35,36,37,38,39,40],{"id":20,"slug":450,"vimeo_id":451,"description":452,"tile":453,"length":454,"resources":9,"people":9,"episode_number":56,"published":455,"title":456,"video_transcript_html":457,"video_transcript_text":458,"content":9,"seo":459,"status":13,"episode_people":460,"recommendations":462,"season":463},"ui-era-shifting","1176272144","Hear from Directus CEO & Co-Founder Ben Haynes on software is shifting from UI-first to data-first. When everyone can build an interface, what is actually valuable?\n\n","08f64249-c879-4294-92f1-b73a3ea82750",14,"2026-03-27","The UI Era is Shifting","\u003Cp>Speaker 0: So let's kick things off. This is Ben, founder and CEO at Directus. And today, I need to talk to you about the end of the UI era. A little sensational, but let's dive in so that I can explain. First off, you might be thinking, don't we have better tools, more people than ever building all these front ends, all these UIs?\u003C\u002Fp>\u003Cp>Yes, absolutely. But when everything is special, nothing is. The front ends have been, commoditized. So let's explore what actually makes software magic, and specifically where the value of software has shifted to and where it's heading next. So since software was created, the interface has been mistaken for the product itself.\u003C\u002Fp>\u003Cp>Users click through, buttons and interfaces and they said, Oh, this is the magic. They saw a dashboard and they said, Oh, that's the application. The Shiny part got the attention for most users. But engineers, you know, for those who are out there, you know better. The visible part of the software is the tip of the iceberg.\u003C\u002Fp>\u003Cp>What lives underneath is the expensive, the fragile part. The part that takes years, decades, to get right. AI has made this a really big deal. Anyone can spin up a decent looking UI, a form, with solid UX, dashboards, components, all of that. They can stitch it together and you can get something that looks just like software.\u003C\u002Fp>\u003Cp>That's amazing. But it's also misleading and maybe even a little dangerous. It creates the illusion that software got easy, but it did not. The front end got easier. The back end maybe even got harder.\u003C\u002Fp>\u003Cp>We have so many builders out there. The back end is the tricky part. And the reason for that is you don't know what you don't know. So while most non engineers can definitely dream up an interface, you are a non technical person. You probably don't know what is needed behind the scenes to actually build this out, make it scalable, make it resilient.\u003C\u002Fp>\u003Cp>So you can Vibe code a UI in a day, but you cannot Vibe code trust. So maybe we just delete the backend. Cursor a little while back actually deleted their headless CMS. As an example. They replaced it in a couple days for a couple $100 worth of tokens.\u003C\u002Fp>\u003Cp>And that really works for a company like theirs. A small team, highly technical, very capable. But that's not going to work for other organizations. You can delete the CMS, but you can't delete the problems that the CMS solves. They come back and when they do, you're either gonna be building from scratch or you're gonna be drowning.\u003C\u002Fp>\u003Cp>So switching gears, let's talk about the back end. You can't one shot your way into production resilience. You can't fake your way into scalable architecture, granular RBAC or access control, reliable APIs, multi tenancy observability, governance rollback strategy, operational maturity. All of this is earned the hard way. Cursor, Lovable, Replit, Bolt and others, they've all made it really easy to create a front end in minutes.\u003C\u002Fp>\u003Cp>And it works. But without a back end, really what you've created is a clickable prototype. The front end and back end distinction gets really blurry because of the excitement around, you know, the generation of this of this front end. And I I love metaphors, so I'll kinda take a a second here. You wouldn't build a house starting with the doorbell, or something like that.\u003C\u002Fp>\u003Cp>You know, the the fresh paint, the beautiful fixtures, the interior design, none of that matters if you've got plumbing, leaking behind the walls, if you've got electricals, you know, sparking fires behind the sheetrock, a foundation that's not even poured and the house is just sinking into the mud. That's just not how things work. Anyone can build these demos, these facades, but far fewer people can build something that actually survives success. You just you can't vibe code trust. So if the front end is becoming free, where does the value go?\u003C\u002Fp>\u003Cp>It goes deeper but not just deeper technically, deeper organizationally. The thing that makes software software wasn't really the pixels. It's not the front end. It's the layer underneath where your whole organization goes, to work together. It's the logic, the APIs, the permissions, the 99.999%, uptime.\u003C\u002Fp>\u003Cp>Your performance under load. You know, does that work? Auditability. Maintainability. The stability that people don't notice until things break.\u003C\u002Fp>\u003Cp>It's not what you see, it's what you feel. You feel when your app goes down. When the data is suddenly corrupted or truncated unexpectedly or deleted. Permissions break. Traffic spikes and things just fall apart.\u003C\u002Fp>\u003Cp>The front end may be what people admire, but the back end again is what people trust. That's what really matters here. So let's first clarify what do we mean by back end. There's the Supabase Lovable partnership and people would refer to Supabase as the backend. It's a database.\u003C\u002Fp>\u003Cp>It's got infrastructure, an API. But really the backend is more than that. The backend is a collaboration layer. It's where technical and non technical users can go to actually access, to browse, manage, and visualize data. It's where data is governed, and used.\u003C\u002Fp>\u003Cp>Not just by engineers, but by anybody in the team. AI accelerates what individuals can do. Our own engineering team uses Cloud Code every day and the velocity gains are very much real. But more complex use cases require humans working together across teams. Engineers with PMs and ops, marketing, legal.\u003C\u002Fp>\u003Cp>AI doesn't solve the collaboration problem. It actually makes it larger. The winners won't be those that can create the prettiest screen the fastest, but those that combine the speed of AI built interfaces with the true discipline of back end engineering. And then democratizing that across the entire organization, technical users and non technical. That's how a hobby project becomes an actual product, or in some cases, how a product becomes an actual company.\u003C\u002Fp>\u003Cp>Okay. So let's break down the back end into three pillars. The first one we'll call governance, how you collaborate safely. The data is there. It's in the database behind every application, that's that's out there.\u003C\u002Fp>\u003Cp>But it's locked behind the doors of IT, as it were, for every report, every change of the data that's needed. If you're non technical, you're probably submitting a support ticket. We need tools that unlock the database for the technical users. Technical users are about 3% of an org, typically. And so we need something like a database administration tool but that's simple, safe, and intuitive enough for anyone to use.\u003C\u002Fp>\u003Cp>It's not about locking things down. It's about opening them up, responsibly. How many one shot AI applications are actually considering RBAC and granular permissions and all that in their system? I would guess not many. So we need to browse, manage, and visualize our data, in an intuitive way.\u003C\u002Fp>\u003Cp>We also need docs, API references, specifications. Those are needed as your team grows, more people join, you need integrations with other services. Those are boilerplate. Let the subject matter experts do their work. We all have seen, you know, a game of telephone and how that can degrade things.\u003C\u002Fp>\u003Cp>You can't pass these requests along. You need people to do that work directly. And so we need interfaces that work for everyone. The second one is scale, or how we take that collaboration and we make it survive the complexity, of the real world. You could also consider that to be production efficiency, resilience.\u003C\u002Fp>\u003Cp>There are a lot of things to consider, consider here. Anyone can build a v one. The problem is when you get to v two, v three, v four, v n, when you go from beta testers out to actual users, in the real world, you bring more people onto your team, internal users. Eventually, you can't just throw hardware at the problem to get by. You actually need to have a proper back end that supports growing your application and whatever it is that you're building.\u003C\u002Fp>\u003Cp>And the third pillar is ownership, or taking all of this and making sure you own what you're building. Again, the value of what you're building is not the front end. That's been commoditized. It's not your cloud infrastructure, your hosting, that's a utility bill, and it's not even really your data that can be scraped, pretty easily these days. So the value is your back end.\u003C\u002Fp>\u003Cp>It's the architecture, the logic and your team, that's, you know, back there moving faster through this collaboration. It's the trust that you create, again, through scale and governance and all of that. It's the value that you unlock from your data with all of this. So you want to pull these systems closer. That's your fence.\u003C\u002Fp>\u003Cp>That's your moat. Self hosting, data sovereignty, open systems. This is where you take control back. So these are the three things that are needed for a proper Backend. But even for the modern organizations that check off all of these boxes, they're still seeing ten, twenty, 30 plus, of these back ends, you know, all over the place.\u003C\u002Fp>\u003Cp>Disparate systems, each with their own API. Maybe it's REST or GraphQL, webhooks. You know, they're all different integrations, different interfaces, different logins. They don't talk to each other. Data is siloed, and so is collaboration.\u003C\u002Fp>\u003Cp>So we're looking at something that has no federation, no unified layer, no consistency and no strategy. And for AI apps, that's even worse. They typically don't even have a backend at all, you know? So here we are. The backend era has begun.\u003C\u002Fp>\u003Cp>So what do we do now? What do we need? We need a unified layer, a single pane of glass that you can put across these disparate systems and bring them together, leaving the data in situ, leaving the data where it is, but federating it and bringing it together. We need to wrap all of that with the granular access control, the rule based permissions, that allow humans and other integrations and agents all alike to have CRUD, to have create, read, update, and delete control, so they're not deleting the data so that you gain more of that trust. You need to bake the tools into this platform that give it the scale and resilience that we were talking about.\u003C\u002Fp>\u003Cp>Not just the API throughput and the data pipelines, but also scaling your team. So again, you need to be able to have everyone working together. And you need to make this a model that is completely yours. So deploying where you need to deploy, whether that's cloud or on prem, you wanna make sure that you are working with an open core, that it's source available. This is the value.\u003C\u002Fp>\u003Cp>So you want to keep all of this really safe. This is actually what we've been building at Directus, and it works. We have 45,000,000 Docker downloads, 35,000 stars on GitHub, You know, over a thousand customers. It started back in 2004, twenty two years ago. My agency in Brooklyn.\u003C\u002Fp>\u003Cp>We were building for Google, Prada, Snapchat, SoulCycled US government, AT and T. And behind every project that we built, there was a database. And we made something for that database that was simple, safe, and intuitive enough for the business user, this collaborative back end. Back then, my team was human, obviously. And we were creating those innovative front ends and now here we are two decades later and it's even more important.\u003C\u002Fp>\u003Cp>Everyone's a builder. Everyone has these interfaces that they're generating. Alright. So I will leave you with this one last bit, for today. Our Directus platform powers production applications for very large brands, around the world.\u003C\u002Fp>\u003Cp>One of these global pizza delivery app, brands is actually handling 9,000 requests per second, sustained. This is not something that you just one shot your way into. You're not going to vibe code your way, in, you know, the hour, the day, the week for these mission critical production scale applications. The front end may be what most people admire this exciting, you know, glamorous thing that we're seeing, very, very recently come out of all these AI app building tools. And it's phenomenal, but the backend is what they trust.\u003C\u002Fp>\u003Cp>So invest accordingly. From me and everyone at Directus, thank you so much and happy building.\u003C\u002Fp>","So let's kick things off. This is Ben, founder and CEO at Directus. And today, I need to talk to you about the end of the UI era. A little sensational, but let's dive in so that I can explain. First off, you might be thinking, don't we have better tools, more people than ever building all these front ends, all these UIs? Yes, absolutely. But when everything is special, nothing is. The front ends have been, commoditized. So let's explore what actually makes software magic, and specifically where the value of software has shifted to and where it's heading next. So since software was created, the interface has been mistaken for the product itself. Users click through, buttons and interfaces and they said, Oh, this is the magic. They saw a dashboard and they said, Oh, that's the application. The Shiny part got the attention for most users. But engineers, you know, for those who are out there, you know better. The visible part of the software is the tip of the iceberg. What lives underneath is the expensive, the fragile part. The part that takes years, decades, to get right. AI has made this a really big deal. Anyone can spin up a decent looking UI, a form, with solid UX, dashboards, components, all of that. They can stitch it together and you can get something that looks just like software. That's amazing. But it's also misleading and maybe even a little dangerous. It creates the illusion that software got easy, but it did not. The front end got easier. The back end maybe even got harder. We have so many builders out there. The back end is the tricky part. And the reason for that is you don't know what you don't know. So while most non engineers can definitely dream up an interface, you are a non technical person. You probably don't know what is needed behind the scenes to actually build this out, make it scalable, make it resilient. So you can Vibe code a UI in a day, but you cannot Vibe code trust. So maybe we just delete the backend. Cursor a little while back actually deleted their headless CMS. As an example. They replaced it in a couple days for a couple $100 worth of tokens. And that really works for a company like theirs. A small team, highly technical, very capable. But that's not going to work for other organizations. You can delete the CMS, but you can't delete the problems that the CMS solves. They come back and when they do, you're either gonna be building from scratch or you're gonna be drowning. So switching gears, let's talk about the back end. You can't one shot your way into production resilience. You can't fake your way into scalable architecture, granular RBAC or access control, reliable APIs, multi tenancy observability, governance rollback strategy, operational maturity. All of this is earned the hard way. Cursor, Lovable, Replit, Bolt and others, they've all made it really easy to create a front end in minutes. And it works. But without a back end, really what you've created is a clickable prototype. The front end and back end distinction gets really blurry because of the excitement around, you know, the generation of this of this front end. And I I love metaphors, so I'll kinda take a a second here. You wouldn't build a house starting with the doorbell, or something like that. You know, the the fresh paint, the beautiful fixtures, the interior design, none of that matters if you've got plumbing, leaking behind the walls, if you've got electricals, you know, sparking fires behind the sheetrock, a foundation that's not even poured and the house is just sinking into the mud. That's just not how things work. Anyone can build these demos, these facades, but far fewer people can build something that actually survives success. You just you can't vibe code trust. So if the front end is becoming free, where does the value go? It goes deeper but not just deeper technically, deeper organizationally. The thing that makes software software wasn't really the pixels. It's not the front end. It's the layer underneath where your whole organization goes, to work together. It's the logic, the APIs, the permissions, the 99.999%, uptime. Your performance under load. You know, does that work? Auditability. Maintainability. The stability that people don't notice until things break. It's not what you see, it's what you feel. You feel when your app goes down. When the data is suddenly corrupted or truncated unexpectedly or deleted. Permissions break. Traffic spikes and things just fall apart. The front end may be what people admire, but the back end again is what people trust. That's what really matters here. So let's first clarify what do we mean by back end. There's the Supabase Lovable partnership and people would refer to Supabase as the backend. It's a database. It's got infrastructure, an API. But really the backend is more than that. The backend is a collaboration layer. It's where technical and non technical users can go to actually access, to browse, manage, and visualize data. It's where data is governed, and used. Not just by engineers, but by anybody in the team. AI accelerates what individuals can do. Our own engineering team uses Cloud Code every day and the velocity gains are very much real. But more complex use cases require humans working together across teams. Engineers with PMs and ops, marketing, legal. AI doesn't solve the collaboration problem. It actually makes it larger. The winners won't be those that can create the prettiest screen the fastest, but those that combine the speed of AI built interfaces with the true discipline of back end engineering. And then democratizing that across the entire organization, technical users and non technical. That's how a hobby project becomes an actual product, or in some cases, how a product becomes an actual company. Okay. So let's break down the back end into three pillars. The first one we'll call governance, how you collaborate safely. The data is there. It's in the database behind every application, that's that's out there. But it's locked behind the doors of IT, as it were, for every report, every change of the data that's needed. If you're non technical, you're probably submitting a support ticket. We need tools that unlock the database for the technical users. Technical users are about 3% of an org, typically. And so we need something like a database administration tool but that's simple, safe, and intuitive enough for anyone to use. It's not about locking things down. It's about opening them up, responsibly. How many one shot AI applications are actually considering RBAC and granular permissions and all that in their system? I would guess not many. So we need to browse, manage, and visualize our data, in an intuitive way. We also need docs, API references, specifications. Those are needed as your team grows, more people join, you need integrations with other services. Those are boilerplate. Let the subject matter experts do their work. We all have seen, you know, a game of telephone and how that can degrade things. You can't pass these requests along. You need people to do that work directly. And so we need interfaces that work for everyone. The second one is scale, or how we take that collaboration and we make it survive the complexity, of the real world. You could also consider that to be production efficiency, resilience. There are a lot of things to consider, consider here. Anyone can build a v one. The problem is when you get to v two, v three, v four, v n, when you go from beta testers out to actual users, in the real world, you bring more people onto your team, internal users. Eventually, you can't just throw hardware at the problem to get by. You actually need to have a proper back end that supports growing your application and whatever it is that you're building. And the third pillar is ownership, or taking all of this and making sure you own what you're building. Again, the value of what you're building is not the front end. That's been commoditized. It's not your cloud infrastructure, your hosting, that's a utility bill, and it's not even really your data that can be scraped, pretty easily these days. So the value is your back end. It's the architecture, the logic and your team, that's, you know, back there moving faster through this collaboration. It's the trust that you create, again, through scale and governance and all of that. It's the value that you unlock from your data with all of this. So you want to pull these systems closer. That's your fence. That's your moat. Self hosting, data sovereignty, open systems. This is where you take control back. So these are the three things that are needed for a proper Backend. But even for the modern organizations that check off all of these boxes, they're still seeing ten, twenty, 30 plus, of these back ends, you know, all over the place. Disparate systems, each with their own API. Maybe it's REST or GraphQL, webhooks. You know, they're all different integrations, different interfaces, different logins. They don't talk to each other. Data is siloed, and so is collaboration. So we're looking at something that has no federation, no unified layer, no consistency and no strategy. And for AI apps, that's even worse. They typically don't even have a backend at all, you know? So here we are. The backend era has begun. So what do we do now? What do we need? We need a unified layer, a single pane of glass that you can put across these disparate systems and bring them together, leaving the data in situ, leaving the data where it is, but federating it and bringing it together. We need to wrap all of that with the granular access control, the rule based permissions, that allow humans and other integrations and agents all alike to have CRUD, to have create, read, update, and delete control, so they're not deleting the data so that you gain more of that trust. You need to bake the tools into this platform that give it the scale and resilience that we were talking about. Not just the API throughput and the data pipelines, but also scaling your team. So again, you need to be able to have everyone working together. And you need to make this a model that is completely yours. So deploying where you need to deploy, whether that's cloud or on prem, you wanna make sure that you are working with an open core, that it's source available. This is the value. So you want to keep all of this really safe. This is actually what we've been building at Directus, and it works. We have 45,000,000 Docker downloads, 35,000 stars on GitHub, You know, over a thousand customers. It started back in 2004, twenty two years ago. My agency in Brooklyn. We were building for Google, Prada, Snapchat, SoulCycled US government, AT and T. And behind every project that we built, there was a database. And we made something for that database that was simple, safe, and intuitive enough for the business user, this collaborative back end. Back then, my team was human, obviously. And we were creating those innovative front ends and now here we are two decades later and it's even more important. Everyone's a builder. Everyone has these interfaces that they're generating. Alright. So I will leave you with this one last bit, for today. Our Directus platform powers production applications for very large brands, around the world. One of these global pizza delivery app, brands is actually handling 9,000 requests per second, sustained. This is not something that you just one shot your way into. You're not going to vibe code your way, in, you know, the hour, the day, the week for these mission critical production scale applications. The front end may be what most people admire this exciting, you know, glamorous thing that we're seeing, very, very recently come out of all these AI app building tools. And it's phenomenal, but the backend is what they trust. So invest accordingly. From me and everyone at Directus, thank you so much and happy building.","d312a30e-6db1-4a83-8dea-ae5c75e3e179",[461],"02c14164-7bd1-470f-aa71-bd2a16d33a86",[],{"id":16,"number":17,"show":4,"year":18,"episodes":464},[20,21,22,23,24,25,26,27],{"id":21,"slug":466,"vimeo_id":467,"description":468,"tile":469,"length":470,"resources":9,"people":9,"episode_number":43,"published":455,"title":471,"video_transcript_html":472,"video_transcript_text":473,"content":9,"seo":9,"status":13,"episode_people":474,"recommendations":478,"season":479},"the-build-off","1176279072","Three builders. Three AI tools. One backend. Who can ship the best frontend in 30 minutes?","4059a3df-317a-4665-9a4a-9f5f2548ca07",47,"The Build-Off","\u003Cp>Speaker 0: What's up, everybody? It is great to see you, to meet you virtually here. My name is Matt. I'm on the marketing team here at Directus. And if you're watching this, you're in for a treat because we have quite the repertoire of guests here today, also from the Directus team, and we're gonna be doing something pretty fun.\u003C\u002Fp>\u003Cp>But first, let me introduce each guest. You know him. You love him. You've seen his face all over the place. It's John Daniels.\u003C\u002Fp>\u003Cp>Speaker 1: John Daniels.\u003C\u002Fp>\u003Cp>Speaker 2: What's up? Glad that you\u003C\u002Fp>\u003Cp>Speaker 0: started with me.\u003C\u002Fp>\u003Cp>Speaker 2: I was worried you were gonna say Brian. So hello.\u003C\u002Fp>\u003Cp>Speaker 1: Your face is all over the place right here.\u003C\u002Fp>\u003Cp>Speaker 0: I don't think anybody really knows who Bryant is. So, no. No. No. No.\u003C\u002Fp>\u003Cp>Of course, we have the man himself, mister Bry. Bryant Gillespie, who's one of our esteemed developer advocate type folks, I guess, on the team. You know? He kinda does everything.\u003C\u002Fp>\u003Cp>Speaker 1: Type folks? Yes. Happy to be here. Very excited for this. Look.\u003C\u002Fp>\u003Cp>I'm just gonna start this off with saying whatever we're doing in this competition, I'm gonna mop the floor with you guys. That's it.\u003C\u002Fp>\u003Cp>Speaker 0: Strong start. I was gonna do this not in the spirit of competition, but in Oh. In in friendliness, but I guess that's what we're gonna do now. Alright. And if anybody doesn't know, John is one of our AEs here at Directus, so the most competitive of of everyone here.\u003C\u002Fp>\u003Cp>So I'm sure pretty sure that'll awaken a fire in a moment. So, yeah. Brian, what are we doing today? I\u003C\u002Fp>\u003Cp>Speaker 1: this is your show, my friend. You tell me what we're doing. Clearly, it's something to do with an AI skills directory because that is what's on the screen.\u003C\u002Fp>\u003Cp>Speaker 0: That is what's on the screen. Alright. I'll give you the brief rundown. So today, we are gonna have a build off. Everybody's been talking about front ends and UIs, and the errors are shifting.\u003C\u002Fp>\u003Cp>And there's so many tools out there. I'm a user of Cloud Code for a lot of the marketing stuff that we do here at Directus, including building the Leap Week landing page. Our team uses codex. Our team uses a lot of the out of the box, like, harnesses, like cursor. And we also use things like Lovable.\u003C\u002Fp>\u003Cp>So it's a good mix of things, but that's a lot of subscriptions add up. So we thought, why not put the skills to the test and see which we can use best for building the front end on a Directus back end, which would be a skills directory. And one of the reasons we wanna do a skills directory is because there's a lot of shady skills directories out there and there's a lot of mistrust in a lot of them. So our developer team has a lot of, skills that they share, that we thought would be cool to build something along with that, as well as our go to market team uses a lot of things too. So, yeah, that's really the gist.\u003C\u002Fp>\u003Cp>Did I\u003C\u002Fp>\u003Cp>Speaker 1: What are the what are the stipulations for this, man? We're building a skills directory front end. We're gonna need a back end for that, which we'll do, but what are the rules?\u003C\u002Fp>\u003Cp>Speaker 0: There are no rules. There's only one rule. And that is\u003C\u002Fp>\u003Cp>Speaker 1: that's details?\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. There's gonna be one rule where we have to create the back end and direct us. And then whatever tool we're gonna use, we are going to use the same back end for that front end. So running down the list of tools that we will use, I will be using Lovable. It's something I've used in the past.\u003C\u002Fp>\u003Cp>I've I've not actually used it in quite a bit, because I've been using, Cloud Code. But, Brian, what are you gonna be using?\u003C\u002Fp>\u003Cp>Speaker 1: I'm gonna be using Cloud Code.\u003C\u002Fp>\u003Cp>Speaker 0: Alright. John, what you got?\u003C\u002Fp>\u003Cp>Speaker 2: I use my old dependable cursor.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Is cursor what you built? The, garage inventory?\u003C\u002Fp>\u003Cp>Speaker 2: It is. Yeah. Yeah. And I already have a I already have an idea.\u003C\u002Fp>\u003Cp>Speaker 0: Oh, boy. Oh, no.\u003C\u002Fp>\u003Cp>Speaker 2: Retro. It's a lot yeah.\u003C\u002Fp>\u003Cp>Speaker 1: Front end directory.\u003C\u002Fp>\u003Cp>Speaker 2: It's a long\u003C\u002Fp>\u003Cp>Speaker 1: Here we go.\u003C\u002Fp>\u003Cp>Speaker 0: I'm doing that maybe more than, like, moving forward in my chair.\u003C\u002Fp>\u003Cp>Speaker 1: Cool.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Well So Right. To kick things off, I'm assuming we'll kick we've started.\u003C\u002Fp>\u003Cp>Speaker 1: We we got a totally blank data model here. We'll just call it skills directory. Right? John is just banging on the keyboard, man. Alright.\u003C\u002Fp>\u003Cp>Totally empty. It's like you know, we'll we'll do this 100 app style. Like, what what what do we even need on a skills directory? Right? You're gonna need some skills, but what what is the what are the other stuff that you're planning on tracking here?\u003C\u002Fp>\u003Cp>What do you need for the back end?\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. That's a good question. When you say skills, what does that encompass? Is that like the title and the description and the actual I mean, skills are basically just a fancy word for markdown files. Right?\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. I mean, that's, yeah, that's the the funny thing about all of this stuff to me is it's all just markdown. Like, been been dealing with markdown since I was 12. A week ago. Yeah.\u003C\u002Fp>\u003Cp>So we got a name, a description for the skill. You've got the, what, the actual skill content. I don't I don't\u003C\u002Fp>\u003Cp>Speaker 0: know.\u003C\u002Fp>\u003Cp>Speaker 1: Are you I'm assuming you're gonna have, like, users who submit the skills?\u003C\u002Fp>\u003Cp>Speaker 0: Mhmm. We'll have I think, at some point, if we wanna\u003C\u002Fp>\u003Cp>Speaker 1: Submit a bug.\u003C\u002Fp>\u003Cp>Speaker 0: Public facing, but for our internal team makes sense. You probably want, some sort of, like, tagging system. So if it's engineering skill or if it's\u003C\u002Fp>\u003Cp>Speaker 1: So the tag name. Okay. What else you got?\u003C\u002Fp>\u003Cp>Speaker 0: Option for an image, if you wanna add that to the front end potentially.\u003C\u002Fp>\u003Cp>Speaker 1: Image? Okay. You're getting away from the markdown stuff now. I'm gonna just draw the arrows for fun here\u003C\u002Fp>\u003Cp>Speaker 0: at this point. Here we go.\u003C\u002Fp>\u003Cp>Speaker 1: Boom. Alright. So you got skills. You got tags. What else do you need?\u003C\u002Fp>\u003Cp>Speaker 0: I mean,\u003C\u002Fp>\u003Cp>Speaker 1: I Repository. GitHub repository. Is that where they're coming from?\u003C\u002Fp>\u003Cp>Speaker 0: Could you just host it within Directus itself, like, as a file?\u003C\u002Fp>\u003Cp>Speaker 1: I mean, we can. Yeah. Like, do you want it linked to somewhere?\u003C\u002Fp>\u003Cp>Speaker 2: I think\u003C\u002Fp>\u003Cp>Speaker 0: I wanna keep it, like, self like, contained within the one\u003C\u002Fp>\u003Cp>Speaker 1: thing. Okay. Alright. Cool. Is this anything else?\u003C\u002Fp>\u003Cp>Or is it we're just gonna roll with this.\u003C\u002Fp>\u003Cp>Speaker 0: Just keep it simple. Unless you got anything to do. Wait.\u003C\u002Fp>\u003Cp>Speaker 2: No. Keep it simple, stupid.\u003C\u002Fp>\u003Cp>Speaker 1: Which one is stupid, man?\u003C\u002Fp>\u003Cp>Speaker 2: You probably said it.\u003C\u002Fp>\u003Cp>Speaker 0: Alright.\u003C\u002Fp>\u003Cp>Speaker 1: I've got this. So, hopefully, I've got some secret sauce here. Been working on a CLI tool. So I'm gonna tell Claude code here. Can you guys see this?\u003C\u002Fp>\u003Cp>Should I zoom way in? Alright. Run d six s agents. It's our CLI for connecting to direct us.\u003C\u002Fp>\u003Cp>Speaker 0: D six s. It's the first time seeing the CLI in action right here.\u003C\u002Fp>\u003Cp>Speaker 1: Very nerdy. You know, the Kubernetes deal. What is this thing doing? Why is it not running this command? It's reading four files, which d success.\u003C\u002Fp>\u003Cp>Just run the command, dude. What are you doing?\u003C\u002Fp>\u003Cp>Speaker 2: Chose the wrong tool. Maybe cursor's been\u003C\u002Fp>\u003Cp>Speaker 1: Maybe you chose the wrong tool. Yeah. There it is. Okay. So, basically, that command gives it a little context about this.\u003C\u002Fp>\u003Cp>Cool. And now this thing should be primed to go. Agents. Right. Cool.\u003C\u002Fp>\u003Cp>Alright. So now we're gonna kick it over into plan mode. I'm gonna paste that image that I had. Right? And we're just gonna say, hey.\u003C\u002Fp>\u003Cp>We're building an AI skills directory. Here's a screenshot of a data model I'm competing with John and Matt. We need the back end in Directus first before we build the front end. Can you plan out the Directus back end?\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Alright.\u003C\u002Fp>\u003Cp>Speaker 1: I've been using Let's see what happens here. Okay. Right here. Alright. It is going to alright.\u003C\u002Fp>\u003Cp>This is where I tell you to do as I say, not as I do, because I'm just gonna turn this thing loose. Right? I should have actually set dangerously set permissions here. But\u003C\u002Fp>\u003Cp>Speaker 2: I don't even have it ask for permission anymore. I just let it go.\u003C\u002Fp>\u003Cp>Speaker 1: Go, baby. Go.\u003C\u002Fp>\u003Cp>Speaker 0: I have to leave this a lot. That's probably why.\u003C\u002Fp>\u003Cp>Speaker 1: If you can't leave that out, security infraction.\u003C\u002Fp>\u003Cp>Speaker 2: Security. Spent hundreds of dollars in tokens last month.\u003C\u002Fp>\u003Cp>Speaker 1: Alright. It's going to write this plan. Are you so are are you not using cloud code at all? You're still using cursor every day?\u003C\u002Fp>\u003Cp>Speaker 2: I use both. Depends on what I'm doing.\u003C\u002Fp>\u003Cp>Speaker 0: So what so what you're you're basically just doing what the MCP used to do just from the terminal\u003C\u002Fp>\u003Cp>Speaker 1: So is the why the CLI? Right? Well, the reason why is because context. The context window. So MCP uses up a lot of context, for comparison.\u003C\u002Fp>\u003Cp>Right? Like, if you have all the tools enabled, MCP or our AI assistant right now could use up to thirty, forty thousand tokens to have all the tools enabled. The CLI, by default, doesn't load anything into the context, and the agent is or like CloudCo, these agent harnesses are pretty good at navigating, like, CLIs just because they're they're trained on a lot of bash scripts and stuff like that. So, you know, it basically you keep the context window clean until you need it, and, yeah, you follow this progressive discovery pattern. I'm yeah.\u003C\u002Fp>\u003Cp>I've been talking. I'm not even looking at this plan. Hopefully, this thing actually does what we wanted to do. We shall see. Right?\u003C\u002Fp>\u003Cp>Actually, use recipes. D success recipes. This is should be a shorthand. Again, this is all highly experimental, so failed to log the plug in, so it's not gonna use that at all. Plug ins.\u003C\u002Fp>\u003Cp>Index. Oh, good. Alright. Well, just push forward. We may be kicking back to the MCP for this.\u003C\u002Fp>\u003Cp>Speaker 0: Hey.\u003C\u002Fp>\u003Cp>Speaker 2: Alright. Is what I when I type in the when it when MCP goes wrong for me, I say, just do it, and it'll it'll figure it out.\u003C\u002Fp>\u003Cp>Speaker 1: Just do it. Figure it out funny, man.\u003C\u002Fp>\u003Cp>Speaker 0: Turn off permissions and just go.\u003C\u002Fp>\u003Cp>Speaker 1: What is this thing doing? Your token doesn't have admin access. I do have admin access.\u003C\u002Fp>\u003Cp>Speaker 0: No. You're wrong. You said, highly experimental. Correct?\u003C\u002Fp>\u003Cp>Speaker 1: I mean, it it was working well. Works on my machine until you start recording. Right? Right. So we'll just go back to the old tried and true here.\u003C\u002Fp>\u003Cp>Both collections exist, but I have no schema. Oh my gosh. This thing is hopelessly lost.\u003C\u002Fp>\u003Cp>Speaker 2: Lost. Hey. There's two collections in there now.\u003C\u002Fp>\u003Cp>Speaker 1: Yep. They're actually just folder collections because they don't exist. Alright. Skills. When I say tried and true, I mean me.\u003C\u002Fp>\u003Cp>Alright. What do we have there? We have name, description, content. Name.\u003C\u002Fp>\u003Cp>Speaker 0: I've never seen anyone move this fast inside of the.\u003C\u002Fp>\u003Cp>Speaker 1: Content. Just markdown. It's just markdown. There you go. Alright.\u003C\u002Fp>\u003Cp>You got tags. Yeah?\u003C\u002Fp>\u003Cp>Speaker 0: Mhmm.\u003C\u002Fp>\u003Cp>Speaker 1: Cool. Tags. I have a name for the tags. Tag name. Cool.\u003C\u002Fp>\u003Cp>And then we need a skill tags. We need a junction table. Cool. I'm taking the long way around here. Skills.\u003C\u002Fp>\u003Cp>Now I'm gonna go to the mini mini relationship inside directions. It's been a minute since I've done this, man. Don't you miss it? Always I do miss it. Yeah.\u003C\u002Fp>\u003Cp>It took me an hour to do half of this stuff that I could now do in, like, five minutes using the AI tools when they work, mind you. Skills ID, tags ID. Let's just call it skill. Let's call it tag. Skills.\u003C\u002Fp>\u003Cp>Cool. Give it a sort field. Boom. Boom. Boom.\u003C\u002Fp>\u003Cp>Speaker 0: Boom. You know, it's worth that messing up to watch you do this. It's like watching Boom.\u003C\u002Fp>\u003Cp>Speaker 1: That's it. There's the back end. You're good. Golden. Very simple.\u003C\u002Fp>\u003Cp>Very easy. Now what?\u003C\u002Fp>\u003Cp>Speaker 2: Now we need some data.\u003C\u002Fp>\u003Cp>Speaker 1: Mhmm. Maybe it can do that. Look, I I set it all up. Nice. Thanks for nothing.\u003C\u002Fp>\u003Cp>Now I need you to create some sample data for us, though. I mean, I'm a make sure you rub it in the face of the thing. Right? Talk to me well, I this might take a minute, but,\u003C\u002Fp>\u003Cp>Speaker 2: like, what are you guys Like, when you\u003C\u002Fp>\u003Cp>Speaker 1: are are we supposed to talk about what we're gonna build? Like, how the front end is gonna look, or is this gonna be, like, a secret thing?\u003C\u002Fp>\u003Cp>Speaker 0: We'll talk about, you know, how things are going. I'm still I'm between a couple ideas on what I want this front end to look like. I I want it to not look like a generic directory because there's, like, directories of directories out there. I already\u003C\u002Fp>\u003Cp>Speaker 2: have an idea, so don't even don't even worry about Wait.\u003C\u002Fp>\u003Cp>Speaker 0: Alright. Was it one that we talked about earlier, or is this one this is completely new?\u003C\u002Fp>\u003Cp>Speaker 2: I got a new idea.\u003C\u002Fp>\u003Cp>Speaker 0: Interesting. Okay. I think I'll have an idea.\u003C\u002Fp>\u003Cp>Speaker 1: You think you'll have an idea? Alright. Well, it's got there's eight tags. There's six skills. Let's add 10 more skills.\u003C\u002Fp>\u003Cp>Create a few sample users as well, give them a different role. Just the ability to view skills and update the ones they've uploaded. Alright. So now we're gonna move to the the front end stuff. Yeah?\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. I think so. So we're all operating off of the same direct us back end, and you just created a few users. I'm assuming that's to give us access to that data.\u003C\u002Fp>\u003Cp>Speaker 1: Yep. So you guys have your own users in there. Looks like it's created\u003C\u002Fp>\u003Cp>Speaker 2: Only one guy cares about a photo.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. Oh my gosh. Alright, dude. Fine. Fine.\u003C\u002Fp>\u003Cp>Fine. Fine.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Boom. I'll update my You\u003C\u002Fp>\u003Cp>Speaker 1: look you look rather young in that one,\u003C\u002Fp>\u003Cp>Speaker 2: John. Thanks.\u003C\u002Fp>\u003Cp>Speaker 1: Alright. So what do I dig at all.\u003C\u002Fp>\u003Cp>Speaker 0: Thank you. Alright. So each of us is gonna have our own role, and you will provide that role\u003C\u002Fp>\u003Cp>Speaker 1: to us.\u003C\u002Fp>\u003Cp>Speaker 2: If you refresh real quick. Sorry. Refresh bright. There.\u003C\u002Fp>\u003Cp>Speaker 0: Of course.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. We're reading we're watching this. You're certainly not watching this on Saint Patrick's Day. We're recording it on Saint Patrick's Day, though.\u003C\u002Fp>\u003Cp>Speaker 2: Yeah. Yeah. Yeah. Well done.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. That one.\u003C\u002Fp>\u003Cp>Speaker 2: Sorry. Continue, Matt.\u003C\u002Fp>\u003Cp>Speaker 0: How do you have access to this already? I\u003C\u002Fp>\u003Cp>Speaker 1: I already gave him access. I put it in the chat. I sent you guys up already. Your direct us email and your password. What's the password?\u003C\u002Fp>\u003Cp>The password is Password. Now, hopefully, one of us will remember to have removed that by the time this recording goes live.\u003C\u002Fp>\u003Cp>Speaker 2: I'll tell him how to change\u003C\u002Fp>\u003Cp>Speaker 0: it. In the chat. Must be what is this\u003C\u002Fp>\u003Cp>Speaker 1: thing doing. Okay. I was creating, like, 35. Why can't I not just accept all here? Good lord.\u003C\u002Fp>\u003Cp>Speaker 0: Shoot me the shoot me the URL in the chat. I don't see it in there.\u003C\u002Fp>\u003Cp>Speaker 1: It's a imigos.directus.app.\u003C\u002Fp>\u003Cp>Speaker 0: Got it now. Alright. Alright. I'm in.\u003C\u002Fp>\u003Cp>Speaker 1: Alright. Alright. Alright. Alright. Invalid input.\u003C\u002Fp>\u003Cp>Sarah Chen. Why does it keep trying to I don't know. It really likes the name Sarah for whatever reason.\u003C\u002Fp>\u003Cp>Speaker 0: Hey. I got a crush.\u003C\u002Fp>\u003Cp>Speaker 1: Marcus, Priya, Sarah. Those are the folks who are uploading the other skills. Alright. So we're good then. Yeah.\u003C\u002Fp>\u003Cp>There's gonna be some skills that populate in there, and then everybody is jamming on the back end. How long are we do we have on the back or on the front end? Right?\u003C\u002Fp>\u003Cp>Speaker 0: I set a timer. We have, like, two minutes now, but, if we wanna take ten minutes, you know, and\u003C\u002Fp>\u003Cp>Speaker 1: do what we Ten minutes to do a whole back end or a front end?\u003C\u002Fp>\u003Cp>Speaker 0: Yeah, man. I mean, it's the UI error is changing, so they say.\u003C\u002Fp>\u003Cp>Speaker 1: I at least, like, 15. Yeah?\u003C\u002Fp>\u003Cp>Speaker 0: 20 to 30.\u003C\u002Fp>\u003Cp>Speaker 1: We could do, like, a supercut.\u003C\u002Fp>\u003Cp>Speaker 0: We'll extend this session a little bit. We've got some time.\u003C\u002Fp>\u003Cp>Speaker 1: Do a supercut. Yeah. Alright. Twenty minutes then. That's it.\u003C\u002Fp>\u003Cp>Twenty minutes. No more. No less.\u003C\u002Fp>\u003Cp>Speaker 0: I think You\u003C\u002Fp>\u003Cp>Speaker 1: guys better not be starting with the back end already or front end already.\u003C\u002Fp>\u003Cp>Speaker 0: Sure John's already done. I've been Yeah.\u003C\u002Fp>\u003Cp>Speaker 1: He's already done. Hearing him. Alright.\u003C\u002Fp>\u003Cp>Speaker 2: I'm just right now, I'm just setting up the m I'm setting up my MCP and cursor.\u003C\u002Fp>\u003Cp>Speaker 1: Alright. Well, you guys just tell me when you're ready to go.\u003C\u002Fp>\u003Cp>Speaker 0: I'm I'm pretty confident\u003C\u002Fp>\u003Cp>Speaker 1: in my skills.\u003C\u002Fp>\u003Cp>Speaker 0: Let's say we're using, like, you know, lovable or something. I've got my user here. I create It's got admin policy, create a new token, save said token, and should be good to pull data from that directly.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. And just lovable have FCP?\u003C\u002Fp>\u003Cp>Speaker 0: I don't know. It's a good question.\u003C\u002Fp>\u003Cp>Speaker 1: Personal connectors. There you go, dude.\u003C\u002Fp>\u003Cp>Speaker 0: I see it. I sees it.\u003C\u002Fp>\u003Cp>Speaker 1: Here's the directisio docs. I'm gonna just point you in the right direction there. Connect AI, AI, MCP server. This is the page that you need from the documentation. I'm gonna paste that in the chat.\u003C\u002Fp>\u003Cp>Good luck to you, sir. You guys just all the skill the back end is done. The back end is locked. Don't even think about changing the back end.\u003C\u002Fp>\u003Cp>Speaker 2: Alright.\u003C\u002Fp>\u003Cp>Speaker 1: When you guys say go, I'm gonna hit go. Hit go. There it is. Alright. Twenty minutes, boys.\u003C\u002Fp>\u003Cp>Speaker 0: I'm I've gotta upgrade my lovable account because, apparently, Lovable doesn't allow custom MCPs unless it's It\u003C\u002Fp>\u003Cp>Speaker 2: sounds like an excuse, bro.\u003C\u002Fp>\u003Cp>Speaker 1: Already an excuse.\u003C\u002Fp>\u003Cp>Speaker 0: Alright. One pro. I'm gonna spend this whole time setting up my custom MCP.\u003C\u002Fp>\u003Cp>Speaker 1: Oh, no. Why can't I see the text here? Oh, that's not good. I'm going react on this one. Why can't I see this, though?\u003C\u002Fp>\u003Cp>I just got this new Mac, man. Still, if you guys beat me, that will be b y since we're just throwing excuses out there.\u003C\u002Fp>\u003Cp>Speaker 0: I am still signing a still I'm still going there by a sign up for a year.\u003C\u002Fp>\u003Cp>Speaker 1: I can't even get the I can't get the tan stack start script here from the their website.\u003C\u002Fp>\u003Cp>Speaker 2: Start.\u003C\u002Fp>\u003Cp>Speaker 0: Connection failed. Gotta love it. Alright. Well, mobile mobile is not really communicating with me right now. I'm having trouble.\u003C\u002Fp>\u003Cp>I hope you guys are having fun. I'm having a blast.\u003C\u002Fp>\u003Cp>Speaker 2: Matt, is your keyboard connected yet?\u003C\u002Fp>\u003Cp>Speaker 0: Yes, John.\u003C\u002Fp>\u003Cp>Speaker 2: Alright. Let's see. I got my build plan ready. Let's see if this looks good.\u003C\u002Fp>\u003Cp>Speaker 0: No. I don't think Lovable's gonna be the the move. Not great, Lovable. Not great.\u003C\u002Fp>\u003Cp>Speaker 2: Alright, guys. I've clicked build. We're gonna we're gonna get v one running. What if we finish in ten minutes? Does that give us bonus points?\u003C\u002Fp>\u003Cp>Speaker 0: I should be done setting up my MCB by then. So\u003C\u002Fp>\u003Cp>Speaker 2: Matt, why don't you have a rabbit in your background? Brian and I both have a rabbit in the background.\u003C\u002Fp>\u003Cp>Speaker 1: I have several.\u003C\u002Fp>\u003Cp>Speaker 0: Because I like to have my rabbits in my point of view. So not in the background. Alright. Well, local's not gonna work with me on the MCP, so I'm gonna have to roll.\u003C\u002Fp>\u003Cp>Speaker 1: You just just gonna have to roll. Can I just copy, Jace? You could just tell it to use the SDK. I think you\u003C\u002Fp>\u003Cp>Speaker 2: can copy.\u003C\u002Fp>\u003Cp>Speaker 1: I think\u003C\u002Fp>\u003Cp>Speaker 2: you can also just give it your API token and just give it access. I think I've done that before. You'd be like, hey. I'm an API token. Didn't know we'd get excuses so quick out the gate, though.\u003C\u002Fp>\u003Cp>Speaker 0: You know, usually, I'm using, like, whisper for this. Go for it. Okay. Then we\u003C\u002Fp>\u003Cp>Speaker 1: know what you're gonna build. Right?\u003C\u002Fp>\u003Cp>Speaker 2: Just meet your just meet yourself while you mouth it and then unmute.\u003C\u002Fp>\u003Cp>Speaker 1: I need a front end that looks great. Make no mistakes.\u003C\u002Fp>\u003Cp>Speaker 2: Make it look beautiful.\u003C\u002Fp>\u003Cp>Speaker 1: I I hope John's idea is something that looked like a pot of gold and a leprechaun.\u003C\u002Fp>\u003Cp>Speaker 2: No. But that would have been good. Dang. I think mine'll be good, though.\u003C\u002Fp>\u003Cp>Speaker 0: I I have no idea what this output of this prompt is gonna mean. I'm actually kind of terrified. I\u003C\u002Fp>\u003Cp>Speaker 1: know. I'm just reading my typing, and it's freaking terrible.\u003C\u002Fp>\u003Cp>Speaker 0: That's why he's was\u003C\u002Fp>\u003Cp>Speaker 2: The good news is AI doesn't care about typos.\u003C\u002Fp>\u003Cp>Speaker 0: What were the tags we put in here, by the way?\u003C\u002Fp>\u003Cp>Speaker 1: Research writing, design, automation, productivity, coding, marketing, and data analysis.\u003C\u002Fp>\u003Cp>Speaker 2: We should upload these to to, like, Vercel or Netlify or something afterwards so people can play with them, the front ends.\u003C\u002Fp>\u003Cp>Speaker 1: That should be that should be solid.\u003C\u002Fp>\u003Cp>Speaker 2: Here's the file being created right now. It's called bang effect dot JSX.\u003C\u002Fp>\u003Cp>Speaker 1: Bang effect. You may win this, man. I think you guys had more time to think about the ideas here.\u003C\u002Fp>\u003Cp>Speaker 2: Don't\u003C\u002Fp>\u003Cp>Speaker 0: yeah. I\u003C\u002Fp>\u003Cp>Speaker 1: don't have a solid idea.\u003C\u002Fp>\u003Cp>Speaker 0: Lost trying to set up the MCP server in Lovable.\u003C\u002Fp>\u003Cp>Speaker 1: Oh, that's a risky run. You've got what what did we got on the clock? Thirteen twenty one.\u003C\u002Fp>\u003Cp>Speaker 0: Plenty of time.\u003C\u002Fp>\u003Cp>Speaker 1: Just just come on, Claude. Don't film me now. I like you, dawg. We got this. We got this.\u003C\u002Fp>\u003Cp>Speaker 2: Oh, first preview. It looks good.\u003C\u002Fp>\u003Cp>Speaker 0: Did you one shot it? Oh,\u003C\u002Fp>\u003Cp>Speaker 2: damn. This is okay. You guys are gonna lose.\u003C\u002Fp>\u003Cp>Speaker 1: He's blowing smoke. I know.\u003C\u002Fp>\u003Cp>Speaker 0: He's he doesn't have anything. It's just a blank screen.\u003C\u002Fp>\u003Cp>Speaker 2: I wish you guys could see this. No.\u003C\u002Fp>\u003Cp>Speaker 0: I'm trusting lovable with my lunch.\u003C\u002Fp>\u003Cp>Speaker 2: The sound effects are amazing.\u003C\u002Fp>\u003Cp>Speaker 1: You have sound effects?\u003C\u002Fp>\u003Cp>Speaker 2: The only problem is I can tell the words are backwards. I'm like, why are these words backwards?\u003C\u002Fp>\u003Cp>Speaker 0: What, wait. Tags. One, two, three.\u003C\u002Fp>\u003Cp>Speaker 2: I like how there's, like, duplicate tags.\u003C\u002Fp>\u003Cp>Speaker 0: Lovable has gotten a lot better on the user interface since all of us use it. Like, it quite looks nice, except for the whole connecting and MCP thing.\u003C\u002Fp>\u003Cp>Speaker 2: I wish you guys could hear these sound effects.\u003C\u002Fp>\u003Cp>Speaker 1: I think I can hear a few.\u003C\u002Fp>\u003Cp>Speaker 0: Did you do freaking lasers?\u003C\u002Fp>\u003Cp>Speaker 2: Oh, it's looking so much better now. Oh my gosh. This looks so good.\u003C\u002Fp>\u003Cp>Speaker 0: It's a risk. It's poker face.\u003C\u002Fp>\u003Cp>Speaker 2: No. You know it's a good a good project when you are playing the game that you've built.\u003C\u002Fp>\u003Cp>Speaker 1: I'm still waiting for dependencies to resign. Alright. You know me, Ben. If you enjoy watching people slide by on the skin of their teeth, please tune in to Directus TV for where yours truly embarrasses himself twenty four seven by trying to build apps. Oh god.\u003C\u002Fp>\u003Cp>This is going horribly wrong. I should not have should not have done React that is using way outdated stuff. We're just I I don't know. Tam, if you watch this, man, I don't know what happened to the website today when I was recording this, but\u003C\u002Fp>\u003Cp>Speaker 0: I think this is gonna be\u003C\u002Fp>\u003Cp>Speaker 1: Oh, there it is. Finally. It's okay.\u003C\u002Fp>\u003Cp>Speaker 0: You got something?\u003C\u002Fp>\u003Cp>Speaker 1: Must have been I the site must have been broken, man. I don't I don't know.\u003C\u002Fp>\u003Cp>Speaker 2: Okay. Now now it's playing its playing its game on its own. This is where where it's fun to watch Cursor play its own game.\u003C\u002Fp>\u003Cp>Speaker 0: You got your AI playing an AI? K. What are you doing over there?\u003C\u002Fp>\u003Cp>Speaker 2: Who? Me? Just kicking ass?\u003C\u002Fp>\u003Cp>Speaker 0: I'm gonna have to rely on a one shot here.\u003C\u002Fp>\u003Cp>Speaker 2: I think I might have this with a one shot. We'll see. It's still it's finishing up the build.\u003C\u002Fp>\u003Cp>Speaker 0: This is building out the comp I'm building the character select and move list UI right now, so we're gonna have to wait a a second. Did you create an RPG, John?\u003C\u002Fp>\u003Cp>Speaker 2: No. I created a a video game. Do you wanna know what its theme theme is?\u003C\u002Fp>\u003Cp>Speaker 0: I wanna wait and see.\u003C\u002Fp>\u003Cp>Speaker 2: Okay.\u003C\u002Fp>\u003Cp>Speaker 1: Leprechauns?\u003C\u002Fp>\u003Cp>Speaker 2: No.\u003C\u002Fp>\u003Cp>Speaker 0: Pecauns. I think I you know, if I had more time, it would be cool to do, like, an RPG style directory where you have to, like, level up to get the better prompts. I wonder if anybody would spend time or not. Probably not.\u003C\u002Fp>\u003Cp>Speaker 1: I've been looking at this thing, and I'm just like, I don't even know.\u003C\u002Fp>\u003Cp>Speaker 0: Do you have anything? Do you have a UI at all, Brian?\u003C\u002Fp>\u003Cp>Speaker 1: I I have nothing on the screen.\u003C\u002Fp>\u003Cp>Speaker 0: That's not good. How much time do we have left?\u003C\u002Fp>\u003Cp>Speaker 1: Six minutes. Oh, man.\u003C\u002Fp>\u003Cp>Speaker 2: Guys, this you might as well just stop. I'm telling you, you're gonna lose. I know Matt basically has nothing. He's gonna show a white screen. It's gonna be like index.html.\u003C\u002Fp>\u003Cp>Speaker 0: We're gonna wait and ask I\u003C\u002Fp>\u003Cp>Speaker 1: have a header.\u003C\u002Fp>\u003Cp>Speaker 0: You have a header?\u003C\u002Fp>\u003Cp>Speaker 1: I have a header.\u003C\u002Fp>\u003Cp>Speaker 2: Match this line to us.\u003C\u002Fp>\u003Cp>Speaker 0: Have have I been in the roost this whole time? Who knows?\u003C\u002Fp>\u003Cp>Speaker 1: I feel like I do miss the old days where I just good old fashioned handwriting code. I probably yeah. On a 100 apps, hundred hours, like, the days of all, I woulda had something already that looked nice. I'm not super happy with what I've got here.\u003C\u002Fp>\u003Cp>Speaker 0: I do only have a white screen.\u003C\u002Fp>\u003Cp>Speaker 2: K. I put in one more prompt. I I'm three shotting it, and I think three shots might be it.\u003C\u002Fp>\u003Cp>Speaker 0: I think my idea was here, but the execution is lacking.\u003C\u002Fp>\u003Cp>Speaker 2: Oh, it even gave it a little tab icon. Nice.\u003C\u002Fp>\u003Cp>Speaker 0: Alright. I think we got something.\u003C\u002Fp>\u003Cp>Speaker 2: Matt, are you past the home page yet? Did you get logged in yet?\u003C\u002Fp>\u003Cp>Speaker 0: Been spending all this time on the initial\u003C\u002Fp>\u003Cp>Speaker 2: You spent fifteen minutes of the twenty minutes just upgrading to pro. I did.\u003C\u002Fp>\u003Cp>Speaker 0: I might have credit card information floating out there, so remind me to cancel my cards. Alright. We got something working. Yeah. Without the MCP, I'm I'm not really able to pull the.\u003C\u002Fp>\u003Cp>Speaker 2: Here's what here's what my cursor just said so you know what it's doing. The buttons are noticeably bigger now. Let me shoot a couple skills first, then test the collected view and detail pop up. That's a little hit into what I've built.\u003C\u002Fp>\u003Cp>Speaker 0: Are we talking legend of Zelda or something? What? Dangerous to go\u003C\u002Fp>\u003Cp>Speaker 1: alone. Sweet mother.\u003C\u002Fp>\u003Cp>Speaker 0: He's still in there, or is that going too?\u003C\u002Fp>\u003Cp>Speaker 1: I still got it. Started off on the wrong foot, man. Should not have, should not have tried to go React. Should just you gotta stick with what you know, man.\u003C\u002Fp>\u003Cp>Speaker 0: Talk with what you know. Why did you go with React? You were trying to get fancy?\u003C\u002Fp>\u003Cp>Speaker 1: I I've been using, I I got a project, a personal project where I've used, TanStack start lately. I'm trying to learn a little more about React so that I'm not one dimensional. Mhmm. Did not pay off today. Did not pay off today.\u003C\u002Fp>\u003Cp>Mhmm. Thirty seconds. Yeah.\u003C\u002Fp>\u003Cp>Speaker 0: This is I've just spent all the time troubleshooting. Lovable doesn't seem to really work well with custom MCPs, so if anybody's curious.\u003C\u002Fp>\u003Cp>Speaker 1: Fifteen, fourteen, 13. Who are you who's who gets to go first?\u003C\u002Fp>\u003Cp>Speaker 0: Well, I\u003C\u002Fp>\u003Cp>Speaker 1: mean, clearly, it sounds like John.\u003C\u002Fp>\u003Cp>Speaker 0: Like, John's face means that\u003C\u002Fp>\u003Cp>Speaker 1: he may have something really good. He might have. Yeah. Time's up.\u003C\u002Fp>\u003Cp>Speaker 2: Yeah. Time's up. It's just finishing it's just finishing its build, but I've just been I only needed three prompts to get it to some pretty amazing.\u003C\u002Fp>\u003Cp>Speaker 0: Okay. I mean, I've got something. It's not,\u003C\u002Fp>\u003Cp>Speaker 2: Sounds like you have nothing.\u003C\u002Fp>\u003Cp>Speaker 1: It's basically You go then. Me?\u003C\u002Fp>\u003Cp>Speaker 0: Let me it's still finishing this moment. The junction table I faced. Alright. I just refreshed. We'll see.\u003C\u002Fp>\u003Cp>Speaker 1: I I think that is I'll go then. I'll go.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Let's see what you got, Bryant. I'm excited to see this\u003C\u002Fp>\u003Cp>Speaker 1: header. Screen. I didn't have time to work on the design. We have a skills directory. I was going for, like, the brutalist theme.\u003C\u002Fp>\u003Cp>It didn't really get. I I had literally no time to worry on the design. So the the tags do work, which is nice. We can search. So we search for SEO.\u003C\u002Fp>\u003Cp>That works. We can load up the skill. We see it being loaded here. You know, you got the nice little subtle detail, the little arrows instead of the standard bullet points. You got the the fake install.\u003C\u002Fp>\u003Cp>And then the coup d'etat. Is that what the I don't know. I don't know. Matt has surely lost.\u003C\u002Fp>\u003Cp>Speaker 2: Nice.\u003C\u002Fp>\u003Cp>Speaker 1: Stakes. Pretty badly.\u003C\u002Fp>\u003Cp>Speaker 0: Oh, so you can submit skills from the front. That's pretty good. Pretty good.\u003C\u002Fp>\u003Cp>Speaker 1: Oh. No.\u003C\u002Fp>\u003Cp>Speaker 0: Failure.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. I did get a chance to to fix that. If I had, like, two more minutes, like, whatever it is that you're doing right now while I'm demoing mine.\u003C\u002Fp>\u003Cp>Speaker 2: I'm not doing anything.\u003C\u002Fp>\u003Cp>Speaker 1: This looks good. I mean talking to Matt.\u003C\u002Fp>\u003Cp>Speaker 0: Design wise? What like, I mean, I think it looks solid. I would probably call it\u003C\u002Fp>\u003Cp>Speaker 1: I I wouldn't have gone, like, the dark mode design. Right? I would have gone light mode, and I would've, like, just had it be very in your face. Would have been nice to have, like, the login to be able to submit this, but, again,\u003C\u002Fp>\u003Cp>Speaker 0: just good\u003C\u002Fp>\u003Cp>Speaker 1: to me. Wrestle with it too much.\u003C\u002Fp>\u003Cp>Speaker 2: It's more than I was expecting. It's it looks good.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Call it Hill Skills. And\u003C\u002Fp>\u003Cp>Speaker 1: it's got,\u003C\u002Fp>\u003Cp>Speaker 0: like, kind of a nineties vibe to it. I dig it. Alright. I guess I'll go next. We'll see what happens here.\u003C\u002Fp>\u003Cp>But, alright. This is called, AI skills pro skater presented by AI Amigos. So the concept\u003C\u002Fp>\u003Cp>Speaker 2: I wanna say I'm impressed that you have something. I thought you were gonna show us nothing.\u003C\u002Fp>\u003Cp>Speaker 0: Maybe maybe I was in Parker Face the whole time. But, anyways, the concept here is you start by tag. So you pick your, it's not really skateboarding, but the concept was Tony Hawk's Pro Skater. But, it was supposed to be whoever like, I wanted to do it by people in an organization. So engineers would wanna probably see the engineering skills, marketers, that sort of thing.\u003C\u002Fp>\u003Cp>So starting with tags, which is something I haven't seen before. And then in true Tony Hawk fashion, ideally, what I was trying to get was to unlock the skill, you have to do the, like, combo thing with the keyboard. And, it would do a little trick sort of thing. If I had more time, this would be like a full Tony Hawk style game where you can unlock skills that way. But, have all of the ones here.\u003C\u002Fp>\u003Cp>It just randomly put some, like, easy hard sick, grade on here, but I still pulled in all the overview platform tips and stuff. Not as nice as I was, like, hoping to get, but\u003C\u002Fp>\u003Cp>Speaker 1: Where's the skateboards?\u003C\u002Fp>\u003Cp>Speaker 0: I know. There is no skateboards.\u003C\u002Fp>\u003Cp>Speaker 2: I was I I\u003C\u002Fp>\u003Cp>Speaker 0: I was disappointed.\u003C\u002Fp>\u003Cp>Speaker 2: I think you've got the beginnings of something. I think this is cool. I think this is a good idea. I think it's cool.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. I was trying to go for the most non directory directory type, but, yeah. That's what that's what I\u003C\u002Fp>\u003Cp>Speaker 1: That's cool. Yeah. This part, I like, man. This looks this looks super nice.\u003C\u002Fp>\u003Cp>Speaker 2: It's totally\u003C\u002Fp>\u003Cp>Speaker 1: It's even got the\u003C\u002Fp>\u003Cp>Speaker 2: Like, I like that they're even floating.\u003C\u002Fp>\u003Cp>Speaker 1: It's like the the CRT Yeah. Tube TV effect to it. Mhmm. Yeah. I've been lately.\u003C\u002Fp>\u003Cp>Speaker 0: But yeah. So that's the end. That's AI skills for a skater.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. I think it's for a skater.\u003C\u002Fp>\u003Cp>Speaker 0: Alright, John.\u003C\u002Fp>\u003Cp>Speaker 1: Alright. Let's see what you got, John boy.\u003C\u002Fp>\u003Cp>Speaker 2: Alright. Let's do this. I went you know, if you've if anyone's followed me on LinkedIn, I did the whole Nintendo theme garage inventory. So I kinda kept it Nintendo themed, and I went with Duck Hunt, although Skills Hunt. So you come here and you you shoot the little you you can't hear it or maybe you can't.\u003C\u002Fp>\u003Cp>There's little noises. There's a little creature down there, and then you can you can view the collections that you've got. You've got a little the only thing I would do is make the fonts bigger. You can see all of these things here. But you can go back to the game and you shoot the little you shoot the skills that you want.\u003C\u002Fp>\u003Cp>Speaker 1: The dog is So there there\u003C\u002Fp>\u003Cp>Speaker 2: is noises. I don't think you can hear them, but maybe the recording will show them. But there is noises when you're shooting things, and that's what I did. You got your skills there on the right that you've collected. You've got your skills here, and then you can view what those skills are.\u003C\u002Fp>\u003Cp>Speaker 0: Alright.\u003C\u002Fp>\u003Cp>Speaker 2: So, yeah, shoot for\u003C\u002Fp>\u003Cp>Speaker 1: ask questions later.\u003C\u002Fp>\u003Cp>Speaker 2: Actual game I already got that one. Damn. I need a new skill. There we go. Bang.\u003C\u002Fp>\u003Cp>Speaker 0: I love gamifying the skills. Yeah. You can't just get the skills. You gotta work.\u003C\u002Fp>\u003Cp>Speaker 2: You gotta work for it, man. Anyways, that's what I\u003C\u002Fp>\u003Cp>Speaker 1: know. Alright.\u003C\u002Fp>\u003Cp>Speaker 0: I mean, all skill one. Honestly, I think way better than all of us anticipated, at least for for me.\u003C\u002Fp>\u003Cp>Speaker 2: I mean, we did all of those Friday It's a working game. Twenty minutes.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. Very nice.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. It was twenty minutes on the clock and mostly fighting with my, connection and react, and John was his master of vibes over there. So\u003C\u002Fp>\u003Cp>Speaker 2: Master of vibes.\u003C\u002Fp>\u003Cp>Speaker 0: I mean, if\u003C\u002Fp>\u003Cp>Speaker 1: I had to speak Does this go to a vote between us,\u003C\u002Fp>\u003Cp>Speaker 0: or does it does it go to the audience? I mean, I I think it's a good question. Right.\u003C\u002Fp>\u003Cp>Speaker 2: I think we all know who won this one here internally.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Yeah. Yeah. Yeah.\u003C\u002Fp>\u003Cp>Speaker 1: As much as it pains me to\u003C\u002Fp>\u003Cp>Speaker 0: say it, very creative. Very creative. Mhmm. I like shoes.\u003C\u002Fp>\u003Cp>Speaker 2: I think they're all good. I think they're\u003C\u002Fp>\u003Cp>Speaker 1: all\u003C\u002Fp>\u003Cp>Speaker 2: great, dare I say. They need all they all need adjustments, obviously, if you were to move this to production, but I think they were all great ideas in different manners.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. And then you combine them all. And that's I mean, I think the best thing is that, like, I'm imagining you have, like, a full team of folks operating off the same like, you like, at companies I've worked at, they've they've always been hackathons. But, like, opening up a hackathon to the entire team to be able to work off the same base set of data, I think, is just the really cool thing here. It's, like, everybody can bring ideas to the table now.\u003C\u002Fp>\u003Cp>But, yeah, overall, pretty cool.\u003C\u002Fp>\u003Cp>Speaker 1: Well, cool, guys. I think that's\u003C\u002Fp>\u003Cp>Speaker 0: about it for this session. I appreciate everybody hanging in there with us. It sounded like if you're just listening to this, it was awful, but, you know, the end result has been solid.\u003C\u002Fp>","What's up, everybody? It is great to see you, to meet you virtually here. My name is Matt. I'm on the marketing team here at Directus. And if you're watching this, you're in for a treat because we have quite the repertoire of guests here today, also from the Directus team, and we're gonna be doing something pretty fun. But first, let me introduce each guest. You know him. You love him. You've seen his face all over the place. It's John Daniels. John Daniels. What's up? Glad that you started with me. I was worried you were gonna say Brian. So hello. Your face is all over the place right here. I don't think anybody really knows who Bryant is. So, no. No. No. No. Of course, we have the man himself, mister Bry. Bryant Gillespie, who's one of our esteemed developer advocate type folks, I guess, on the team. You know? He kinda does everything. Type folks? Yes. Happy to be here. Very excited for this. Look. I'm just gonna start this off with saying whatever we're doing in this competition, I'm gonna mop the floor with you guys. That's it. Strong start. I was gonna do this not in the spirit of competition, but in Oh. In in friendliness, but I guess that's what we're gonna do now. Alright. And if anybody doesn't know, John is one of our AEs here at Directus, so the most competitive of of everyone here. So I'm sure pretty sure that'll awaken a fire in a moment. So, yeah. Brian, what are we doing today? I this is your show, my friend. You tell me what we're doing. Clearly, it's something to do with an AI skills directory because that is what's on the screen. That is what's on the screen. Alright. I'll give you the brief rundown. So today, we are gonna have a build off. Everybody's been talking about front ends and UIs, and the errors are shifting. And there's so many tools out there. I'm a user of Cloud Code for a lot of the marketing stuff that we do here at Directus, including building the Leap Week landing page. Our team uses codex. Our team uses a lot of the out of the box, like, harnesses, like cursor. And we also use things like Lovable. So it's a good mix of things, but that's a lot of subscriptions add up. So we thought, why not put the skills to the test and see which we can use best for building the front end on a Directus back end, which would be a skills directory. And one of the reasons we wanna do a skills directory is because there's a lot of shady skills directories out there and there's a lot of mistrust in a lot of them. So our developer team has a lot of, skills that they share, that we thought would be cool to build something along with that, as well as our go to market team uses a lot of things too. So, yeah, that's really the gist. Did I What are the what are the stipulations for this, man? We're building a skills directory front end. We're gonna need a back end for that, which we'll do, but what are the rules? There are no rules. There's only one rule. And that is that's details? Yeah. There's gonna be one rule where we have to create the back end and direct us. And then whatever tool we're gonna use, we are going to use the same back end for that front end. So running down the list of tools that we will use, I will be using Lovable. It's something I've used in the past. I've I've not actually used it in quite a bit, because I've been using, Cloud Code. But, Brian, what are you gonna be using? I'm gonna be using Cloud Code. Alright. John, what you got? I use my old dependable cursor. Yeah. Is cursor what you built? The, garage inventory? It is. Yeah. Yeah. And I already have a I already have an idea. Oh, boy. Oh, no. Retro. It's a lot yeah. Front end directory. It's a long Here we go. I'm doing that maybe more than, like, moving forward in my chair. Cool. Yeah. Well So Right. To kick things off, I'm assuming we'll kick we've started. We we got a totally blank data model here. We'll just call it skills directory. Right? John is just banging on the keyboard, man. Alright. Totally empty. It's like you know, we'll we'll do this 100 app style. Like, what what what do we even need on a skills directory? Right? You're gonna need some skills, but what what is the what are the other stuff that you're planning on tracking here? What do you need for the back end? Yeah. That's a good question. When you say skills, what does that encompass? Is that like the title and the description and the actual I mean, skills are basically just a fancy word for markdown files. Right? Yeah. I mean, that's, yeah, that's the the funny thing about all of this stuff to me is it's all just markdown. Like, been been dealing with markdown since I was 12. A week ago. Yeah. So we got a name, a description for the skill. You've got the, what, the actual skill content. I don't I don't know. Are you I'm assuming you're gonna have, like, users who submit the skills? Mhmm. We'll have I think, at some point, if we wanna Submit a bug. Public facing, but for our internal team makes sense. You probably want, some sort of, like, tagging system. So if it's engineering skill or if it's So the tag name. Okay. What else you got? Option for an image, if you wanna add that to the front end potentially. Image? Okay. You're getting away from the markdown stuff now. I'm gonna just draw the arrows for fun here at this point. Here we go. Boom. Alright. So you got skills. You got tags. What else do you need? I mean, I Repository. GitHub repository. Is that where they're coming from? Could you just host it within Directus itself, like, as a file? I mean, we can. Yeah. Like, do you want it linked to somewhere? I think I wanna keep it, like, self like, contained within the one thing. Okay. Alright. Cool. Is this anything else? Or is it we're just gonna roll with this. Just keep it simple. Unless you got anything to do. Wait. No. Keep it simple, stupid. Which one is stupid, man? You probably said it. Alright. I've got this. So, hopefully, I've got some secret sauce here. Been working on a CLI tool. So I'm gonna tell Claude code here. Can you guys see this? Should I zoom way in? Alright. Run d six s agents. It's our CLI for connecting to direct us. D six s. It's the first time seeing the CLI in action right here. Very nerdy. You know, the Kubernetes deal. What is this thing doing? Why is it not running this command? It's reading four files, which d success. Just run the command, dude. What are you doing? Chose the wrong tool. Maybe cursor's been Maybe you chose the wrong tool. Yeah. There it is. Okay. So, basically, that command gives it a little context about this. Cool. And now this thing should be primed to go. Agents. Right. Cool. Alright. So now we're gonna kick it over into plan mode. I'm gonna paste that image that I had. Right? And we're just gonna say, hey. We're building an AI skills directory. Here's a screenshot of a data model I'm competing with John and Matt. We need the back end in Directus first before we build the front end. Can you plan out the Directus back end? Yeah. Alright. I've been using Let's see what happens here. Okay. Right here. Alright. It is going to alright. This is where I tell you to do as I say, not as I do, because I'm just gonna turn this thing loose. Right? I should have actually set dangerously set permissions here. But I don't even have it ask for permission anymore. I just let it go. Go, baby. Go. I have to leave this a lot. That's probably why. If you can't leave that out, security infraction. Security. Spent hundreds of dollars in tokens last month. Alright. It's going to write this plan. Are you so are are you not using cloud code at all? You're still using cursor every day? I use both. Depends on what I'm doing. So what so what you're you're basically just doing what the MCP used to do just from the terminal So is the why the CLI? Right? Well, the reason why is because context. The context window. So MCP uses up a lot of context, for comparison. Right? Like, if you have all the tools enabled, MCP or our AI assistant right now could use up to thirty, forty thousand tokens to have all the tools enabled. The CLI, by default, doesn't load anything into the context, and the agent is or like CloudCo, these agent harnesses are pretty good at navigating, like, CLIs just because they're they're trained on a lot of bash scripts and stuff like that. So, you know, it basically you keep the context window clean until you need it, and, yeah, you follow this progressive discovery pattern. I'm yeah. I've been talking. I'm not even looking at this plan. Hopefully, this thing actually does what we wanted to do. We shall see. Right? Actually, use recipes. D success recipes. This is should be a shorthand. Again, this is all highly experimental, so failed to log the plug in, so it's not gonna use that at all. Plug ins. Index. Oh, good. Alright. Well, just push forward. We may be kicking back to the MCP for this. Hey. Alright. Is what I when I type in the when it when MCP goes wrong for me, I say, just do it, and it'll it'll figure it out. Just do it. Figure it out funny, man. Turn off permissions and just go. What is this thing doing? Your token doesn't have admin access. I do have admin access. No. You're wrong. You said, highly experimental. Correct? I mean, it it was working well. Works on my machine until you start recording. Right? Right. So we'll just go back to the old tried and true here. Both collections exist, but I have no schema. Oh my gosh. This thing is hopelessly lost. Lost. Hey. There's two collections in there now. Yep. They're actually just folder collections because they don't exist. Alright. Skills. When I say tried and true, I mean me. Alright. What do we have there? We have name, description, content. Name. I've never seen anyone move this fast inside of the. Content. Just markdown. It's just markdown. There you go. Alright. You got tags. Yeah? Mhmm. Cool. Tags. I have a name for the tags. Tag name. Cool. And then we need a skill tags. We need a junction table. Cool. I'm taking the long way around here. Skills. Now I'm gonna go to the mini mini relationship inside directions. It's been a minute since I've done this, man. Don't you miss it? Always I do miss it. Yeah. It took me an hour to do half of this stuff that I could now do in, like, five minutes using the AI tools when they work, mind you. Skills ID, tags ID. Let's just call it skill. Let's call it tag. Skills. Cool. Give it a sort field. Boom. Boom. Boom. Boom. You know, it's worth that messing up to watch you do this. It's like watching Boom. That's it. There's the back end. You're good. Golden. Very simple. Very easy. Now what? Now we need some data. Mhmm. Maybe it can do that. Look, I I set it all up. Nice. Thanks for nothing. Now I need you to create some sample data for us, though. I mean, I'm a make sure you rub it in the face of the thing. Right? Talk to me well, I this might take a minute, but, like, what are you guys Like, when you are are we supposed to talk about what we're gonna build? Like, how the front end is gonna look, or is this gonna be, like, a secret thing? We'll talk about, you know, how things are going. I'm still I'm between a couple ideas on what I want this front end to look like. I I want it to not look like a generic directory because there's, like, directories of directories out there. I already have an idea, so don't even don't even worry about Wait. Alright. Was it one that we talked about earlier, or is this one this is completely new? I got a new idea. Interesting. Okay. I think I'll have an idea. You think you'll have an idea? Alright. Well, it's got there's eight tags. There's six skills. Let's add 10 more skills. Create a few sample users as well, give them a different role. Just the ability to view skills and update the ones they've uploaded. Alright. So now we're gonna move to the the front end stuff. Yeah? Yeah. I think so. So we're all operating off of the same direct us back end, and you just created a few users. I'm assuming that's to give us access to that data. Yep. So you guys have your own users in there. Looks like it's created Only one guy cares about a photo. Yeah. Oh my gosh. Alright, dude. Fine. Fine. Fine. Fine. Yeah. Boom. I'll update my You look you look rather young in that one, John. Thanks. Alright. So what do I dig at all. Thank you. Alright. So each of us is gonna have our own role, and you will provide that role to us. If you refresh real quick. Sorry. Refresh bright. There. Of course. Yeah. We're reading we're watching this. You're certainly not watching this on Saint Patrick's Day. We're recording it on Saint Patrick's Day, though. Yeah. Yeah. Yeah. Well done. Yeah. That one. Sorry. Continue, Matt. How do you have access to this already? I I already gave him access. I put it in the chat. I sent you guys up already. Your direct us email and your password. What's the password? The password is Password. Now, hopefully, one of us will remember to have removed that by the time this recording goes live. I'll tell him how to change it. In the chat. Must be what is this thing doing. Okay. I was creating, like, 35. Why can't I not just accept all here? Good lord. Shoot me the shoot me the URL in the chat. I don't see it in there. It's a imigos.directus.app. Got it now. Alright. Alright. I'm in. Alright. Alright. Alright. Alright. Invalid input. Sarah Chen. Why does it keep trying to I don't know. It really likes the name Sarah for whatever reason. Hey. I got a crush. Marcus, Priya, Sarah. Those are the folks who are uploading the other skills. Alright. So we're good then. Yeah. There's gonna be some skills that populate in there, and then everybody is jamming on the back end. How long are we do we have on the back or on the front end? Right? I set a timer. We have, like, two minutes now, but, if we wanna take ten minutes, you know, and do what we Ten minutes to do a whole back end or a front end? Yeah, man. I mean, it's the UI error is changing, so they say. I at least, like, 15. Yeah? 20 to 30. We could do, like, a supercut. We'll extend this session a little bit. We've got some time. Do a supercut. Yeah. Alright. Twenty minutes then. That's it. Twenty minutes. No more. No less. I think You guys better not be starting with the back end already or front end already. Sure John's already done. I've been Yeah. He's already done. Hearing him. Alright. I'm just right now, I'm just setting up the m I'm setting up my MCP and cursor. Alright. Well, you guys just tell me when you're ready to go. I'm I'm pretty confident in my skills. Let's say we're using, like, you know, lovable or something. I've got my user here. I create It's got admin policy, create a new token, save said token, and should be good to pull data from that directly. Yeah. And just lovable have FCP? I don't know. It's a good question. Personal connectors. There you go, dude. I see it. I sees it. Here's the directisio docs. I'm gonna just point you in the right direction there. Connect AI, AI, MCP server. This is the page that you need from the documentation. I'm gonna paste that in the chat. Good luck to you, sir. You guys just all the skill the back end is done. The back end is locked. Don't even think about changing the back end. Alright. When you guys say go, I'm gonna hit go. Hit go. There it is. Alright. Twenty minutes, boys. I'm I've gotta upgrade my lovable account because, apparently, Lovable doesn't allow custom MCPs unless it's It sounds like an excuse, bro. Already an excuse. Alright. One pro. I'm gonna spend this whole time setting up my custom MCP. Oh, no. Why can't I see the text here? Oh, that's not good. I'm going react on this one. Why can't I see this, though? I just got this new Mac, man. Still, if you guys beat me, that will be b y since we're just throwing excuses out there. I am still signing a still I'm still going there by a sign up for a year. I can't even get the I can't get the tan stack start script here from the their website. Start. Connection failed. Gotta love it. Alright. Well, mobile mobile is not really communicating with me right now. I'm having trouble. I hope you guys are having fun. I'm having a blast. Matt, is your keyboard connected yet? Yes, John. Alright. Let's see. I got my build plan ready. Let's see if this looks good. No. I don't think Lovable's gonna be the the move. Not great, Lovable. Not great. Alright, guys. I've clicked build. We're gonna we're gonna get v one running. What if we finish in ten minutes? Does that give us bonus points? I should be done setting up my MCB by then. So Matt, why don't you have a rabbit in your background? Brian and I both have a rabbit in the background. I have several. Because I like to have my rabbits in my point of view. So not in the background. Alright. Well, local's not gonna work with me on the MCP, so I'm gonna have to roll. You just just gonna have to roll. Can I just copy, Jace? You could just tell it to use the SDK. I think you can copy. I think you can also just give it your API token and just give it access. I think I've done that before. You'd be like, hey. I'm an API token. Didn't know we'd get excuses so quick out the gate, though. You know, usually, I'm using, like, whisper for this. Go for it. Okay. Then we know what you're gonna build. Right? Just meet your just meet yourself while you mouth it and then unmute. I need a front end that looks great. Make no mistakes. Make it look beautiful. I I hope John's idea is something that looked like a pot of gold and a leprechaun. No. But that would have been good. Dang. I think mine'll be good, though. I I have no idea what this output of this prompt is gonna mean. I'm actually kind of terrified. I know. I'm just reading my typing, and it's freaking terrible. That's why he's was The good news is AI doesn't care about typos. What were the tags we put in here, by the way? Research writing, design, automation, productivity, coding, marketing, and data analysis. We should upload these to to, like, Vercel or Netlify or something afterwards so people can play with them, the front ends. That should be that should be solid. Here's the file being created right now. It's called bang effect dot JSX. Bang effect. You may win this, man. I think you guys had more time to think about the ideas here. Don't yeah. I don't have a solid idea. Lost trying to set up the MCP server in Lovable. Oh, that's a risky run. You've got what what did we got on the clock? Thirteen twenty one. Plenty of time. Just just come on, Claude. Don't film me now. I like you, dawg. We got this. We got this. Oh, first preview. It looks good. Did you one shot it? Oh, damn. This is okay. You guys are gonna lose. He's blowing smoke. I know. He's he doesn't have anything. It's just a blank screen. I wish you guys could see this. No. I'm trusting lovable with my lunch. The sound effects are amazing. You have sound effects? The only problem is I can tell the words are backwards. I'm like, why are these words backwards? What, wait. Tags. One, two, three. I like how there's, like, duplicate tags. Lovable has gotten a lot better on the user interface since all of us use it. Like, it quite looks nice, except for the whole connecting and MCP thing. I wish you guys could hear these sound effects. I think I can hear a few. Did you do freaking lasers? Oh, it's looking so much better now. Oh my gosh. This looks so good. It's a risk. It's poker face. No. You know it's a good a good project when you are playing the game that you've built. I'm still waiting for dependencies to resign. Alright. You know me, Ben. If you enjoy watching people slide by on the skin of their teeth, please tune in to Directus TV for where yours truly embarrasses himself twenty four seven by trying to build apps. Oh god. This is going horribly wrong. I should not have should not have done React that is using way outdated stuff. We're just I I don't know. Tam, if you watch this, man, I don't know what happened to the website today when I was recording this, but I think this is gonna be Oh, there it is. Finally. It's okay. You got something? Must have been I the site must have been broken, man. I don't I don't know. Okay. Now now it's playing its playing its game on its own. This is where where it's fun to watch Cursor play its own game. You got your AI playing an AI? K. What are you doing over there? Who? Me? Just kicking ass? I'm gonna have to rely on a one shot here. I think I might have this with a one shot. We'll see. It's still it's finishing up the build. This is building out the comp I'm building the character select and move list UI right now, so we're gonna have to wait a a second. Did you create an RPG, John? No. I created a a video game. Do you wanna know what its theme theme is? I wanna wait and see. Okay. Leprechauns? No. Pecauns. I think I you know, if I had more time, it would be cool to do, like, an RPG style directory where you have to, like, level up to get the better prompts. I wonder if anybody would spend time or not. Probably not. I've been looking at this thing, and I'm just like, I don't even know. Do you have anything? Do you have a UI at all, Brian? I I have nothing on the screen. That's not good. How much time do we have left? Six minutes. Oh, man. Guys, this you might as well just stop. I'm telling you, you're gonna lose. I know Matt basically has nothing. He's gonna show a white screen. It's gonna be like index.html. We're gonna wait and ask I have a header. You have a header? I have a header. Match this line to us. Have have I been in the roost this whole time? Who knows? I feel like I do miss the old days where I just good old fashioned handwriting code. I probably yeah. On a 100 apps, hundred hours, like, the days of all, I woulda had something already that looked nice. I'm not super happy with what I've got here. I do only have a white screen. K. I put in one more prompt. I I'm three shotting it, and I think three shots might be it. I think my idea was here, but the execution is lacking. Oh, it even gave it a little tab icon. Nice. Alright. I think we got something. Matt, are you past the home page yet? Did you get logged in yet? Been spending all this time on the initial You spent fifteen minutes of the twenty minutes just upgrading to pro. I did. I might have credit card information floating out there, so remind me to cancel my cards. Alright. We got something working. Yeah. Without the MCP, I'm I'm not really able to pull the. Here's what here's what my cursor just said so you know what it's doing. The buttons are noticeably bigger now. Let me shoot a couple skills first, then test the collected view and detail pop up. That's a little hit into what I've built. Are we talking legend of Zelda or something? What? Dangerous to go alone. Sweet mother. He's still in there, or is that going too? I still got it. Started off on the wrong foot, man. Should not have, should not have tried to go React. Should just you gotta stick with what you know, man. Talk with what you know. Why did you go with React? You were trying to get fancy? I I've been using, I I got a project, a personal project where I've used, TanStack start lately. I'm trying to learn a little more about React so that I'm not one dimensional. Mhmm. Did not pay off today. Did not pay off today. Mhmm. Thirty seconds. Yeah. This is I've just spent all the time troubleshooting. Lovable doesn't seem to really work well with custom MCPs, so if anybody's curious. Fifteen, fourteen, 13. Who are you who's who gets to go first? Well, I mean, clearly, it sounds like John. Like, John's face means that he may have something really good. He might have. Yeah. Time's up. Yeah. Time's up. It's just finishing it's just finishing its build, but I've just been I only needed three prompts to get it to some pretty amazing. Okay. I mean, I've got something. It's not, Sounds like you have nothing. It's basically You go then. Me? Let me it's still finishing this moment. The junction table I faced. Alright. I just refreshed. We'll see. I I think that is I'll go then. I'll go. Yeah. Let's see what you got, Bryant. I'm excited to see this header. Screen. I didn't have time to work on the design. We have a skills directory. I was going for, like, the brutalist theme. It didn't really get. I I had literally no time to worry on the design. So the the tags do work, which is nice. We can search. So we search for SEO. That works. We can load up the skill. We see it being loaded here. You know, you got the nice little subtle detail, the little arrows instead of the standard bullet points. You got the the fake install. And then the coup d'etat. Is that what the I don't know. I don't know. Matt has surely lost. Nice. Stakes. Pretty badly. Oh, so you can submit skills from the front. That's pretty good. Pretty good. Oh. No. Failure. Yeah. I did get a chance to to fix that. If I had, like, two more minutes, like, whatever it is that you're doing right now while I'm demoing mine. I'm not doing anything. This looks good. I mean talking to Matt. Design wise? What like, I mean, I think it looks solid. I would probably call it I I wouldn't have gone, like, the dark mode design. Right? I would have gone light mode, and I would've, like, just had it be very in your face. Would have been nice to have, like, the login to be able to submit this, but, again, just good to me. Wrestle with it too much. It's more than I was expecting. It's it looks good. Yeah. Call it Hill Skills. And it's got, like, kind of a nineties vibe to it. I dig it. Alright. I guess I'll go next. We'll see what happens here. But, alright. This is called, AI skills pro skater presented by AI Amigos. So the concept I wanna say I'm impressed that you have something. I thought you were gonna show us nothing. Maybe maybe I was in Parker Face the whole time. But, anyways, the concept here is you start by tag. So you pick your, it's not really skateboarding, but the concept was Tony Hawk's Pro Skater. But, it was supposed to be whoever like, I wanted to do it by people in an organization. So engineers would wanna probably see the engineering skills, marketers, that sort of thing. So starting with tags, which is something I haven't seen before. And then in true Tony Hawk fashion, ideally, what I was trying to get was to unlock the skill, you have to do the, like, combo thing with the keyboard. And, it would do a little trick sort of thing. If I had more time, this would be like a full Tony Hawk style game where you can unlock skills that way. But, have all of the ones here. It just randomly put some, like, easy hard sick, grade on here, but I still pulled in all the overview platform tips and stuff. Not as nice as I was, like, hoping to get, but Where's the skateboards? I know. There is no skateboards. I was I I I was disappointed. I think you've got the beginnings of something. I think this is cool. I think this is a good idea. I think it's cool. Yeah. I was trying to go for the most non directory directory type, but, yeah. That's what that's what I That's cool. Yeah. This part, I like, man. This looks this looks super nice. It's totally It's even got the Like, I like that they're even floating. It's like the the CRT Yeah. Tube TV effect to it. Mhmm. Yeah. I've been lately. But yeah. So that's the end. That's AI skills for a skater. Yeah. I think it's for a skater. Alright, John. Alright. Let's see what you got, John boy. Alright. Let's do this. I went you know, if you've if anyone's followed me on LinkedIn, I did the whole Nintendo theme garage inventory. So I kinda kept it Nintendo themed, and I went with Duck Hunt, although Skills Hunt. So you come here and you you shoot the little you you can't hear it or maybe you can't. There's little noises. There's a little creature down there, and then you can you can view the collections that you've got. You've got a little the only thing I would do is make the fonts bigger. You can see all of these things here. But you can go back to the game and you shoot the little you shoot the skills that you want. The dog is So there there is noises. I don't think you can hear them, but maybe the recording will show them. But there is noises when you're shooting things, and that's what I did. You got your skills there on the right that you've collected. You've got your skills here, and then you can view what those skills are. Alright. So, yeah, shoot for ask questions later. Actual game I already got that one. Damn. I need a new skill. There we go. Bang. I love gamifying the skills. Yeah. You can't just get the skills. You gotta work. You gotta work for it, man. Anyways, that's what I know. Alright. I mean, all skill one. Honestly, I think way better than all of us anticipated, at least for for me. I mean, we did all of those Friday It's a working game. Twenty minutes. Yeah. Very nice. Yeah. It was twenty minutes on the clock and mostly fighting with my, connection and react, and John was his master of vibes over there. So Master of vibes. I mean, if I had to speak Does this go to a vote between us, or does it does it go to the audience? I mean, I I think it's a good question. Right. I think we all know who won this one here internally. Yeah. Yeah. Yeah. Yeah. As much as it pains me to say it, very creative. Very creative. Mhmm. I like shoes. I think they're all good. I think they're all great, dare I say. They need all they all need adjustments, obviously, if you were to move this to production, but I think they were all great ideas in different manners. Yeah. And then you combine them all. And that's I mean, I think the best thing is that, like, I'm imagining you have, like, a full team of folks operating off the same like, you like, at companies I've worked at, they've they've always been hackathons. But, like, opening up a hackathon to the entire team to be able to work off the same base set of data, I think, is just the really cool thing here. It's, like, everybody can bring ideas to the table now. But, yeah, overall, pretty cool. Well, cool, guys. I think that's about it for this session. I appreciate everybody hanging in there with us. It sounded like if you're just listening to this, it was awful, but, you know, the end result has been solid.",[475,476,477],"d7e6adc3-560c-4e06-8e32-ae37949193c0","5abcac60-2f3d-472c-9976-e013163d7a80","5576f5a9-383a-4f43-80c0-6356e6aeaf79",[],{"id":16,"number":17,"show":4,"year":18,"episodes":480},[20,21,22,23,24,25,26,27],{"id":22,"slug":482,"vimeo_id":483,"description":484,"tile":485,"length":486,"resources":9,"people":9,"episode_number":30,"published":455,"title":487,"video_transcript_html":488,"video_transcript_text":489,"content":9,"seo":9,"status":13,"episode_people":490,"recommendations":494,"season":495},"ai-in-the-enterprise","1176284514","How are enterprises giving teams access to AI while managing governance, data privacy, and risk?","ccb9efaf-5355-49a8-a6b4-5088bd5200a7",45,"AI in the Enterprise","\u003Cp>Speaker 0: Excellent. Today, we have another episode of Bridging Bytes. It's been a minute, since we did our last one, but I'm extremely excited, to have two folks here to run through some exciting, topics around AI in the enterprise. So today, I'm joined with, with Holger Hammel, who joins us from HelloFresh. I actually think the intro came from Emma, our VP of marketing, from your time at Ivan.\u003C\u002Fp>\u003Cp>But, really excited to have you here, Holger. And then also Peter Bell, CTO, founder, head, of AI over at Gather dot dev. And I think you're actually a little bit closer, Peter. You're in Absolutely. In New York, in the city?\u003C\u002Fp>\u003Cp>Speaker 1: New York City. Just north of the city in Westchester.\u003C\u002Fp>\u003Cp>Speaker 0: Nice. And, Holger, you're you're over in Berlin. Right?\u003C\u002Fp>\u003Cp>Speaker 2: Yeah. Correct.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. We have slightly different time zones and, and lighting probably in the background. But, Holger, do you wanna give a quick intro in terms of, like, what you're doing over there at HelloFresh?\u003C\u002Fp>\u003Cp>Speaker 2: Yeah. I like to. So first, thanks a lot for having me. It's a super interesting topic, of course. And so I'm VP engineering at HelloFresh.\u003C\u002Fp>\u003Cp>I'm leading there the consumer alliance. So it's, like, about three hundred three hundred engineers across different tribes and squads, and we're covering the, client side applications, right, the web and the app page, and first layer of back end, aggregation layer, and data science, data engineering a little bit, and customer care. And, basically, you know HelloFresh. Right? We have, we have, the meal kits in, The US and in European countries, 18 countries overall.\u003C\u002Fp>\u003Cp>And we deliver fresh meals to everybody at home, and we have as well ready to eat meals. And it's a it's an interesting, setup where we have, physical products delivered to to customers, right, really, like, food products with their own kind of challenges in a sense, right, how to do this. And then we have the digital product on top, that we work on. And my key part here is to really, solve for personalization, right, to really create a digital experience that brings the best customer experience. And, and as well, and of course, the topic for today is, like, how to make this very effectively, and kind of make best use of AI internally for engineering departments, but as well of of introducing it into our products, to, for\u003C\u002Fp>\u003Cp>Speaker 0: Love that. Very, very relevant. It's always good to hear, you know, anything on the hardware or the physical side, with what you're doing at HelloFresh. It's that that's the moat these days, in terms of, in terms of AI, and everything that that it's it's gobbling up. Thank you, Holger.\u003C\u002Fp>\u003Cp>Peter, could you maybe tell us a little bit about Gather Dev, and what and everything else that you're you're doing on your side?\u003C\u002Fp>\u003Cp>Speaker 1: Absolutely. I was an IC, wrote software for many years, then I became an engineering leader, CTO of a bunch of startups. I ran engineering at general assembly, built teams up to about 50, so fairly small scale. These days, I'm doing two things. I am writing the book, Scaling AI Adoption and Engineering.\u003C\u002Fp>\u003Cp>Basically, AI for CTOs. And it sure. We're gonna cover software factories and verifications and all the tech, but the hard part is how do you manage stakeholder expectations? How do you do the change management? How do you teach people when the curriculum changes every three days?\u003C\u002Fp>\u003Cp>Like, how do you do that at scale? And so we have these niche in person and online communities for founding CTOs. You're like an individual contributor or a team lead. You got a team of less than 10. Startup CTOs venture back to a scaling from 10 to about a 100, like, how do I hire my first DMs, and how do I do performance management, and how do I create a consistent hiring, process, things like that.\u003C\u002Fp>\u003Cp>And then VPs and CTOs at scale who are running also, like, a 100 up to a couple thousand where it's generally good news is you have the systems in place. Bad news is they are now what is stopping you from getting the work done, that and the people. And so I spend a lot of time talking with engineering leaders about how do you scale adoption, not only what are the good technical practices, but how do you actually do the change management, which will be the hard part.\u003C\u002Fp>\u003Cp>Speaker 0: Love that. Yeah. I mean, that is super relevant for some of the questions we'll get into today. I I, you know, built teams to 50 sounds small maybe, but, that's still where we are, and that's our whole team, over here at Directus. But, and I think you also do CTO hour, right, part of O'Reilly's Yep.\u003C\u002Fp>\u003Cp>Speaker 1: So couple of the things I'll do is I do a quarterly CTO hour for O'Reilly. The most recent one, I got to interview Camille Fournier, the author of Manager's Path, and Ali Adasan, who's the CTO at Dropbox. It was a lot of fun. And then twice a year, I get to, go to KubeCon, the Kubernetes conference. And for CNCF, I get to facilitate the executive summit along with Kelsey Hightower.\u003C\u002Fp>\u003Cp>So that's always a blast.\u003C\u002Fp>\u003Cp>Speaker 0: I love that. Is it KubeCon or KubeCon? Because it seems like Kubernetes, it'd be KubeCon.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. You know what? I don't even know how to pronounce it, but with my accent, people always think I'm saying Q con, which is great, but a whole other thing. I I was at QCon AI recently presented something there, but so I I just try to make it clear, which one I'm talking about because my my computer always gets it wrong for sure when I'm dictating.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Well, say it with confidence, and I guess it doesn't matter too much. So let's kick it off. I think sort of like just table stakes, you know, setting the foundation here. In terms of day to day AI, Holger, maybe you can kick this one off, with your thoughts.\u003C\u002Fp>\u003Cp>Where where is your organization today with AI? Like, what does it actually look like for your employees, for your teams? You know, how's how's that actually operate?\u003C\u002Fp>\u003Cp>Speaker 2: Yes. So I think we are in a crossroad. Right? In a we're in a in a in a in a situation where maybe some of the teams are as well, but, we are, very good, I think, already in adoption of AI on an individual level. So we have all engineers, most of, you know, using some form of AI.\u003C\u002Fp>\u003Cp>We have everybody using some form of AI to kind of improve the documentation, their workflows, and so on. What we recently, what we started, beginning of, the year or a little bit before as introducing our framework for the whole product development life cycle. And that's the interesting part. That's where we wanna go to, right, is, really understanding how we solve for not just cycle time, like, making one engineer faster, but, like, getting the flow for the whole squad to a complete new level. Right?\u003C\u002Fp>\u003Cp>It doesn't really make only sense to have one engineer being four times faster. Right? Not bad, but it's not enough. Right? And I think we're in the middle of we we as organization understood this.\u003C\u002Fp>\u003Cp>We are in the middle of transforming this. I really look at this as an AI transformation. We had DevOps transformation. We have AI transformation. Now we are in the in all of that on steroids, right, which is the AI transformation, and really trying to understand the cultural, the technical, aspects of this is something we're in the middle of right now.\u003C\u002Fp>\u003Cp>And it's something. Right? So you see engineers having, like, tons of agents running. You have designers creating pull requests. All of this is happening.\u003C\u002Fp>\u003Cp>Right? Just really bringing it together and super effective, on scale is where we are at and trying to solve for.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Is there is there a specific team or department that was know, doing something different than you expected in terms of, you know, that day to day? You know, may either moving faster, maybe they're moving slower, or just kind of a different different vibe altogether?\u003C\u002Fp>\u003Cp>Speaker 2: I think it was what what was striking was that we have a few, like, smaller businesses that, basically, we have, like, HelloFresh and and Factor, the established big businesses, if you want. And then we have smaller, separately managed, startups, kind of. Right? So GoodJob and Pets Table. And they are organized a bit more lean in a sense.\u003C\u002Fp>\u003Cp>Right? They kind of kept the startup vibe, and they you saw picking up. They saw we saw them picking up very fast. Right? Because it's just out of pure necessity in a sense.\u003C\u002Fp>\u003Cp>Right? So resources are scarce. So to get anything done, right, and they couldn't ask for, like, five more engineers, and they had to solve it. And they start solving it with AI, and they went very fast. Right?\u003C\u002Fp>\u003Cp>And they were the first one adopting it. And there was maybe less red band as well. Right? So they just, you know, did it. Right?\u003C\u002Fp>\u003Cp>And so they kind of act as the as the template or as the as the as the leaders down. Right? And where we got the inspire the whole organization are inspired by that speed and the that results.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. I mean, that's a huge network effect to be able to inspire other teams, you know, by seeing how fast that you can move and, like, maybe be more efficient. Obviously, that startup mentality is huge right now. We're seeing a lot of, you know, constriction across headcount in different orgs, you know, huge orgs that are saying like, oh, we can not just do things more efficiently, but, let's kind of adopt this more agile, you know, startup way of thinking. I think that's good across the board, you know, and, of course, sort of, sped up by by AI.\u003C\u002Fp>\u003Cp>Speaker 2: And the interesting thought I was just want to mention is really is the the constraints. Right? So the the the constraints of limited resources and still an ambitious motivated team that wants to run this, this was a key cut cut cultural aspect. Right? Because if you then have a big organization, very distributed, decentralized, like everybody does their part, this might not be there.\u003C\u002Fp>\u003Cp>Right? And so thinking about how to create this urgency, is a big part of that transformation, I feel.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Yeah. I mean, the only you have these, like, enormous organizations, and it's almost like you you can only shrink the overall headcount so much. Like, how do you actually get that startup speed when you have hundreds, thousands, tens of thousands plus of, employees? And I think, you you know, that sort of had you eat an elephant, you know, one bite at a time.\u003C\u002Fp>\u003Cp>If you kind of break up your teams and kind of make them very autonomous and give them that that skill individually, they can operate like many different, smaller agencies or smaller smaller, startups within a larger org. That's I love that. Peter, similar question to you. I guess, you know, what what does that AI look like day to day for you? And maybe more specifically, like, how has that changed, you know, over the past year or so?\u003C\u002Fp>\u003Cp>Speaker 1: So for me personally, it's a very different thing. As an individual, I'm a solopreneur, and it's great. I have a team of eight named agents running twenty four seven. I built my own little orchestrator. I'm creating my own custom memory system, which, puts skills.\u003C\u002Fp>\u003Cp>It puts, prompts and agents into a GitHub repo, and some high value shared informally structured context also goes there. Everything else goes into a Postgres database, which allows me to have things like I can have agents doing message passing through the database so that I can have multiple agents collaborating without having to go through a pull push cycle that I would have to if all of my tickets or work to be done was in some kind of Git based system. So personally, it's great. I'm just starting to dig into software generation. I'm looking to spin up in the next two weeks my own clone of monday.com so that I can basically have an interface for playbooks for running the business and projects for either running experiments, building new playbooks, or incrementally improving playbooks.\u003C\u002Fp>\u003Cp>And the idea is deterministic workflows with small model and human of the loop steps. So that way I can firstly reduce the cost latency of the models by the like, I just need a simple classifier. I don't need to be running Opus four six to do that. And then on the other side, for the human in the loop steps, every single interaction is captured in a fresh session. So we keep them in the smart zone, very small percentage of context used, and it means that then I run a compounding loop so that every night, every agent reviews what it did and updates its own instructions and skills in a way that it would be able to do it a little better the next day.\u003C\u002Fp>\u003Cp>And I'm already this system I'm building, I I started two weeks ago, and it's already running the entire business. And now I'm digging into software factories and the verification and looking at the Dan Shapiro, looking at what OpenAI did internally, looking at what Harper Reid is talking about about building rich software factories. When I see people who are blessed and cursed with 200 or 500 or 2,000 engineers, it's a slightly different story. The first thing I see is that, the widespread thing we're still seeing is augmented rather than agentic development, cursor in IDE mode or Copilot. It's fine.\u003C\u002Fp>\u003Cp>And if you wanna be 30% quicker doing 10% of your job, which is actually writing the code, you're gonna get some incremental improvement there. I think the next step to go is agentic. So maybe you've got six or eight small agents doing that you trust to write code or review code. That's fine too, and that you know, maybe you can be one and a half, two x as fast depending upon the code base, how well you prompt it, how much context you provide it. It starts to get interesting then you need to compound.\u003C\u002Fp>\u003Cp>I see people saying, oh, you know, like, I keep trying to do this, and it creates bad code. I'm like, have you told it what good looks like? Have you told it to remember what good looks like? And then if there's too much context where you're blowing the entire context window with all the rules, have you decomposed it so that you have one agent writing the code, one reviewing it? Maybe you have one reviewer that's looking for cyclomatic complexity, quality of naming, and architecture, and another one that's looking for security because you don't want one agent to have to solve for seven different dimensions in a single pass.\u003C\u002Fp>\u003Cp>It starts to get dumb. And once you so that then becomes interesting both on an individual level, even I'm getting compounding out of my small, agentic army. But once you start to do interesting things, you generally have a DevEx or platform team that owns the repo with the skills, agents, and prompts, and the key context, what you then do is you have this mechanism where other people within the org can fork that, tweak it, try to make it better, and then if, say, three people in the org give it a thumbs up, you then say, okay. This now gets owned by the head of AI, the platform team, the DevX team, and then you can share good practices across the organization without a priority knowing what the good practices are gonna be. Because Hochul is absolutely right.\u003C\u002Fp>\u003Cp>This is exactly the same as a cloud migration. You don't just give people a book on Kubernetes and say, are we there yet? Right? You actually want to have a program manager, and you want to have dashboards, and you want to have KPIs, and you want to have lunch and learns, and you want to have training sessions and Slack channels. You want to elevate people in your in your all hands.\u003C\u002Fp>\u003Cp>But at the same time, while you're doing all of that stuff, the curriculum changes every day, so you actually need to have a bottom up mechanism to get the best ideas from whenever they come. The one other thing I would say is, create a little bit of space for solo players. You can run way faster with this stuff solo. And if you have a small number of fire breathers, especially if they're building something that's not it's not the main way you charge all your customers. Right?\u003C\u002Fp>\u003Cp>This is the admin dashboard or this is the internal dev tooling where it goes down for an hour. It's not the worst thing. Those people will learn the practices that can then broadly be shared to the majority of your team. There's three buckets, and I promise to stop talking. The first bucket is the people who can't wait to do this more.\u003C\u002Fp>\u003Cp>They play with Steve Yegi's Gastown on the weekend. They are killing it. They're like, if I don't have 60 agents running, if I'm not blowing through 12 max plans at $200 each, personally, I'm not doing it right. Then there's the vast then there's some people who are honestly like, this is destroying the planet. This is destroying my job.\u003C\u002Fp>\u003Cp>This is miserable. I shall never do this. AI doesn't know how to write code as well as I do because I'm a Java developer. And they're gonna have a hard time. Hopefully, they will get AI infected like we got test infected for TDD.\u003C\u002Fp>\u003Cp>And the vast majority of people are somewhere in the middle saying, dude, I would do this, but you're telling me to read 50 blogs. Don't I have, like, features to shit? Tell me how to do it, and I'll give it a shot. Yeah. And you need to figure out how you deal with each one of those populations.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. No. And that's that's huge. And it's interesting, you know, hearing about, you know, minimum spend, like, you know, on on AI. Like, is that a motivator?\u003C\u002Fp>\u003Cp>You know, you just kinda say, like, you're not spending enough. It's also interesting, you know, hearing the comparison of, like, a small team, a big org down to small teams or solopreneur. You know, at the end of the day, you can ramp up the the minions as it were, and get the the team that you need quickly. But you mentioned sort of like piping your data into a database, you know, into Postgres. Like, whether that's you doing that with with the minions or it's a bunch of teams, I think that kind of bridges into the next the next topic pretty well, which is either way, we're connecting data up to these these services, up to the tools that we're building, whether it's internal and maybe, like you said, it goes down for a second, Peter, and maybe that's not the end of the world.\u003C\u002Fp>\u003Cp>You know, maybe it is, depending on the usage. But in terms of governance, like, how how do we find that balance? Holger, I'm gonna throw this back over to you. When we think about people moving fast, you know, getting that agility, we want people building things and experimenting, optimizing their workflows. How do you think about guardrails?\u003C\u002Fp>\u003Cp>Because, obviously, you know, people are just kind of out there, you know, building, but, you know, data is is crucial. Data is the backbone of all of this. And if that gets leaked, if that, you know, isn't know, given given the proper RBAC or permissions, in these quick systems that are being built, you know, how do you how do you speak to that across your org?\u003C\u002Fp>\u003Cp>Speaker 2: That's a very interesting question. And there's probably no final answer, but I think one, of course, we we have a high responsibility for for the data of our customers and our employees, and that's not gonna be sacrificed or, like, a change. Right? So we need central governance for for data, and we have it. So it's basically centralized through the existing teams that we have, like security or data privacy teams, reliability teams, ops teams.\u003C\u002Fp>\u003Cp>And we have a central centralized Gen AI team, basically, infrastructure team that kind of, is owning owning those things. Having said this, traditionally, you have guard rates around cost or maybe, I don't know, who can who can access to this. And and this, we we deliberately said we wanna, while protecting all the all the, PII data and relevant data very clearly, we want to open up basically everything else and and make people just try it out. Like, remove every red tape that we can. Right?\u003C\u002Fp>\u003Cp>And I think, you know, we were not looking at, should we have Corsa and Cloud Code and Gemini and whatnot. Right? We just take it all, cut it out, and see what sticks. Right? And if there's a new kid on the blog, we probably take this on as well and then see later, how we decommission it.\u003C\u002Fp>\u003Cp>It's just more important to get people excited, to get people working, and then, there will be a time for consolidation. And, you know, it's it's kind of ongoing. It's ready. We know more about, like, how how to manage context, you know, how to have a memory that is not, tool dependent and agnostic and stuff like that. So that helps.\u003C\u002Fp>\u003Cp>But I think that's the key part here. Right? It's removing red tape where we can while, while protecting the the data that we have to.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. I mean and there's also I mean, shadow IT, obviously, and now we have, you know, shadow AI. Is that an issue for you? Like, people just bypassing, like, you know, the the research shows that, you know, when leadership is actually shaping all of this, AI governance, you're getting better value for your company. But you're still gonna have your ICs, your, you know, pretty much anybody go out and say, I'm gonna use my personal account, my personal service.\u003C\u002Fp>\u003Cp>You know, is what is your solution to that? You know, is that that that's, like, sort of a sidecar risk. You know, do you just lock that down? You just make it easier to use the approved, like, internal services? Or, you know, how do you avoid that sort of issue where people are using things that just aren't even approved and they're just kinda going rogue for better or worse?\u003C\u002Fp>\u003Cp>Speaker 2: Yeah. So the honest answer is you cannot fully fully, kind of mitigate this, I would say. Right? And I think, I think we have a very compelling offer for people. Right?\u003C\u002Fp>\u003Cp>The you know, you have, you have, plans for for, for Copilot, for Gemini. There are. Right? So I think, if people now still choose to copy paste something in their own, Chativity, you cannot really, do much about it, I guess. But I think it's it's about training.\u003C\u002Fp>\u003Cp>Right? Kind of, we have a policy for for JNI. Right? We very early on had a had a policy and a got got guidelines, of course. Right?\u003C\u002Fp>\u003Cp>So that that people understand this. And I think especially if you're not in engineering, we want everybody to become a builder. Right? But not everybody in outside of engineering might have the context and might be security, sensitive also. So I think it's a big part of, like, training and making people aware of the risks and, what IP means, and, you know, what are the difference between private and enterprise accounts and stuff like that.\u003C\u002Fp>\u003Cp>So that is very, very important. But I think we tend to be more encouraging of using the tools than kind of limiting for now.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Well, Well, I would hope that everybody's being security sensitive. You know, that's that's obviously the name of the game. It it only takes one incident, one issue, and everything goes down quickly.\u003C\u002Fp>\u003Cp>Speaker 2: Wonderful.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Peter, I guess, you know, different different sort of, route to, you know, think about this. But, you know, are you doing are you kind of baking that into your process and how you're thinking of you know, if if we're saving data into a database, are you just piping it straight in? Are you piping it straight out? Is there are there any sort of things that you're thinking of when you're you're building out these these systems?\u003C\u002Fp>\u003Cp>Speaker 1: So one of the things I like is that, in many ways, I can build, an engineering infrastructure that feels like a a bigger company. And in fact, I need to. I find that the guidance, the onboarding, the design systems, the less decisions an agent is allowed to make, the more processing it can bring to those decisions, and the less likely is it it is to make random bad ones. I I was just chatting with a a few CTOs running larger teams at breakfast yesterday, and one of the common threads was how can we go more heavily into design systems, into standard patterns, into processes, into minimizing the number of decent technical decisions that need to be made so that the agents don't get don't don't have too too much space to keep getting it wrong. So I I think, managing the number of decisions for the agents, I think being very thoughtful about data, you need to think through I think we're gonna see a lot more about agentic roles and permissions.\u003C\u002Fp>\u003Cp>It turns out that if you just have a prompt that says never, never, never merge your work domain, It works almost all the time. If, however, you literally, I know somebody who has 50 agents and each one has their own GitHub account. And the nice thing is that you just put branch based permissions on main, and they are unable to merge it in until either a human or some other agent has done it. So I think you need to be very thoughtful. Don't assume that the agents will do what you say or even something reasonably close to what you say and have the guardrails.\u003C\u002Fp>\u003Cp>And I think it also comes back to all the classic good engineering practices. You know, you should decouple release from production by using feature flags so that you can canary rollout. You can load test things. You can roll things back. All of these are important.\u003C\u002Fp>\u003Cp>And I think to the biggest story is, like, whether it's shadow IT or, like, how you use this, I recommend picking a lane. If you think about it, technology adoption life cycle, crossing the chasm is like a 30 year old book, and it's still true. You can have innovators, early adopters, early late majority, and laggard. And, you know, that's okay. If you run a bunch of gyms, if you run grocery stores like physical plant, if you run ski resorts, maybe you can just wait till Microsoft figures it out and just tell everyone to go use Copilot.\u003C\u002Fp>\u003Cp>And in a year or two, you'll be a little bit faster. That's actually perfectly okay. You're gonna lose anybody who wants to work with AI, so it's gonna be a negative selection in terms of the team you get, but you're gonna keep most of the people who know how your systems work, and it'll keep them happy. And shadow IT is gonna be a problem for a while, but, honestly, all the people who wanna use shadow AI are gonna leave your company anyway. So it just is what it is.\u003C\u002Fp>\u003Cp>And then you can go to the other extreme. You can be like a Toby at Shopify. Right? You can be like, hey. Not only do I want to say we're AI first very early on, there was one time where he got the head of his, AI team to say, I want the 20 people using the most tokens.\u003C\u002Fp>\u003Cp>Promote them. Is that a good business decision where those tokens being used usefully? Doesn't matter. That is a cultural concept that that creates a sense of we want to be innovators. We want the people who wanna be innovators, and that's what we wanna attract.\u003C\u002Fp>\u003Cp>And if that costs, you know, 500 k in bonuses, it was totally worth it. So I think you need to figure out where you play on that. But then even if you're an f aider or early adopter, you still need education and enablement. Make it as easy as possible, like Holger said, for them to use. If you're just like, what do you mean we do AI?\u003C\u002Fp>\u003Cp>We have Copilot licenses, and you can request one. You're gonna get a lot of shadow AI and lose a lot of great people.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah.\u003C\u002Fp>\u003Cp>Speaker 1: If you work hard but have reasonable red lines that explain why sending PII to service in China may not be in your customers or your business's best interest, That kinda makes sense. And providing you teach people what's going on and especially for the nontechnical folks in the org, that you give them an understanding of why the rules exist and good ways to be a good corporate citizen and still actually get stuff done.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Oh, absolutely. It's interesting thing. I've never even heard of, you know, just finding who's using the most tokens and promote them. Like, I can imagine people starting to use their agents just to run other agents just to ramp up the token spend.\u003C\u002Fp>\u003Cp>Over here, you know, building AI into our platform, it's all about, you know, how do we optimize this and get the tokens down. But I guess different different strokes for different folks. You had mentioned sort of nightly builds and sort of feature gating, you know, behind the flag. That's sort of kinda leads us into the next topic here, which is, you know, we we're seeing a million apps, you know, flood the market. We're seeing all these cool POCs and pilots and experimental, you know, things internal and external.\u003C\u002Fp>\u003Cp>Like, what what gets that into production? Like, what makes that a viable application or something that, you know, you kinda mentioned it works almost all the time, you know, and, you know, we're gonna wrap it in the secure prompt, like, never ever ever do this, and it still does it, you know, on occasion. That doesn't fly in production when you're dealing with mission critical systems, when you're, you know, really building for the customer, and externally. Beyond sort of, like, the the point that you mentioned, Peter, maybe you can kinda is there anything else that you think is is critical? Like, we talked on governance and sort of maybe permissions.\u003C\u002Fp>\u003Cp>But what else helps get you to that production scale and resilience?\u003C\u002Fp>\u003Cp>Speaker 1: So there's a lot of things. A really good starting point is to remember we already have nondeterministic systems building software. They're called humans. There's just slightly different parameters when you deal with these new nondeterministic systems that are building software. It's it's an intern, and by the time you get to the end of the context window, it's an intern who's been on Adderall for two nights and is starting to forget stuff.\u003C\u002Fp>\u003Cp>So you have to be thoughtful about how you engage with your guardrails. My assumption that to take the extreme example is that my only job is to provide training for my future robot overlords. Do I believe that's true? Do I believe there's no rule for humanity? Hopefully not.\u003C\u002Fp>\u003Cp>But if I use that as an operating assumption, then there is no part of there's no time that I interact with an agent that I'm not doing it in a thoughtful way to improve their ability to give me a better outcome next time. So the first thing is you just rinse and repeat. You, like, you wanna build an entire software factory, right, where it goes from you just say the vision and it's in production with no human no required human gates between the two. All you do is you tell an agent to write some code, you tell it what was wrong, you make sure that it captures that context, and you tell it to go again. And you keep repeating that loop time and time and time again until you build more and more validators, adversarial reviews, and other elements that will reduce the likelihood.\u003C\u002Fp>\u003Cp>And you know what? I've taken that in production database in my life. Like, humans get it wrong too, but it's much less likely the more revs you do around that cycle to figure out what does good mean, what does bad mean, and how do we put, both tooling and and also just prompts. You've got the prompts, so you've got the tooling, you've got the context, but also you do need, I think, permissioning systems. You need to think about the blast radius.\u003C\u002Fp>\u003Cp>And then all the good stuff we've always been doing, observability, monitoring, alerting, I think there's great opportunities now for or self healing software is a fancy word for incident response where the LLM knows enough about the system to propose a a move forward. I think that's going to become mainstream. And, also, just stuff that we're doing fifteen years ago, game daying, resilience engineering. How can you make it so if your cart goes down, at least you can still see the products? If your payment provider goes down, it can still save your cart and send you an email once it goes up.\u003C\u002Fp>\u003Cp>Assume that stuff's going to break more and create more resilient systems with less moving pieces so that even when things go wrong, the blast radius is constrained.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah.\u003C\u002Fp>\u003Cp>Speaker 1: One final thing I'd point is and the only other part is you can also we're not gonna review every line of code at some point that's going away. However, you can take a statistical process control approach to that, which is it's like ball bearings. You don't check everyone, but but if one of them is out of tolerance, you start checking them more frequently. And you do it risk adjusted, you're probably gonna test a smaller percentage of the PRs for your admin dashboard than you are for your main financial production flow.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. That's that's amazing. I I love that. It's interesting. You kinda bring up sort of like, oh, when this stops working, you know, you have this, like, graceful degradation, process.\u003C\u002Fp>\u003Cp>I my first thought is, you know, you don't know what you don't know. And you have these sort of non engineers building out systems, and the system might work. But if they don't know to prompt in, you know, hey, let's let's make sure that we have this, you know, progressive enhancement, graceful degradation, then that just won't be included there, which is which is interesting to think of. Like, the creator of, you know, the software still needs to be architecturally aware of, you know, software engine, design and architecture.\u003C\u002Fp>\u003Cp>Speaker 1: Two possible wonders I've seen for that. One model which I think is is good for now, which is I think we're going to see, you know, the two pizza team is not always going to be six to eight people now. I think you're gonna find triads in groups of four being able to get a lot of move a very long way and very fast when you have teams of twenty, fifty, 60 agents working with them. But there's going to be a combination of product and engineering skills. Somebody needs to know what we're building and why.\u003C\u002Fp>\u003Cp>Somebody needs to be thoughtful about, wait a second, latency, queuing, retime, split brain problems, all this stuff we deal with with large distributed systems. Those awarenesses need to exist. And then you might have some design skills or some data skills depending upon where the group is in your org and what it's trying to do. So I think in the early days, you make sure there's an engineer in the room before something you care about goes to production. I think, eventually, if you build a sufficiently rich software factory, you build those architectural concepts into the review process.\u003C\u002Fp>\u003Cp>Whether we get there and how close we get there, I don't know. So for now, I'm gonna keep a staff plus engineer having to look over the code just to be sure.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. How and how quickly we get there. Exactly. Holger, I'm I'm really curious to hear your sort of, like, take on this. You know?\u003C\u002Fp>\u003Cp>Obviously, Peter mentioned a lot of things that do get sort of these pilots up into production. But, you know, our platform direct us, for instance, you know, we power, you know, mission critical software where we're pumping out, you know, bandwidth at, like, nine nine thousand pizzas per second, you know, for for certain customers or whatever applications they might be, building. And it's funny to me thinking of, like, that that is, like, production grade, like, at scale. You can't just one shot, you know, or Vibe code your way to that. Like, there's there's a process.\u003C\u002Fp>\u003Cp>So I'm curious, you know, when you take sort of that equivalent at, you know, HelloFresh, like, what are you what are you doing? What do you layer on top to make sure, that your applications, you know, if you're if you're building in that way, you know, through AI, that it can handle that.\u003C\u002Fp>\u003Cp>Speaker 2: Yeah. That's a fantastic question. I think we, so so some some of the stuff, you mentioned, we do have to be one of the things, like, with the higher throughput, right, of of agentic AI or just, you know, teams speeding up. We see more, pull request reviews coming up with a new problem. Right?\u003C\u002Fp>\u003Cp>So so we need to find more, ways of, I think it's a really good idea, right, to kind of, find another abstraction level, basically, to look at, you know, risk management and and reviews and and and in a sense. Right? So that's quite interesting. So I think there we need to invest more. Right?\u003C\u002Fp>\u003Cp>This is something we need to do. What we have been doing is we have brought a few things to production, like AI products to production, which is kind of interesting. So we've been, maybe the most obvious case. We did go first as well. This is like customer care and having chatbots right there and experimenting there, a lot.\u003C\u002Fp>\u003Cp>And there, it's it's really it was we were kind of mid mid class last year or so. Right? So we were learning how to do this as we go. Right? And then managing, basically, the technology was not so much of the problem.\u003C\u002Fp>\u003Cp>It's more like managing the, really the the quality of it. Right? So all the different ways of of of how how a conversation with a human, the one deterministic, entity, right, can go, is, is, you know, not to underestimate. Right? And there's a lot of things that can go go wrong and how to how to design communication, the getting the intent right, and and keeping it safe, right, and and correct, is an is an ongoing task.\u003C\u002Fp>\u003Cp>And we, as we invested into, you know, the teams, that build up this messaging and then as well, the the automatic test. We experiment with AI as judged. Right? So, basically, having LLMs checking those those those flows as well. I think this this is very, very promising.\u003C\u002Fp>\u003Cp>Right? So this is one pattern that we see more is that you'll introduce, AI, maybe even different models, either for pull request reviews, having iterations on them, basically watching the manual testing themselves. Right? Like, having an eye look at, at how how it looks like and then doing pull requests by themselves. This actually works pretty, pretty well and has a very has a very high showed very high impact.\u003C\u002Fp>\u003Cp>So these are a few examples of where I can see. Right? So I think my my main concern right now is really getting the the the review part out of the way and and and on the other side, getting more, I don't know, engaging more UX and so on to create more experiments. So that's the other thing. I would like to have more, more variants basically tested earlier with the idea of having just already a more winning variant, basically, created into production, have higher higher signal, higher, success with more expensive AB testing in production.\u003C\u002Fp>\u003Cp>But why not having, like, 10 we we see this already, but I think we can do more 10 variations, test the prototypes, high high fidelity, bring it into the building, having tested before or with synthetic audiences. Right? Checking out quantitative analysis even on on scale if a business model works with a new hypothesis. So these are the things we're currently on and want to invest more into. So to get it on the front.\u003C\u002Fp>\u003Cp>Right? So getting better better signals earlier in the process, having the winning variance going to production faster and solving the PR revenue bottleneck problem. There are a few topics that we're currently working on. And then a few other things about personalization, improving the models, and as well creation from automatic creation of videos and and images, and we're creating a lot of, like, meals. And we have some AI support tooling that helps menu chefs, right, the creators of recipes to improve the process of getting this from idea to production, significantly faster than before.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Yeah. Well, it it that's I I love that. How how big is your org, Holger?\u003C\u002Fp>\u003Cp>Speaker 2: So my org is about 300, people right now. The overall HelloTech org. So how this is how we call this either, combination of all, like, tech technical staff, if you want, is, is about 1,000 people.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. And I I it's interesting. Like, all this only happens if we actually you know, the governance, you know, getting to production, you still have to have the people to make this happen. You know, going back to early, like, we can't just make the agents have the other agents work. Like, there's still human in a loop as Peter keeps putting it.\u003C\u002Fp>\u003Cp>It. You know, we think of, you know, Jack Dorsey and and kinda what happened over at Square. Like, switching to, like, the people side of this, you know, with an org of that size, like, how do you actually get the workforce to adopt, to use, to, you know, to actually have this happen in the first place. You know? Is I'm I'm assuming there's a fear piece.\u003C\u002Fp>\u003Cp>You know, we've talked a little bit about, I think, Peter, you had mentioned sort of building your for the future AI overlords. You know? There's a perception, I think, across some people that, like, oh, am I just digging my own grave and sort of, like, going out and and sort of building these these systems? But, you know, we have to lean in. You know, we can't just ignore it.\u003C\u002Fp>\u003Cp>So, you know, Holger, within your org, like, how does that work? Like, how do you make that happen?\u003C\u002Fp>\u003Cp>Speaker 2: Yeah. So I like to to frame it in a way that, I think HelloFresh is a really great way to experiment with this, learn this, apply it on scale, and just make yourself, stay relevant if you want. Right? And and be on on on top of the game there. Right?\u003C\u002Fp>\u003Cp>So we we really try we we try to make this work. We support people. We support the teams. And that's kind of the positive way of framing it on if you wanna play it a bit differently. If you don't do this, right, the gap between, what the what the what the industry demands or what where the where the top level is and and everybody else, it's getting bigger very fast.\u003C\u002Fp>\u003Cp>Right? So you you you risk of falling behind in a sense, and that's not limited to engineering at all at all. Right? It's like every function and software engineering in and around it at least is, has the same kind of, opportunities and and challenges in a sense. But I don't, like, underestimate the, those factors.\u003C\u002Fp>\u003Cp>They are they are real. Right? So and I think there's a system of incentivizing, helping people, making it, you know, as we talked about it, easy to figure to try out things. Right? But then as well, set up clear expectations, right, that, that we expect every team to onboard into the new process and to to adopt to this agentic AI, for instance, use cases or to to have more variance in production now that we can do it, right, fairly easily.\u003C\u002Fp>\u003Cp>So there will be, the expectations grow steadily as well, to keep up with this. So that's the both of the side. Right? Enabling people, but as well-being very clear about expectations.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Oh, 100%. And it did like, Deloitte's latest report, I think, said something like only 20% of companies of orgs, actually, their their teams are actually ready, and prepared for AI. So, you know, getting that number up, hopefully, HelloFresh, you know, is in that 20%. But, but we're come we're coming up on time here.\u003C\u002Fp>\u003Cp>So I wanna kind of at least be a little bit more forward looking, with with sort of wrapping up here in terms of what's next. Peter, maybe I'll send it over to you. If you're looking out the next, like, say, one, one and a half years, like, where do you think the most change is gonna happen within AI? With an enterprise AI? I I think you go anything beyond that.\u003C\u002Fp>\u003Cp>I mean, even if you go out six months, the question mark start piling up so high. But if you were just kinda, you know, behind the sky, where do you think things are are heading?\u003C\u002Fp>\u003Cp>Speaker 1: Within the engineering org, I think it's pretty straight this will be I'm not gonna put a timeline on it. I've got a very good friend, senior CTO. He's like, you can make whatever prognostications prognostications, but don't put a timeline on it. You you'll thank me later. And I I think he's right.\u003C\u002Fp>\u003Cp>I have no idea. It will be much faster at smaller companies in greenfield environments, in places where you happen to have, an engineer that's just super passionate about this and pulls the team forward. It should happen more quickly in SaaS companies and in companies that are potentially have an existential threat from AI. As I said, you're on a chain of gyms, maybe it doesn't matter. So there's going to be uneven, speed of change, but I think, eventually, we're going to see a flattening.\u003C\u002Fp>\u003Cp>What the year of efficiency continues to resonate many years after. You could imagine a world where you have triads or maybe teams of three to four doing something similar to what a two pizza team does now so you can split them out and have more of them capturing more initiatives. I I think it's possible you might have five to 15 of those reporting straight up to a senior director or a VP where you have a team lead in each. I think we're gonna continue to see the collapsing of that, and I think the VP is gonna be spending a lot of time on the keyboard reviewing detailed specifications, verifications, harness improvements, as well as research and product elements. So I think we're going to see leaner engineering orgs.\u003C\u002Fp>\u003Cp>The good news is we need a 100 x the software, and, I think there are lots of opportunities for anybody who is passionate about either. And I think we need to be happy with this. Right now, we're all excited about AI engineers. And for me, that's basically harness engineers, people who are thinking about prompts and verifications and steps and gates. We need 8% of those.\u003C\u002Fp>\u003Cp>That's our platform or DevX team. Everyone else is going to become a product engineer who gets better at proposing experiments, writing specifications, and creating rich verifications while also being thoughtful architecturally. And I think those are the two roles that are gonna continue to grow and be incredibly impactful in the future.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Oh, I love that. Slightly different lens, hold on. I wanna hear sort of your your sort of take on where things are heading. But, on the enterprise, something that's very sort of near and dear to my, my heart, my job is sort of the commodification of the front end.\u003C\u002Fp>\u003Cp>Like, we're we're seeing that happen actively with the AI app builders. The value of software that's being built, where where does that value shift? As as the front end, as the facade becomes commoditized and and everybody can build that, where does it shift? I mean, down the stack to, you know, all the way back to the database or somewhere in between. Where do you feel, that's that's heading over the next year or so?\u003C\u002Fp>\u003Cp>Speaker 2: Yeah. It's a it's a it's a very good question. So basically, it's, I I still think, a a creativity and and being able to create a mode, the connection to your customers, building up this relationship is probably more important than ever. So you can be if you double speed on the wrong side of the highway, right, it it will not help you necessarily. So, so and I think that the the productivity gains that we have, that we're seeing now and that are super exciting, they will become a commodity at some point.\u003C\u002Fp>\u003Cp>I'm not putting a timeline on it either. But, you know, you you will have your great engineering teams, and product engineering teams. They will they will work on a completely different level. You still need to figure out what really works for a customer. And now the levels the field is, we're closer.\u003C\u002Fp>\u003Cp>Right? So I cannot rely on, say, a company like HelloFresh being faster, to production with some features than a small start up. So I need to be really, really smart about this. Right? I need to be have the most creative people writing the best specs.\u003C\u002Fp>\u003Cp>Right? So and, we have a lot of customers. We have a lot of customer relationship that is that is super valuable. That is not easy to copy, right, even with AI. So building on top of this and making sure that it stays this way and we stay on top of the innovation, that is what, I think, what still matters the most.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. I mean, bring it back to the people, you know, the as a designer, you know, focusing on the creative. You know, you can always it's really exciting right now because AI is able to take, you know, this massive context and, like, pipe it in and make everybody creative, make everyone a developer. But at the end of the day, you know, you have to be able to break outside of, like, what's already there and sort of just rearranging those things. So I love hearing the answer kind of always coming back to the human, to the core of, you know, creativity and, you know, even going back to earlier.\u003C\u002Fp>\u003Cp>You know, you can throw the the kill switch in there. You can do all the right things and still, AI will kinda find its way to work around it. So, it's really important to have people that understand the the proper architecture of of what we're building and and why those things are important. So, hopefully, we don't stray too far from from those first principles. Holger, Peter, it was really, really exciting, getting to just chat through, you know, and the enterprise with both of you.\u003C\u002Fp>\u003Cp>You know, hopefully, we'll get to chat again soon, maybe again on a bridging bites episode. But for now, anything that you guys wanted to sign off with before we wrap this episode up?\u003C\u002Fp>\u003Cp>Speaker 2: No. Just thanks a lot for for for having me. And, yeah. It was a pleasure talking to you. And, it's just exciting times, I must say.\u003C\u002Fp>\u003Cp>Speaker 1: Likewise, Ben. Thank you so much for the invite, Holger. It was wonderful to hear your insights. So much fun and great conversations. Lots for all of us to learn.\u003C\u002Fp>\u003Cp>Speaker 0: Awesome. Yeah. Well, absolutely. Thank you both for being here, and we'll see everybody, soon on the next episode. Alright.\u003C\u002Fp>\u003Cp>Thanks, guys.\u003C\u002Fp>","Excellent. Today, we have another episode of Bridging Bytes. It's been a minute, since we did our last one, but I'm extremely excited, to have two folks here to run through some exciting, topics around AI in the enterprise. So today, I'm joined with, with Holger Hammel, who joins us from HelloFresh. I actually think the intro came from Emma, our VP of marketing, from your time at Ivan. But, really excited to have you here, Holger. And then also Peter Bell, CTO, founder, head, of AI over at Gather dot dev. And I think you're actually a little bit closer, Peter. You're in Absolutely. In New York, in the city? New York City. Just north of the city in Westchester. Nice. And, Holger, you're you're over in Berlin. Right? Yeah. Correct. Yeah. We have slightly different time zones and, and lighting probably in the background. But, Holger, do you wanna give a quick intro in terms of, like, what you're doing over there at HelloFresh? Yeah. I like to. So first, thanks a lot for having me. It's a super interesting topic, of course. And so I'm VP engineering at HelloFresh. I'm leading there the consumer alliance. So it's, like, about three hundred three hundred engineers across different tribes and squads, and we're covering the, client side applications, right, the web and the app page, and first layer of back end, aggregation layer, and data science, data engineering a little bit, and customer care. And, basically, you know HelloFresh. Right? We have, we have, the meal kits in, The US and in European countries, 18 countries overall. And we deliver fresh meals to everybody at home, and we have as well ready to eat meals. And it's a it's an interesting, setup where we have, physical products delivered to to customers, right, really, like, food products with their own kind of challenges in a sense, right, how to do this. And then we have the digital product on top, that we work on. And my key part here is to really, solve for personalization, right, to really create a digital experience that brings the best customer experience. And, and as well, and of course, the topic for today is, like, how to make this very effectively, and kind of make best use of AI internally for engineering departments, but as well of of introducing it into our products, to, for Love that. Very, very relevant. It's always good to hear, you know, anything on the hardware or the physical side, with what you're doing at HelloFresh. It's that that's the moat these days, in terms of, in terms of AI, and everything that that it's it's gobbling up. Thank you, Holger. Peter, could you maybe tell us a little bit about Gather Dev, and what and everything else that you're you're doing on your side? Absolutely. I was an IC, wrote software for many years, then I became an engineering leader, CTO of a bunch of startups. I ran engineering at general assembly, built teams up to about 50, so fairly small scale. These days, I'm doing two things. I am writing the book, Scaling AI Adoption and Engineering. Basically, AI for CTOs. And it sure. We're gonna cover software factories and verifications and all the tech, but the hard part is how do you manage stakeholder expectations? How do you do the change management? How do you teach people when the curriculum changes every three days? Like, how do you do that at scale? And so we have these niche in person and online communities for founding CTOs. You're like an individual contributor or a team lead. You got a team of less than 10. Startup CTOs venture back to a scaling from 10 to about a 100, like, how do I hire my first DMs, and how do I do performance management, and how do I create a consistent hiring, process, things like that. And then VPs and CTOs at scale who are running also, like, a 100 up to a couple thousand where it's generally good news is you have the systems in place. Bad news is they are now what is stopping you from getting the work done, that and the people. And so I spend a lot of time talking with engineering leaders about how do you scale adoption, not only what are the good technical practices, but how do you actually do the change management, which will be the hard part. Love that. Yeah. I mean, that is super relevant for some of the questions we'll get into today. I I, you know, built teams to 50 sounds small maybe, but, that's still where we are, and that's our whole team, over here at Directus. But, and I think you also do CTO hour, right, part of O'Reilly's Yep. So couple of the things I'll do is I do a quarterly CTO hour for O'Reilly. The most recent one, I got to interview Camille Fournier, the author of Manager's Path, and Ali Adasan, who's the CTO at Dropbox. It was a lot of fun. And then twice a year, I get to, go to KubeCon, the Kubernetes conference. And for CNCF, I get to facilitate the executive summit along with Kelsey Hightower. So that's always a blast. I love that. Is it KubeCon or KubeCon? Because it seems like Kubernetes, it'd be KubeCon. Yeah. You know what? I don't even know how to pronounce it, but with my accent, people always think I'm saying Q con, which is great, but a whole other thing. I I was at QCon AI recently presented something there, but so I I just try to make it clear, which one I'm talking about because my my computer always gets it wrong for sure when I'm dictating. Yeah. Well, say it with confidence, and I guess it doesn't matter too much. So let's kick it off. I think sort of like just table stakes, you know, setting the foundation here. In terms of day to day AI, Holger, maybe you can kick this one off, with your thoughts. Where where is your organization today with AI? Like, what does it actually look like for your employees, for your teams? You know, how's how's that actually operate? Yes. So I think we are in a crossroad. Right? In a we're in a in a in a in a situation where maybe some of the teams are as well, but, we are, very good, I think, already in adoption of AI on an individual level. So we have all engineers, most of, you know, using some form of AI. We have everybody using some form of AI to kind of improve the documentation, their workflows, and so on. What we recently, what we started, beginning of, the year or a little bit before as introducing our framework for the whole product development life cycle. And that's the interesting part. That's where we wanna go to, right, is, really understanding how we solve for not just cycle time, like, making one engineer faster, but, like, getting the flow for the whole squad to a complete new level. Right? It doesn't really make only sense to have one engineer being four times faster. Right? Not bad, but it's not enough. Right? And I think we're in the middle of we we as organization understood this. We are in the middle of transforming this. I really look at this as an AI transformation. We had DevOps transformation. We have AI transformation. Now we are in the in all of that on steroids, right, which is the AI transformation, and really trying to understand the cultural, the technical, aspects of this is something we're in the middle of right now. And it's something. Right? So you see engineers having, like, tons of agents running. You have designers creating pull requests. All of this is happening. Right? Just really bringing it together and super effective, on scale is where we are at and trying to solve for. Yeah. Is there is there a specific team or department that was know, doing something different than you expected in terms of, you know, that day to day? You know, may either moving faster, maybe they're moving slower, or just kind of a different different vibe altogether? I think it was what what was striking was that we have a few, like, smaller businesses that, basically, we have, like, HelloFresh and and Factor, the established big businesses, if you want. And then we have smaller, separately managed, startups, kind of. Right? So GoodJob and Pets Table. And they are organized a bit more lean in a sense. Right? They kind of kept the startup vibe, and they you saw picking up. They saw we saw them picking up very fast. Right? Because it's just out of pure necessity in a sense. Right? So resources are scarce. So to get anything done, right, and they couldn't ask for, like, five more engineers, and they had to solve it. And they start solving it with AI, and they went very fast. Right? And they were the first one adopting it. And there was maybe less red band as well. Right? So they just, you know, did it. Right? And so they kind of act as the as the template or as the as the as the leaders down. Right? And where we got the inspire the whole organization are inspired by that speed and the that results. Yeah. I mean, that's a huge network effect to be able to inspire other teams, you know, by seeing how fast that you can move and, like, maybe be more efficient. Obviously, that startup mentality is huge right now. We're seeing a lot of, you know, constriction across headcount in different orgs, you know, huge orgs that are saying like, oh, we can not just do things more efficiently, but, let's kind of adopt this more agile, you know, startup way of thinking. I think that's good across the board, you know, and, of course, sort of, sped up by by AI. And the interesting thought I was just want to mention is really is the the constraints. Right? So the the the constraints of limited resources and still an ambitious motivated team that wants to run this, this was a key cut cut cultural aspect. Right? Because if you then have a big organization, very distributed, decentralized, like everybody does their part, this might not be there. Right? And so thinking about how to create this urgency, is a big part of that transformation, I feel. Yeah. Yeah. I mean, the only you have these, like, enormous organizations, and it's almost like you you can only shrink the overall headcount so much. Like, how do you actually get that startup speed when you have hundreds, thousands, tens of thousands plus of, employees? And I think, you you know, that sort of had you eat an elephant, you know, one bite at a time. If you kind of break up your teams and kind of make them very autonomous and give them that that skill individually, they can operate like many different, smaller agencies or smaller smaller, startups within a larger org. That's I love that. Peter, similar question to you. I guess, you know, what what does that AI look like day to day for you? And maybe more specifically, like, how has that changed, you know, over the past year or so? So for me personally, it's a very different thing. As an individual, I'm a solopreneur, and it's great. I have a team of eight named agents running twenty four seven. I built my own little orchestrator. I'm creating my own custom memory system, which, puts skills. It puts, prompts and agents into a GitHub repo, and some high value shared informally structured context also goes there. Everything else goes into a Postgres database, which allows me to have things like I can have agents doing message passing through the database so that I can have multiple agents collaborating without having to go through a pull push cycle that I would have to if all of my tickets or work to be done was in some kind of Git based system. So personally, it's great. I'm just starting to dig into software generation. I'm looking to spin up in the next two weeks my own clone of monday.com so that I can basically have an interface for playbooks for running the business and projects for either running experiments, building new playbooks, or incrementally improving playbooks. And the idea is deterministic workflows with small model and human of the loop steps. So that way I can firstly reduce the cost latency of the models by the like, I just need a simple classifier. I don't need to be running Opus four six to do that. And then on the other side, for the human in the loop steps, every single interaction is captured in a fresh session. So we keep them in the smart zone, very small percentage of context used, and it means that then I run a compounding loop so that every night, every agent reviews what it did and updates its own instructions and skills in a way that it would be able to do it a little better the next day. And I'm already this system I'm building, I I started two weeks ago, and it's already running the entire business. And now I'm digging into software factories and the verification and looking at the Dan Shapiro, looking at what OpenAI did internally, looking at what Harper Reid is talking about about building rich software factories. When I see people who are blessed and cursed with 200 or 500 or 2,000 engineers, it's a slightly different story. The first thing I see is that, the widespread thing we're still seeing is augmented rather than agentic development, cursor in IDE mode or Copilot. It's fine. And if you wanna be 30% quicker doing 10% of your job, which is actually writing the code, you're gonna get some incremental improvement there. I think the next step to go is agentic. So maybe you've got six or eight small agents doing that you trust to write code or review code. That's fine too, and that you know, maybe you can be one and a half, two x as fast depending upon the code base, how well you prompt it, how much context you provide it. It starts to get interesting then you need to compound. I see people saying, oh, you know, like, I keep trying to do this, and it creates bad code. I'm like, have you told it what good looks like? Have you told it to remember what good looks like? And then if there's too much context where you're blowing the entire context window with all the rules, have you decomposed it so that you have one agent writing the code, one reviewing it? Maybe you have one reviewer that's looking for cyclomatic complexity, quality of naming, and architecture, and another one that's looking for security because you don't want one agent to have to solve for seven different dimensions in a single pass. It starts to get dumb. And once you so that then becomes interesting both on an individual level, even I'm getting compounding out of my small, agentic army. But once you start to do interesting things, you generally have a DevEx or platform team that owns the repo with the skills, agents, and prompts, and the key context, what you then do is you have this mechanism where other people within the org can fork that, tweak it, try to make it better, and then if, say, three people in the org give it a thumbs up, you then say, okay. This now gets owned by the head of AI, the platform team, the DevX team, and then you can share good practices across the organization without a priority knowing what the good practices are gonna be. Because Hochul is absolutely right. This is exactly the same as a cloud migration. You don't just give people a book on Kubernetes and say, are we there yet? Right? You actually want to have a program manager, and you want to have dashboards, and you want to have KPIs, and you want to have lunch and learns, and you want to have training sessions and Slack channels. You want to elevate people in your in your all hands. But at the same time, while you're doing all of that stuff, the curriculum changes every day, so you actually need to have a bottom up mechanism to get the best ideas from whenever they come. The one other thing I would say is, create a little bit of space for solo players. You can run way faster with this stuff solo. And if you have a small number of fire breathers, especially if they're building something that's not it's not the main way you charge all your customers. Right? This is the admin dashboard or this is the internal dev tooling where it goes down for an hour. It's not the worst thing. Those people will learn the practices that can then broadly be shared to the majority of your team. There's three buckets, and I promise to stop talking. The first bucket is the people who can't wait to do this more. They play with Steve Yegi's Gastown on the weekend. They are killing it. They're like, if I don't have 60 agents running, if I'm not blowing through 12 max plans at $200 each, personally, I'm not doing it right. Then there's the vast then there's some people who are honestly like, this is destroying the planet. This is destroying my job. This is miserable. I shall never do this. AI doesn't know how to write code as well as I do because I'm a Java developer. And they're gonna have a hard time. Hopefully, they will get AI infected like we got test infected for TDD. And the vast majority of people are somewhere in the middle saying, dude, I would do this, but you're telling me to read 50 blogs. Don't I have, like, features to shit? Tell me how to do it, and I'll give it a shot. Yeah. And you need to figure out how you deal with each one of those populations. Yeah. No. And that's that's huge. And it's interesting, you know, hearing about, you know, minimum spend, like, you know, on on AI. Like, is that a motivator? You know, you just kinda say, like, you're not spending enough. It's also interesting, you know, hearing the comparison of, like, a small team, a big org down to small teams or solopreneur. You know, at the end of the day, you can ramp up the the minions as it were, and get the the team that you need quickly. But you mentioned sort of like piping your data into a database, you know, into Postgres. Like, whether that's you doing that with with the minions or it's a bunch of teams, I think that kind of bridges into the next the next topic pretty well, which is either way, we're connecting data up to these these services, up to the tools that we're building, whether it's internal and maybe, like you said, it goes down for a second, Peter, and maybe that's not the end of the world. You know, maybe it is, depending on the usage. But in terms of governance, like, how how do we find that balance? Holger, I'm gonna throw this back over to you. When we think about people moving fast, you know, getting that agility, we want people building things and experimenting, optimizing their workflows. How do you think about guardrails? Because, obviously, you know, people are just kind of out there, you know, building, but, you know, data is is crucial. Data is the backbone of all of this. And if that gets leaked, if that, you know, isn't know, given given the proper RBAC or permissions, in these quick systems that are being built, you know, how do you how do you speak to that across your org? That's a very interesting question. And there's probably no final answer, but I think one, of course, we we have a high responsibility for for the data of our customers and our employees, and that's not gonna be sacrificed or, like, a change. Right? So we need central governance for for data, and we have it. So it's basically centralized through the existing teams that we have, like security or data privacy teams, reliability teams, ops teams. And we have a central centralized Gen AI team, basically, infrastructure team that kind of, is owning owning those things. Having said this, traditionally, you have guard rates around cost or maybe, I don't know, who can who can access to this. And and this, we we deliberately said we wanna, while protecting all the all the, PII data and relevant data very clearly, we want to open up basically everything else and and make people just try it out. Like, remove every red tape that we can. Right? And I think, you know, we were not looking at, should we have Corsa and Cloud Code and Gemini and whatnot. Right? We just take it all, cut it out, and see what sticks. Right? And if there's a new kid on the blog, we probably take this on as well and then see later, how we decommission it. It's just more important to get people excited, to get people working, and then, there will be a time for consolidation. And, you know, it's it's kind of ongoing. It's ready. We know more about, like, how how to manage context, you know, how to have a memory that is not, tool dependent and agnostic and stuff like that. So that helps. But I think that's the key part here. Right? It's removing red tape where we can while, while protecting the the data that we have to. Yeah. I mean and there's also I mean, shadow IT, obviously, and now we have, you know, shadow AI. Is that an issue for you? Like, people just bypassing, like, you know, the the research shows that, you know, when leadership is actually shaping all of this, AI governance, you're getting better value for your company. But you're still gonna have your ICs, your, you know, pretty much anybody go out and say, I'm gonna use my personal account, my personal service. You know, is what is your solution to that? You know, is that that that's, like, sort of a sidecar risk. You know, do you just lock that down? You just make it easier to use the approved, like, internal services? Or, you know, how do you avoid that sort of issue where people are using things that just aren't even approved and they're just kinda going rogue for better or worse? Yeah. So the honest answer is you cannot fully fully, kind of mitigate this, I would say. Right? And I think, I think we have a very compelling offer for people. Right? The you know, you have, you have, plans for for, for Copilot, for Gemini. There are. Right? So I think, if people now still choose to copy paste something in their own, Chativity, you cannot really, do much about it, I guess. But I think it's it's about training. Right? Kind of, we have a policy for for JNI. Right? We very early on had a had a policy and a got got guidelines, of course. Right? So that that people understand this. And I think especially if you're not in engineering, we want everybody to become a builder. Right? But not everybody in outside of engineering might have the context and might be security, sensitive also. So I think it's a big part of, like, training and making people aware of the risks and, what IP means, and, you know, what are the difference between private and enterprise accounts and stuff like that. So that is very, very important. But I think we tend to be more encouraging of using the tools than kind of limiting for now. Yeah. Well, Well, I would hope that everybody's being security sensitive. You know, that's that's obviously the name of the game. It it only takes one incident, one issue, and everything goes down quickly. Wonderful. Yeah. Peter, I guess, you know, different different sort of, route to, you know, think about this. But, you know, are you doing are you kind of baking that into your process and how you're thinking of you know, if if we're saving data into a database, are you just piping it straight in? Are you piping it straight out? Is there are there any sort of things that you're thinking of when you're you're building out these these systems? So one of the things I like is that, in many ways, I can build, an engineering infrastructure that feels like a a bigger company. And in fact, I need to. I find that the guidance, the onboarding, the design systems, the less decisions an agent is allowed to make, the more processing it can bring to those decisions, and the less likely is it it is to make random bad ones. I I was just chatting with a a few CTOs running larger teams at breakfast yesterday, and one of the common threads was how can we go more heavily into design systems, into standard patterns, into processes, into minimizing the number of decent technical decisions that need to be made so that the agents don't get don't don't have too too much space to keep getting it wrong. So I I think, managing the number of decisions for the agents, I think being very thoughtful about data, you need to think through I think we're gonna see a lot more about agentic roles and permissions. It turns out that if you just have a prompt that says never, never, never merge your work domain, It works almost all the time. If, however, you literally, I know somebody who has 50 agents and each one has their own GitHub account. And the nice thing is that you just put branch based permissions on main, and they are unable to merge it in until either a human or some other agent has done it. So I think you need to be very thoughtful. Don't assume that the agents will do what you say or even something reasonably close to what you say and have the guardrails. And I think it also comes back to all the classic good engineering practices. You know, you should decouple release from production by using feature flags so that you can canary rollout. You can load test things. You can roll things back. All of these are important. And I think to the biggest story is, like, whether it's shadow IT or, like, how you use this, I recommend picking a lane. If you think about it, technology adoption life cycle, crossing the chasm is like a 30 year old book, and it's still true. You can have innovators, early adopters, early late majority, and laggard. And, you know, that's okay. If you run a bunch of gyms, if you run grocery stores like physical plant, if you run ski resorts, maybe you can just wait till Microsoft figures it out and just tell everyone to go use Copilot. And in a year or two, you'll be a little bit faster. That's actually perfectly okay. You're gonna lose anybody who wants to work with AI, so it's gonna be a negative selection in terms of the team you get, but you're gonna keep most of the people who know how your systems work, and it'll keep them happy. And shadow IT is gonna be a problem for a while, but, honestly, all the people who wanna use shadow AI are gonna leave your company anyway. So it just is what it is. And then you can go to the other extreme. You can be like a Toby at Shopify. Right? You can be like, hey. Not only do I want to say we're AI first very early on, there was one time where he got the head of his, AI team to say, I want the 20 people using the most tokens. Promote them. Is that a good business decision where those tokens being used usefully? Doesn't matter. That is a cultural concept that that creates a sense of we want to be innovators. We want the people who wanna be innovators, and that's what we wanna attract. And if that costs, you know, 500 k in bonuses, it was totally worth it. So I think you need to figure out where you play on that. But then even if you're an f aider or early adopter, you still need education and enablement. Make it as easy as possible, like Holger said, for them to use. If you're just like, what do you mean we do AI? We have Copilot licenses, and you can request one. You're gonna get a lot of shadow AI and lose a lot of great people. Yeah. If you work hard but have reasonable red lines that explain why sending PII to service in China may not be in your customers or your business's best interest, That kinda makes sense. And providing you teach people what's going on and especially for the nontechnical folks in the org, that you give them an understanding of why the rules exist and good ways to be a good corporate citizen and still actually get stuff done. Yeah. Oh, absolutely. It's interesting thing. I've never even heard of, you know, just finding who's using the most tokens and promote them. Like, I can imagine people starting to use their agents just to run other agents just to ramp up the token spend. Over here, you know, building AI into our platform, it's all about, you know, how do we optimize this and get the tokens down. But I guess different different strokes for different folks. You had mentioned sort of nightly builds and sort of feature gating, you know, behind the flag. That's sort of kinda leads us into the next topic here, which is, you know, we we're seeing a million apps, you know, flood the market. We're seeing all these cool POCs and pilots and experimental, you know, things internal and external. Like, what what gets that into production? Like, what makes that a viable application or something that, you know, you kinda mentioned it works almost all the time, you know, and, you know, we're gonna wrap it in the secure prompt, like, never ever ever do this, and it still does it, you know, on occasion. That doesn't fly in production when you're dealing with mission critical systems, when you're, you know, really building for the customer, and externally. Beyond sort of, like, the the point that you mentioned, Peter, maybe you can kinda is there anything else that you think is is critical? Like, we talked on governance and sort of maybe permissions. But what else helps get you to that production scale and resilience? So there's a lot of things. A really good starting point is to remember we already have nondeterministic systems building software. They're called humans. There's just slightly different parameters when you deal with these new nondeterministic systems that are building software. It's it's an intern, and by the time you get to the end of the context window, it's an intern who's been on Adderall for two nights and is starting to forget stuff. So you have to be thoughtful about how you engage with your guardrails. My assumption that to take the extreme example is that my only job is to provide training for my future robot overlords. Do I believe that's true? Do I believe there's no rule for humanity? Hopefully not. But if I use that as an operating assumption, then there is no part of there's no time that I interact with an agent that I'm not doing it in a thoughtful way to improve their ability to give me a better outcome next time. So the first thing is you just rinse and repeat. You, like, you wanna build an entire software factory, right, where it goes from you just say the vision and it's in production with no human no required human gates between the two. All you do is you tell an agent to write some code, you tell it what was wrong, you make sure that it captures that context, and you tell it to go again. And you keep repeating that loop time and time and time again until you build more and more validators, adversarial reviews, and other elements that will reduce the likelihood. And you know what? I've taken that in production database in my life. Like, humans get it wrong too, but it's much less likely the more revs you do around that cycle to figure out what does good mean, what does bad mean, and how do we put, both tooling and and also just prompts. You've got the prompts, so you've got the tooling, you've got the context, but also you do need, I think, permissioning systems. You need to think about the blast radius. And then all the good stuff we've always been doing, observability, monitoring, alerting, I think there's great opportunities now for or self healing software is a fancy word for incident response where the LLM knows enough about the system to propose a a move forward. I think that's going to become mainstream. And, also, just stuff that we're doing fifteen years ago, game daying, resilience engineering. How can you make it so if your cart goes down, at least you can still see the products? If your payment provider goes down, it can still save your cart and send you an email once it goes up. Assume that stuff's going to break more and create more resilient systems with less moving pieces so that even when things go wrong, the blast radius is constrained. Yeah. One final thing I'd point is and the only other part is you can also we're not gonna review every line of code at some point that's going away. However, you can take a statistical process control approach to that, which is it's like ball bearings. You don't check everyone, but but if one of them is out of tolerance, you start checking them more frequently. And you do it risk adjusted, you're probably gonna test a smaller percentage of the PRs for your admin dashboard than you are for your main financial production flow. Yeah. That's that's amazing. I I love that. It's interesting. You kinda bring up sort of like, oh, when this stops working, you know, you have this, like, graceful degradation, process. I my first thought is, you know, you don't know what you don't know. And you have these sort of non engineers building out systems, and the system might work. But if they don't know to prompt in, you know, hey, let's let's make sure that we have this, you know, progressive enhancement, graceful degradation, then that just won't be included there, which is which is interesting to think of. Like, the creator of, you know, the software still needs to be architecturally aware of, you know, software engine, design and architecture. Two possible wonders I've seen for that. One model which I think is is good for now, which is I think we're going to see, you know, the two pizza team is not always going to be six to eight people now. I think you're gonna find triads in groups of four being able to get a lot of move a very long way and very fast when you have teams of twenty, fifty, 60 agents working with them. But there's going to be a combination of product and engineering skills. Somebody needs to know what we're building and why. Somebody needs to be thoughtful about, wait a second, latency, queuing, retime, split brain problems, all this stuff we deal with with large distributed systems. Those awarenesses need to exist. And then you might have some design skills or some data skills depending upon where the group is in your org and what it's trying to do. So I think in the early days, you make sure there's an engineer in the room before something you care about goes to production. I think, eventually, if you build a sufficiently rich software factory, you build those architectural concepts into the review process. Whether we get there and how close we get there, I don't know. So for now, I'm gonna keep a staff plus engineer having to look over the code just to be sure. Yeah. How and how quickly we get there. Exactly. Holger, I'm I'm really curious to hear your sort of, like, take on this. You know? Obviously, Peter mentioned a lot of things that do get sort of these pilots up into production. But, you know, our platform direct us, for instance, you know, we power, you know, mission critical software where we're pumping out, you know, bandwidth at, like, nine nine thousand pizzas per second, you know, for for certain customers or whatever applications they might be, building. And it's funny to me thinking of, like, that that is, like, production grade, like, at scale. You can't just one shot, you know, or Vibe code your way to that. Like, there's there's a process. So I'm curious, you know, when you take sort of that equivalent at, you know, HelloFresh, like, what are you what are you doing? What do you layer on top to make sure, that your applications, you know, if you're if you're building in that way, you know, through AI, that it can handle that. Yeah. That's a fantastic question. I think we, so so some some of the stuff, you mentioned, we do have to be one of the things, like, with the higher throughput, right, of of agentic AI or just, you know, teams speeding up. We see more, pull request reviews coming up with a new problem. Right? So so we need to find more, ways of, I think it's a really good idea, right, to kind of, find another abstraction level, basically, to look at, you know, risk management and and reviews and and and in a sense. Right? So that's quite interesting. So I think there we need to invest more. Right? This is something we need to do. What we have been doing is we have brought a few things to production, like AI products to production, which is kind of interesting. So we've been, maybe the most obvious case. We did go first as well. This is like customer care and having chatbots right there and experimenting there, a lot. And there, it's it's really it was we were kind of mid mid class last year or so. Right? So we were learning how to do this as we go. Right? And then managing, basically, the technology was not so much of the problem. It's more like managing the, really the the quality of it. Right? So all the different ways of of of how how a conversation with a human, the one deterministic, entity, right, can go, is, is, you know, not to underestimate. Right? And there's a lot of things that can go go wrong and how to how to design communication, the getting the intent right, and and keeping it safe, right, and and correct, is an is an ongoing task. And we, as we invested into, you know, the teams, that build up this messaging and then as well, the the automatic test. We experiment with AI as judged. Right? So, basically, having LLMs checking those those those flows as well. I think this this is very, very promising. Right? So this is one pattern that we see more is that you'll introduce, AI, maybe even different models, either for pull request reviews, having iterations on them, basically watching the manual testing themselves. Right? Like, having an eye look at, at how how it looks like and then doing pull requests by themselves. This actually works pretty, pretty well and has a very has a very high showed very high impact. So these are a few examples of where I can see. Right? So I think my my main concern right now is really getting the the the review part out of the way and and and on the other side, getting more, I don't know, engaging more UX and so on to create more experiments. So that's the other thing. I would like to have more, more variants basically tested earlier with the idea of having just already a more winning variant, basically, created into production, have higher higher signal, higher, success with more expensive AB testing in production. But why not having, like, 10 we we see this already, but I think we can do more 10 variations, test the prototypes, high high fidelity, bring it into the building, having tested before or with synthetic audiences. Right? Checking out quantitative analysis even on on scale if a business model works with a new hypothesis. So these are the things we're currently on and want to invest more into. So to get it on the front. Right? So getting better better signals earlier in the process, having the winning variance going to production faster and solving the PR revenue bottleneck problem. There are a few topics that we're currently working on. And then a few other things about personalization, improving the models, and as well creation from automatic creation of videos and and images, and we're creating a lot of, like, meals. And we have some AI support tooling that helps menu chefs, right, the creators of recipes to improve the process of getting this from idea to production, significantly faster than before. Yeah. Yeah. Well, it it that's I I love that. How how big is your org, Holger? So my org is about 300, people right now. The overall HelloTech org. So how this is how we call this either, combination of all, like, tech technical staff, if you want, is, is about 1,000 people. Yeah. And I I it's interesting. Like, all this only happens if we actually you know, the governance, you know, getting to production, you still have to have the people to make this happen. You know, going back to early, like, we can't just make the agents have the other agents work. Like, there's still human in a loop as Peter keeps putting it. It. You know, we think of, you know, Jack Dorsey and and kinda what happened over at Square. Like, switching to, like, the people side of this, you know, with an org of that size, like, how do you actually get the workforce to adopt, to use, to, you know, to actually have this happen in the first place. You know? Is I'm I'm assuming there's a fear piece. You know, we've talked a little bit about, I think, Peter, you had mentioned sort of building your for the future AI overlords. You know? There's a perception, I think, across some people that, like, oh, am I just digging my own grave and sort of, like, going out and and sort of building these these systems? But, you know, we have to lean in. You know, we can't just ignore it. So, you know, Holger, within your org, like, how does that work? Like, how do you make that happen? Yeah. So I like to to frame it in a way that, I think HelloFresh is a really great way to experiment with this, learn this, apply it on scale, and just make yourself, stay relevant if you want. Right? And and be on on on top of the game there. Right? So we we really try we we try to make this work. We support people. We support the teams. And that's kind of the positive way of framing it on if you wanna play it a bit differently. If you don't do this, right, the gap between, what the what the what the industry demands or what where the where the top level is and and everybody else, it's getting bigger very fast. Right? So you you you risk of falling behind in a sense, and that's not limited to engineering at all at all. Right? It's like every function and software engineering in and around it at least is, has the same kind of, opportunities and and challenges in a sense. But I don't, like, underestimate the, those factors. They are they are real. Right? So and I think there's a system of incentivizing, helping people, making it, you know, as we talked about it, easy to figure to try out things. Right? But then as well, set up clear expectations, right, that, that we expect every team to onboard into the new process and to to adopt to this agentic AI, for instance, use cases or to to have more variance in production now that we can do it, right, fairly easily. So there will be, the expectations grow steadily as well, to keep up with this. So that's the both of the side. Right? Enabling people, but as well-being very clear about expectations. Yeah. Oh, 100%. And it did like, Deloitte's latest report, I think, said something like only 20% of companies of orgs, actually, their their teams are actually ready, and prepared for AI. So, you know, getting that number up, hopefully, HelloFresh, you know, is in that 20%. But, but we're come we're coming up on time here. So I wanna kind of at least be a little bit more forward looking, with with sort of wrapping up here in terms of what's next. Peter, maybe I'll send it over to you. If you're looking out the next, like, say, one, one and a half years, like, where do you think the most change is gonna happen within AI? With an enterprise AI? I I think you go anything beyond that. I mean, even if you go out six months, the question mark start piling up so high. But if you were just kinda, you know, behind the sky, where do you think things are are heading? Within the engineering org, I think it's pretty straight this will be I'm not gonna put a timeline on it. I've got a very good friend, senior CTO. He's like, you can make whatever prognostications prognostications, but don't put a timeline on it. You you'll thank me later. And I I think he's right. I have no idea. It will be much faster at smaller companies in greenfield environments, in places where you happen to have, an engineer that's just super passionate about this and pulls the team forward. It should happen more quickly in SaaS companies and in companies that are potentially have an existential threat from AI. As I said, you're on a chain of gyms, maybe it doesn't matter. So there's going to be uneven, speed of change, but I think, eventually, we're going to see a flattening. What the year of efficiency continues to resonate many years after. You could imagine a world where you have triads or maybe teams of three to four doing something similar to what a two pizza team does now so you can split them out and have more of them capturing more initiatives. I I think it's possible you might have five to 15 of those reporting straight up to a senior director or a VP where you have a team lead in each. I think we're gonna continue to see the collapsing of that, and I think the VP is gonna be spending a lot of time on the keyboard reviewing detailed specifications, verifications, harness improvements, as well as research and product elements. So I think we're going to see leaner engineering orgs. The good news is we need a 100 x the software, and, I think there are lots of opportunities for anybody who is passionate about either. And I think we need to be happy with this. Right now, we're all excited about AI engineers. And for me, that's basically harness engineers, people who are thinking about prompts and verifications and steps and gates. We need 8% of those. That's our platform or DevX team. Everyone else is going to become a product engineer who gets better at proposing experiments, writing specifications, and creating rich verifications while also being thoughtful architecturally. And I think those are the two roles that are gonna continue to grow and be incredibly impactful in the future. Yeah. Oh, I love that. Slightly different lens, hold on. I wanna hear sort of your your sort of take on where things are heading. But, on the enterprise, something that's very sort of near and dear to my, my heart, my job is sort of the commodification of the front end. Like, we're we're seeing that happen actively with the AI app builders. The value of software that's being built, where where does that value shift? As as the front end, as the facade becomes commoditized and and everybody can build that, where does it shift? I mean, down the stack to, you know, all the way back to the database or somewhere in between. Where do you feel, that's that's heading over the next year or so? Yeah. It's a it's a it's a very good question. So basically, it's, I I still think, a a creativity and and being able to create a mode, the connection to your customers, building up this relationship is probably more important than ever. So you can be if you double speed on the wrong side of the highway, right, it it will not help you necessarily. So, so and I think that the the productivity gains that we have, that we're seeing now and that are super exciting, they will become a commodity at some point. I'm not putting a timeline on it either. But, you know, you you will have your great engineering teams, and product engineering teams. They will they will work on a completely different level. You still need to figure out what really works for a customer. And now the levels the field is, we're closer. Right? So I cannot rely on, say, a company like HelloFresh being faster, to production with some features than a small start up. So I need to be really, really smart about this. Right? I need to be have the most creative people writing the best specs. Right? So and, we have a lot of customers. We have a lot of customer relationship that is that is super valuable. That is not easy to copy, right, even with AI. So building on top of this and making sure that it stays this way and we stay on top of the innovation, that is what, I think, what still matters the most. Yeah. I mean, bring it back to the people, you know, the as a designer, you know, focusing on the creative. You know, you can always it's really exciting right now because AI is able to take, you know, this massive context and, like, pipe it in and make everybody creative, make everyone a developer. But at the end of the day, you know, you have to be able to break outside of, like, what's already there and sort of just rearranging those things. So I love hearing the answer kind of always coming back to the human, to the core of, you know, creativity and, you know, even going back to earlier. You know, you can throw the the kill switch in there. You can do all the right things and still, AI will kinda find its way to work around it. So, it's really important to have people that understand the the proper architecture of of what we're building and and why those things are important. So, hopefully, we don't stray too far from from those first principles. Holger, Peter, it was really, really exciting, getting to just chat through, you know, and the enterprise with both of you. You know, hopefully, we'll get to chat again soon, maybe again on a bridging bites episode. But for now, anything that you guys wanted to sign off with before we wrap this episode up? No. Just thanks a lot for for for having me. And, yeah. It was a pleasure talking to you. And, it's just exciting times, I must say. Likewise, Ben. Thank you so much for the invite, Holger. It was wonderful to hear your insights. So much fun and great conversations. Lots for all of us to learn. Awesome. Yeah. Well, absolutely. Thank you both for being here, and we'll see everybody, soon on the next episode. Alright. Thanks, guys.",[491,492,493],"d8526b3c-a789-4204-b7c8-ae43f353d0e2","5501ad58-a882-4675-a4ee-9be9901db2da","c8de2a57-26d9-4da7-8b01-f2bfdaecb2d6",[],{"id":16,"number":17,"show":4,"year":18,"episodes":496},[20,21,22,23,24,25,26,27],{"id":23,"slug":498,"vimeo_id":499,"description":500,"tile":501,"length":502,"resources":9,"people":9,"episode_number":17,"published":455,"title":503,"video_transcript_html":504,"video_transcript_text":505,"content":9,"seo":506,"status":13,"episode_people":507,"recommendations":510,"season":511},"from-zero-to-production","1176293308","Spin up a backend, connect a frontend, and deploy to production - all in one session. Featuring Railway.\n\n","14919273-9a84-4b2a-a651-20a11144d00d",38,"From Zero to Production","\u003Cp>Speaker 0: Hi, everyone, and welcome to Leap Week. My name is Lindsay, and I'm an engineer on the direct us team where I mostly work on integrations and developer experience. For day two of Leap Week, the theme is build it, run it, sell it. The idea is to show how quickly you can go from an idea to a real production application using modern tools. We'll be focusing on the first part of that story, build it.\u003C\u002Fp>\u003Cp>For this session, we're going to build a fictional AI automation agency. The idea is that this agency helps companies implement AI workflows for things like marketing, automation, research, sales outreach, and internal knowledge assistance. So by the end of the session, we'll have a working back end for this agency, generate a front end website for it, and deploy the whole thing live. But before we can build anything, we need somewhere to run our back end and infrastructure. I'm joined today by someone from the Railway team.\u003C\u002Fp>\u003Cp>I'll let them introduce themselves and tell us a little bit about Railway before we start building.\u003C\u002Fp>\u003Cp>Speaker 1: Awesome. So, thank you so much for having me. My name is Mohammed. I'm a general engineer at Railway. And at Railway is I would say in a nutshell, it's a all in one intelligent cloud provider.\u003C\u002Fp>\u003Cp>You can deploy pretty much anything, databases, back ends, front ends, queues, whatever. Like, you can just deploy it. You can just run it. And, yeah, essentially, we allow you to deploy anything, and we really focus on making it easy for you to go from zero to deploy it as easy as possible. Yeah.\u003C\u002Fp>\u003Cp>So excited about what we'll build today today.\u003C\u002Fp>\u003Cp>Speaker 0: Awesome. So the first step in getting any project off the ground is gonna be your infrastructure. And instead of spending hours setting up servers and databases, Railways gonna let us start from a working template. For this demo, we have a template we've already created. It's a pretty simple one.\u003C\u002Fp>\u003Cp>It's gonna have everything you need to get started. We do actually have another version as well that launches with CMS collections already started if you want a starting point. But for this, we are going to use our blank one. So I'll go ahead and launch that template here.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. So a little bit of context. Templates essentially encapsulate a set of infrastructure components, all the configuration. And here, we essentially have, like, a database set up, post press red as a bucket for object storage, as well as directives, which runs our back end. So, like, directives here would be, a server that we actually use.\u003C\u002Fp>\u003Cp>And now, like, everything here is neatly on the railway canvas. You can see everything grouped under, like, the directors group. And, essentially, like, here, you have a project, and a project is where you can have essentially everything deployed. So, like, in this example here, you have practice running. Maybe you will have, like, the front end, so that will be a separate service.\u003C\u002Fp>\u003Cp>And that's pretty much all we need to get started. So, like, all you need to do is you can sign up for free, and then you can go to the link to deploy the template. You click deploy now. You can either deploy to a new project or an existing project. If you choose, like, the path we're going through right now is deploying to a new project, this is the experience you'll get.\u003C\u002Fp>\u003Cp>And now you can see, actually, it's like we have the difference for versus, they're being deployed. So, like, Post JS, that's the database. And then we have Redis and as well, we have, DirectThis, which is also just cute. So, like, one thing after another will be deployed. So, like, in a, hopefully, a minute or two, everything should be ready, configured.\u003C\u002Fp>\u003Cp>You don't even need to, like, touch an editor, and it just works. So that's pretty much yeah. That's pretty much the overview for templates.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. So it looks like\u003C\u002Fp>\u003Cp>Speaker 1: Like, this is also deploying I see it's so this one is actually deploying from a Docker image, and this is the official one, for directors. I assume this is the latest version. Right?\u003C\u002Fp>\u003Cp>Speaker 0: Yep. This is our latest version.\u003C\u002Fp>\u003Cp>Speaker 1: Yep. We make sure\u003C\u002Fp>\u003Cp>Speaker 0: to keep this updated.\u003C\u002Fp>\u003Cp>Speaker 1: That's awesome. But, yeah, if, let's say, for example, you deploy and you want to get the latest version, of, let's say, Directus. If you actually go to settings, you'll be able to see the source image. There's like automatic updates. You'll actually be able to see if there's an automatic update.\u003C\u002Fp>\u003Cp>You just click apply. You deploy it. It just works if you want like the latest version. So it should be very easy to set up, but so far we can now we see, we have the database ready. Red is ready.\u003C\u002Fp>\u003Cp>The bucket is created, and now the last component direct list is being deployed, which hopefully should be ready Yep. Very soon. And we're live.\u003C\u002Fp>\u003Cp>Speaker 0: We'll click that. So in just a couple minutes, we've gone from nothing to a running back end with a database, API, and admin interface. So as part of our setup process, we'll create our first admin user here. Give it a password.\u003C\u002Fp>\u003Cp>Speaker 1: So I assume this happens as the first initial step. Is this correct?\u003C\u002Fp>\u003Cp>Speaker 0: Yes. Yep. Okay. When you first set up, it'll ask you to create your admin user. And here we go.\u003C\u002Fp>\u003Cp>We're in our, UI here. And to get started, we are gonna do a little bit of, setup for our AI assistant because we are going to be using AI to create most of this. So Directus has a built in AI assistant that can help you. It can generate schema content, and it has knowledge of what's going on in your instance. So if you go into settings here, we'll give it a key.\u003C\u002Fp>\u003Cp>Oops. Let me grab my key.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. I think you just said\u003C\u002Fp>\u003Cp>Speaker 0: One password. Gotta have that security.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah.\u003C\u002Fp>\u003Cp>Speaker 0: Alright. And then we are also going to set up our MCP for later because we'll be using that when we do our front end.\u003C\u002Fp>\u003Cp>Speaker 1: So here, this is, like, the Directus MCP or, like, this is an MCP server for our deployed direct the Directus instance?\u003C\u002Fp>\u003Cp>Speaker 0: Yes. It is. Yep. So our cursor, which we'll use to do the front end, will be able to access all of our data here. And it'll depend on the permissions we give it, what it will be able to do.\u003C\u002Fp>\u003Cp>But we also have this in app AI assistant here. So we're gonna use that to generate our schema. So I already have some\u003C\u002Fp>\u003Cp>Speaker 1: So quick question. For someone who's not a 100 to 100% familiar, let's say, with all of the features, essentially, what we're doing is now we have a like, our complete back end deployed running. And part of this back end, you can actually expose an MTP server, and then I can connect to this MTP server via call code, code x cursor, whatever coding agent of my choice, and then just tell it to do stuff for me. That'll be reflected in my live deployed instance, and now it's just that's it.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Yeah. We'll see that a little bit later, but we're gonna do something similar here. We also have our AI assistant that's in the UI here, and we are gonna use that to build our back end, our collections, our schema. So right now, we have no collections created.\u003C\u002Fp>\u003Cp>We don't have any data tables, basically. So I'm gonna go ahead and prompt it with a prompt that I created earlier, and it's going to create the structure of our back end.\u003C\u002Fp>\u003Cp>Speaker 1: And the idea is, like, a collection would be, like, an object, right, for something.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. So it's gonna be, like, your data tables. So it'll have, like, an overlying day data table where we'll have one called site settings, and that's gonna be the settings for the website. We'll have one for case studies.\u003C\u002Fp>\u003Cp>Speaker 1: Mhmm.\u003C\u002Fp>\u003Cp>Speaker 0: That's gonna have case studies for our AI agency. Actually, I can show you the prompt here a little closer. So we've we're creating our collections, and we're giving it different fields. So we're giving it, like, a tagline, a headline. We're gonna give it different services that this AI agency does, give it some fields there, and we're gonna create playbooks and case studies out of those, so things you might need in an AI agency marketing website.\u003C\u002Fp>\u003Cp>And the AI on our end is going to do that work for us. So we've told it in our prompt what we want. We didn't really tell it what type of fields they need to be, if they're strings or numbs or any of that. It'll infer that if we want. And, actually, one nice thing is if you don't know what schema you want, you can talk it through with the AI assistant.\u003C\u002Fp>\u003Cp>It can give you suggestions of things that you might wanna add for a data table. So it's gonna ask questions too back to the user. So it's saying it's ready to create these, and it's saying, do we wanna proceed with its defaults? Do we wanna review each one and decide? Or do we wanna have, like, it be super minimal?\u003C\u002Fp>\u003Cp>I'm gonna say just create it. Let's see what it comes up with. It's asking how we should store the icon. So let's just say a single file upload. How do we wanna store the pricing start?\u003C\u002Fp>\u003Cp>We don't really care about that. We'll just pick something.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. Yeah.\u003C\u002Fp>\u003Cp>Speaker 0: There's a\u003C\u002Fp>\u003Cp>Speaker 1: there's a recommendation. So I think we can\u003C\u002Fp>\u003Cp>Speaker 0: go with it. Yeah. It's collaborative. It's gonna ask you how you wanna do things. It's not gonna just bowl over your user and, like, do everything for you.\u003C\u002Fp>\u003Cp>It's it's not just an AI tool that's gonna do it for you. It is a human in the loop type of experience where you can make sure it's doing something you actually want it to do. And it's gonna tell you everything it's doing while it's doing it. So you can see here. It's planning it out.\u003C\u002Fp>\u003Cp>You can see the thinking if you wanna know, like, what it's thinking while it does it. And you can do the different models if you're you have a different one. We're currently just doing, GPT five. In those settings we set up earlier, you can change that out. Like, if you want something different going on, you can say which ones are allowed, because this UI is actually not just for your admin.\u003C\u002Fp>\u003Cp>You can allow other people here. So you can have other people with different access levels able to come in and modify your content once it gets created or your data tables. So you can let them use the AI assistant, and you can set what permission levels they have. So it's gonna ask for different tools like creating the collections if it can do it before it does it. You'll see here's our data models now.\u003C\u002Fp>\u003Cp>It's created a couple of them. We've got our case studies one. It's starting to add the fields into these. In the past, you would have to do this all manually and create collections. Now you can just use the AI to do it without having to worry too much.\u003C\u002Fp>\u003Cp>So it's a lot less manual work.\u003C\u002Fp>\u003Cp>Speaker 1: But we could have done the same thing by using the MCP thing. Right?\u003C\u002Fp>\u003Cp>Speaker 0: Yep. You can. Yeah. We just wanted to give people an in app way to do it a little faster and simpler for people who maybe aren't don't have a data model or AI model they like to use outside of here.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. Definitely makes sense. It's just like in my mind, I really like the flow of using some like, I use Claude a lot. So when I use Claude, I'm like, okay. I want a complete end to end flow.\u003C\u002Fp>\u003Cp>Like, what what would it look like if I don't leave cloth? Can I actually do the stuff I wanna do? And it seems like the answer is yeah. But there's also And\u003C\u002Fp>\u003Cp>Speaker 0: that's actually that's what I like to do as well as I'll go in cursor, and you could start the whole front and back end directly in cursor using the direct SMCP, and it can create it in here for you. We're gonna do the front end in Cursor just so we're seeing that too a little bit, but I wanted to use a little of the AI assistant as well.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. Yeah. I'm actually in the process of making sure that our experience of getting started to be super seamless. So we already have, like, a regular CLI. We have, like, Asian skills, and, we're going to essentially keep shipping more, features through the CLI.\u003C\u002Fp>\u003Cp>So, like, it should be able to you say, like, oh, I wanna deploy direct us. It should be able to go through the templates marketplace, find the most up to date template deployed for you, and then it should be able to also figure out, like, the deployment is finished. Let me continue. And then you just have, like, a complete workflow where you don't even have to go to a templates page. So that's kind of, like, what's\u003C\u002Fp>\u003Cp>Speaker 0: That's awesome.\u003C\u002Fp>\u003Cp>Speaker 1: In the works. But yeah.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. I'm excited for that. That'll be good.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. That's I think it asked a question at the end.\u003C\u002Fp>\u003Cp>Speaker 0: Yep. So now it is done. It's gonna, like if you've used this model, it constantly asks you other things it wants to do, but it is done. It's created the fields. So we've got that part done.\u003C\u002Fp>\u003Cp>Now we're gonna give it some fake content in these fields. So that's the database table. And now we're gonna fill these tables with actual, like, fake data. So I'm gonna paste that in. So when we go into here, you'll see no content yet, and it's gonna start filling those in.\u003C\u002Fp>\u003Cp>But you can see, like, these are the fields. So if a nontechnical user came in and wanted to give it a new name or a new tagline for their website, they can do it in here without having to touch the code at all. So it's a nice way to work with both your front end team and your back end team and your content team and not have, people who are super technical not able to get things done. While this is doing it, we are actually gonna get finished setting up for our MCP, actually. So we're gonna go here in our docs.\u003C\u002Fp>\u003Cp>We have a little section for setting up the MCP in different tools. We're gonna use cursor. So I'm gonna click add to cursor here. Nice easy button, and it will set us up into our settings. And we are going to go grab our URL from here.\u003C\u002Fp>\u003Cp>So this is our directest instance URL, and we'll pop that in here for our MCP setup. So it's just your instance URL slash MCP, and then you're gonna wanna set up a token. So let's make sure it has the permissions it needs. When you're connecting to external tools like cursor, it's always a good idea to scope your permissions so that it's not able to completely nuke your whole setup. You know, AI likes to be overeager.\u003C\u002Fp>\u003Cp>Speaker 1: So Yeah. Yeah. It's like, let's start all over.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. We need a fresh start. We we recommend setting up a token for it specifically and not using your admin token. So you wanna go to your user roles here. You'll create a new role, name it whatever you want, and you'll add a policy.\u003C\u002Fp>\u003Cp>We're gonna give it view only policy. So you'll add your collections, give it read only access. That way it can't, like, update or delete or anything when it's in the MCP. If you want the MCP to do that, you can totally give it permissions to create, read, and update, and do whatever you want with it. But I recommend giving it, like, the lowest level of access at the start so that, you know, it's not gonna go in and break your whole setup here.\u003C\u002Fp>\u003Cp>Mhmm. So we've got our policy. I'm gonna create a new user too to grab a token from. So if we scroll down to our tokens, we're gonna generate it and save. And then we'll go back in here, and that's where you put in this bear here, authorization code.\u003C\u002Fp>\u003Cp>You put that token, click install, and that will install our direct as MCP encursors. So now we're ready to go for that when this is finished. So let's go check on it.\u003C\u002Fp>\u003Cp>Speaker 1: So what we've done is create a role, and then the role has the token?\u003C\u002Fp>\u003Cp>Speaker 0: Yes. So the the user is what who has the token. So this MCP user has the role that we created. I created it all within the same page, but this person has the role, and then they have the token. Mhmm.\u003C\u002Fp>\u003Cp>So if you go into our settings here and look at the MCP role, we've got our view only policy that we set up Mhmm. For our different collections. And the users in the role is that MCP guy. So now it looks like it did finish the content. If we go back into our content page, now you can see it's filled it in with our sample data.\u003C\u002Fp>\u003Cp>I gave it a few guidelines of the type of things I wanted it to have, but, otherwise, it just kinda came up with this on its own, sample content. So it's given us a starting point. So now that we've got some sample content, we are going to go back in to cursor. I'm gonna grab this really long prompt I've created telling it basically we are an AI agency. We're creating our website.\u003C\u002Fp>\u003Cp>I gave it I told it to use next. I also made sure to tell it to use the Directus MCP server. This might take a minute, so I'm gonna go ahead and get it started. We are in a completely empty folder here, so I'm gonna have it do all of the coding for me. Let it create what we need here.\u003C\u002Fp>\u003Cp>It's gonna make sure to look at our schema via the MCP. So we want it to not guess on what structure we have of our data. We want it to actually look at it. Like we said, we could create the data directly from Cursor via the MCP. You would have to make sure you give it, the right permissions.\u003C\u002Fp>\u003Cp>So that that might have to be an admin token in order to generate new schema with your MCP. So if you're comfortable doing that, you totally can.\u003C\u002Fp>\u003Cp>Speaker 1: Interesting. So once that's done, we'll have something that's working like a front end running locally that's fully functional, pulling data from our deployed direct us instance. Correct?\u003C\u002Fp>\u003Cp>Speaker 0: Yep.\u003C\u002Fp>\u003Cp>Speaker 1: Okay.\u003C\u002Fp>\u003Cp>Speaker 0: Yep. And any changes you make in direct us would be reflected in your local front end that you've got here. And then as the final step, we are going to do to deploy this front end to railway so that you have a full production application front end and back end.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. I have cursor set up, so I could just automatically runs everything. I don't, like, manually approve stuff. I just\u003C\u002Fp>\u003Cp>Speaker 0: I don't trust it. Yeah. I gotta make sure I know what it's doing. I've been burned before.\u003C\u002Fp>\u003Cp>Speaker 1: I don't know. The the models are they keep getting better and it's like, I'm like, I would've done the same thing. So I don't know. I feel like it's just faster and you can just like, you know, sit back, relax, grab your favorite drink while it gets to work. You come back to it and you're like, woah, this thing actually works.\u003C\u002Fp>\u003Cp>So Yeah.\u003C\u002Fp>\u003Cp>Speaker 0: I think I'm a bit of a control freak. I can't let it just just\u003C\u002Fp>\u003Cp>Speaker 1: go. I'm telling you, like, once you let go and you see, like, it actually works and it's like, I think, I think you'll be plenty surprised. Then you're like, wow, that's actually a really fun. Cause like now, you know, if let's say for whatever reason, someone brings you on Slack, you can play for guys. Like, you come back to us, like, oh, I forgot to approve.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. That it's done.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. Yeah. I I I think, it's a much more fun experience when you just let it kinda do its own thing without you steering it. But I do understand the, appeal of, you know, wanting to see what it does. But also, like, we're starting from scratch, so there's little, like, room for error, I would say.\u003C\u002Fp>\u003Cp>But yeah.\u003C\u002Fp>\u003Cp>Speaker 0: There's nothing for it to break. It's creating it from scratch. So\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. Yeah.\u003C\u002Fp>\u003Cp>Speaker 0: We're pretty comfortable letting it just do what it wants to do here. So it looks like it actually has gotten the types if you look. So it pulled this from our MCP. It checked in, Directus, and it got our back end and what types we have there. So that's good.\u003C\u002Fp>\u003Cp>Looks like it's I did tell it also to create a little connection a net little connector to direct us here, a fetcher.\u003C\u002Fp>\u003Cp>Speaker 1: So it\u003C\u002Fp>\u003Cp>Speaker 0: looks like it's done that, getting different gets to get the data.\u003C\u002Fp>\u003Cp>Speaker 1: And it will be able to pull in our deployed, like, like, URL and actually set it as an environment variable?\u003C\u002Fp>\u003Cp>Speaker 0: Yes. It will. So I it might make me make the e n v, but I've got it. It's supposed to use the direct URL here, and it's supposed to use the token that we created. So, we'll see.\u003C\u002Fp>\u003Cp>I've done this a couple times just to see how it would do, and it it doesn't always know to grab the URL. If it's really smart, it can grab it from the cursor settings, and it can get the token and the URL, but it doesn't always manage that. You'll notice I'm in auto mode, so it's a different model each time, so it might not be a very smart model. But we at the end, we'll give it the proper e n v variables, and it'll be able to connect to our deployed instance.\u003C\u002Fp>\u003Cp>Speaker 1: Excellent. Yeah. Honestly, again, I I like my to choose my own models, You should use, like, a, you know, g p three five point four or, like, an Opus 4.6 and because I don't know. I don't like that, I would say I wouldn't trust the auto. Like, which one would affect?\u003C\u002Fp>\u003Cp>Like, I wanna be I want a consistent experience. So then if, like, anything starts feeling weird, then I can blame the model. I was like, oh, you know, like, Opus is acting really dumb lately, that sort of thing. So\u003C\u002Fp>\u003Cp>Speaker 0: It it does just feel like from one day to the next, though, even if you have a model that you know is good, it it doesn't always behave exactly the same.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. Sometimes it feels like, you know, you're you're just rolling the dice. Sometimes it's like, woah. This is it. Like, this is the next big thing.\u003C\u002Fp>\u003Cp>I was like cause like, sometimes I, I, I asked it a question and I wanted it to check against like, you know, our internal, GitHub repo. And it's like, Hey, do we support this thing? It was like, yes, you do. And I told her like, oh, show me the code. It's like, after checking, apparently, this is not supported.\u003C\u002Fp>\u003Cp>I was like, come. Yeah. And this is like the smart and I told it, like, oh, you know, UltraThink, you know, work really hard, but it's like, I guess sometimes it's just, you know, not that type of day. But I think here it's like it's it's it's working well, based on what I'm saying.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. It looks like it's getting something.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah.\u003C\u002Fp>\u003Cp>Speaker 0: It's messing around with the configs now.\u003C\u002Fp>\u003Cp>Speaker 1: Interesting. What is what's it doing to the Next. Js config if we open it up? Just out of curiosity. Technically, you know, we're we're not supposed to look at the code, you know, and, because, you know, I was just shipping it, but I'm also curious.\u003C\u002Fp>\u003Cp>Okay. It's setting, like, the assets URL, I assume, for, like, files and stuff. That's pretty awesome.\u003C\u002Fp>\u003Cp>Speaker 0: Yep. And while it does that, I'm actually gonna grab my last prompt, which is a prompt to have it, push to GitHub so that we can get it ready for deploying the front end. I'm gonna grab that. Go back in here. I think it's almost done.\u003C\u002Fp>\u003Cp>It feels like it's it's doing the read me. So\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. Probably at the end. But yeah. I would say, there is actually a like, you you can definitely, you know, start with this workflow. It's totally fine.\u003C\u002Fp>\u003Cp>But if you have, like, the AOS CLI setup, it could just deploy it to your existing project. And this way you don't even have to worry about git being installed, get, having a GitHub repo or anything. But when you have it with git, well, the benefit is, anytime you make, changes through the front end, it will just automatically deploy. So it's like it's it's all trade offs based on, you know, how, structured and organized you wanna be. But yeah.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. That makes sense. Alright. We did not create our E and V, so we're gonna create that real quick. And\u003C\u002Fp>\u003Cp>Speaker 1: I would say that's the responsible thing for it to do.\u003C\u002Fp>\u003Cp>Speaker 0: Yes. I don't didn't really like that it created its own ENV and, like, grabbed my things from the MCP. That was a little, uncomfortable. Yeah.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. It then gets better this way.\u003C\u002Fp>\u003Cp>Speaker 0: Yes. Look at our URL. Alright. And then we're gonna run it locally just to see it working.\u003C\u002Fp>\u003Cp>Speaker 1: What does the static token do?\u003C\u002Fp>\u003Cp>Speaker 0: So that's the one we created with for the MCP. We're using it here too. Okay. So that is the permissions that we allow in Directus. So if you give it, like, no read permission, it won't be able to see the content.\u003C\u002Fp>\u003Cp>If you give it access to read, like what we did, we gave it access to read all of these collections, then it can read the data. So that's where, like, you probably want a separate one from your MCP. We're just in the interest of time having it Yeah. One that is view all for all of our collections because we don't need to make changes with the MCP. But you probably would have permission to update and delete with your MCP as well.\u003C\u002Fp>\u003Cp>So you probably want wanted a separate one for your front end. So you'd probably wanna create a user role for your front end that gives it different permissions. Otherwise, you can have it set up to use your public permissions, which controls what the API data is, available without authenticating. But it's safer if you do give it a token so that your front end is only able to grab what you want, not, like, everything. So let's see if it worked.\u003C\u002Fp>\u003Cp>Speaker 1: Moment of truth.\u003C\u002Fp>\u003Cp>Speaker 0: Okay. There it is. Looks like some images are broken, but we've got a full website here. You can navigate around. It's got some prompts.\u003C\u002Fp>\u003Cp>It's got a button to get in touch.\u003C\u002Fp>\u003Cp>Speaker 1: We've got a\u003C\u002Fp>\u003Cp>Speaker 0: full website here. Obviously, you'd wanna iterate on it, fix the images, and, do a little honestly, it looks great. It doesn't need too much design or anything even. So that's a good starting point. We are going to go ahead and say good enough.\u003C\u002Fp>\u003Cp>The images can get fixed later. We are going to deploy this. And, of course, I copied other things, so I need to go back and get my prompt. So like you said, there's other ways to do this, but we are gonna have it pushed to a GitHub repo. We're pretending we have other people who wanna manage this code, and we want it in some place that we would have access to it as a team.\u003C\u002Fp>\u003Cp>So we've have a GitHub repo we've already set up. It's empty right now, and we're gonna push it into here. So I'm having it create a readme that'll tell users, our other team members, basically, is in our example here. We're deploying to Railway. Here's what you'll need.\u003C\u002Fp>\u003Cp>It'll mention the EMV variables we created here, because we're gonna need those. I'm actually gonna copy them now, so I have them ready. And then it it's gonna make sure everything's building properly with the prompt I gave it, and then it will push to GitHub for us.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. And I noticed it said, like, even if you don't have, like, the environment variable set up initially, like, it should still deploy. It should still work. But once we actually set the these values, we'll be able to actually fetch the thing and have the same result we have locally, but actually have it live and deployed on a URL.\u003C\u002Fp>\u003Cp>Speaker 0: Yep.\u003C\u002Fp>\u003Cp>Speaker 1: It's updating the ReadMe.\u003C\u002Fp>\u003Cp>Speaker 0: Yep. There's our ReadMe.\u003C\u002Fp>\u003Cp>Speaker 1: I remember the times where I had you know, I used to write stuff by hand.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah.\u003C\u002Fp>\u003Cp>Speaker 1: Now I just be like, you know, just instructions, just lines, like update, read me, and that's it. You know? Just just figure it out the rest.\u003C\u002Fp>\u003Cp>Speaker 0: Alright. I think it's gonna commit.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. I think it's already I believe I ran already a built. So, yeah, we see, like, the dot next directory. Maybe the build was under there. Yeah.\u003C\u002Fp>\u003Cp>It's running get the commands. Okay. I think it has committed everything here. So now\u003C\u002Fp>\u003Cp>Speaker 0: What did I do?\u003C\u002Fp>\u003Cp>Speaker 1: I think it's just the wrong link.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. It did. Okay. So we are gonna now go in here. We're gonna add a service.\u003C\u002Fp>\u003Cp>Speaker 1: Yep.\u003C\u002Fp>\u003Cp>Speaker 0: GitHub repository. And what did I call it?\u003C\u002Fp>\u003Cp>Speaker 1: Was it like AI agents or something like that?\u003C\u002Fp>\u003Cp>Speaker 0: AI agents. Not sure. Oh, boy. Hold on. I pasted it down here.\u003C\u002Fp>\u003Cp>Speaker 1: You should be able to see, like, all repos, but maybe you have too many. So, like\u003C\u002Fp>\u003Cp>Speaker 0: I have so many. I really need to clean it up.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. Yeah. That's me.\u003C\u002Fp>\u003Cp>Speaker 0: Okay. Hold on. I'm gonna\u003C\u002Fp>\u003Cp>Speaker 1: Give me to refresh. Yeah. Yeah.\u003C\u002Fp>\u003Cp>Speaker 0: Just don't wanna have my mega list of repos up on the screen so one's.\u003C\u002Fp>\u003Cp>Speaker 1: But I think you might need to refresh the, so I tried to push the code. Right? Oh, it didn't.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. I don't know if it\u003C\u002Fp>\u003Cp>Speaker 1: pushed. I mean, I guess you need to stop. Yeah. See\u003C\u002Fp>\u003Cp>Speaker 0: It's getting me with the permission things. You're right.\u003C\u002Fp>\u003Cp>Speaker 1: I should\u003C\u002Fp>\u003Cp>Speaker 0: just let it do whatever it wants.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. But now it's I don't know if it's pushing it, and then it should be good. So now if you go to right way, I would say if, if you refresh, you should be able to see it. Yeah. We have code.\u003C\u002Fp>\u003Cp>Speaker 0: The code is now here.\u003C\u002Fp>\u003Cp>Speaker 1: Yep. Now when you add, we might need to like refer, I think it should just fetch, but you can try.\u003C\u002Fp>\u003Cp>Speaker 0: Does it not like my\u003C\u002Fp>\u003Cp>Speaker 1: Maybe just try refreshing, like, the, entire Page. Dashboard. Yeah. Yeah. Just in case.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Okay. And Okay. Let's try again.\u003C\u002Fp>\u003Cp>Speaker 1: Interesting. I mean, if you want, what you could do is maybe it's just an issue with, like, get up not pulling. So, like, you can copy the full URL. And when you add, you can just paste that URL.\u003C\u002Fp>\u003Cp>Speaker 0: Okay. The it looks like it found it like that. So let's\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. Yeah.\u003C\u002Fp>\u003Cp>Speaker 0: Alright. So that is how you connect it, and then\u003C\u002Fp>\u003Cp>Speaker 1: we're gonna just need to hit deploy. Yep.\u003C\u002Fp>\u003Cp>Speaker 0: Yes. But I wanna put it up by the other ones first. Yeah. And that was\u003C\u002Fp>\u003Cp>Speaker 1: in there.\u003C\u002Fp>\u003Cp>Speaker 0: Yes. So I wanna also add our e and v variables before we get started.\u003C\u002Fp>\u003Cp>Speaker 1: So they're actually automatically inferred, like, at the bottom. Oh. You can see them. You were right. Suggest variables, and then you can update these values and click add, then you're good to go.\u003C\u002Fp>\u003Cp>Speaker 0: There you go. So let me grab where I pasted them over here.\u003C\u002Fp>\u003Cp>Speaker 1: You can also have, like, go the route you were going through, like the raw editor, copy and paste that other thing, but just just wanted to point it out. Because, like, to me, it's like, it's one of those things that when you don't know it, you're like, oh, that's neat. That's kinda how I always felt about it the first time I tried it.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. You're right. That is cool that it already kind of pulled up what we needed.\u003C\u002Fp>\u003Cp>Speaker 1: But,\u003C\u002Fp>\u003Cp>Speaker 0: yeah, you could also open raw editor and just paste in the whole EMV file that we had ready.\u003C\u002Fp>\u003Cp>Speaker 1: Yep. And then you can click add to add everything.\u003C\u002Fp>\u003Cp>Speaker 0: Yep. So these this is the token we have in our local one, and then this is the URL of the same thing in Railway. You guys can also do internal URLs. Right? Is that something we could use here if we wanted to use the local URL\u003C\u002Fp>\u003Cp>Speaker 1: of this? So you can do, like, a dollar sign, two curly braces, and then you should get auto complete for, like, the URL. So, actually, you will be able to see a line where they're both connected if you wanna try it out. And then what will happen is, now whenever if the URL changes, it will just automatically update the other one as well and redeploy it.\u003C\u002Fp>\u003Cp>Speaker 0: Okay. So that's like using the internal\u003C\u002Fp>\u003Cp>Speaker 1: URL reference variable. So I I believe you the way it would work is you just do, so the on directives and the variables themselves, like, if you go to variables. I believe what's the yeah. I guess it's public URL is the value that we will want. So wait.\u003C\u002Fp>\u003Cp>If you go now to the AI agency service and then go to the next public directors URL, because that's the URL value you wanna set. Right? So that more menu and then edit. And then if you do, dollar sign and then double curly braces, you'll be able to actually pull in so I believe the name of the service is directed. So you just do direct us, and then it's gonna be dot yep.\u003C\u002Fp>\u003Cp>Do you see? And then you just choose the public URL Yep. From this list. Got it. So now when you choose it, it's just gonna automatically give you the right URL and it will just be able to read it.\u003C\u002Fp>\u003Cp>So if the other one updates, you just do it. But for this, you're gonna need to hit redeploy again. So it will take some time. So I'd say we can do this after you can cancel. But yeah.\u003C\u002Fp>\u003Cp>And I would say there's actually another cool feature because might as well, if you go to settings, like, okay. It's done. So we can actually test the thing. But we can update, like, the domain to, like, a actual domain because you can now buy domains on railway.\u003C\u002Fp>\u003Cp>Speaker 0: Nice. Okay.\u003C\u002Fp>\u003Cp>Speaker 1: Yep. So this will give to you just a domain for, the front end itself, and it will have, like, a .up.railway.app at the end. You'll need to specify a port, which I'm not sure what it is on. I I think it should be 3,000. Like, 3,000 should just work.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Yeah.\u003C\u002Fp>\u003Cp>Speaker 1: And if we visit it, might be the incorrect port. You could try eighty eighty as well because that's what I was suggesting in the beginning. Yeah.\u003C\u002Fp>\u003Cp>Speaker 0: There we go.\u003C\u002Fp>\u003Cp>Speaker 1: There we go.\u003C\u002Fp>\u003Cp>Speaker 0: So there is our front end deployed.\u003C\u002Fp>\u003Cp>Speaker 1: Yep. And we have a live app.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Awesome. So that was pretty fast. We went from nothing to a fully deployed front and back end here. Let's see.\u003C\u002Fp>\u003Cp>Was there anything else we should know about Railway and getting this set up here?\u003C\u002Fp>\u003Cp>Speaker 1: I mean, if you hit deploy now, it will just redeploy, and you'll actually be able to see on the canvas. There's, like, an arrow, and this, service, like our front end is, referencing the direct us. And that's how you have, like, a connection between the two. And, yeah, other than that, it's like, you can just have everything in one place. Again, like, if you go now to the AI agency service and you click on settings and you also go to networking, from the right.\u003C\u002Fp>\u003Cp>Yeah. And then you can actually choose a custom domain. So when you click on it, you should actually be able to buy a domain straight from here. So like, if you come up with that domain, you can just do it from here as well. Or if you go to like ferry.com\u002Fdomains, you can do it.\u003C\u002Fp>\u003Cp>But yeah, I would say that's kinda like you now have fully like everything in one place, but you know, took us not a lot of time, and we have, like, a fully, fully deployed working back end, front end. Just, yeah, everything is in one place.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. So why don't I recap what we did? We started with a simple idea launching a fictional AI automation agency. We launched infrastructure on Railway. We generated a structured back end with Directus.\u003C\u002Fp>\u003Cp>We populated it with fake content. We generated the front end using Cursor. We deployed the whole thing back to Railway. That's the build it part of today's theme. The key takeaway is that when interfaces can be generated quickly, the back end data model becomes the strategic layer.\u003C\u002Fp>\u003Cp>If someone watching wants to try this themselves, what's just the easiest way to get started on the railway side of things?\u003C\u002Fp>\u003Cp>Speaker 1: The easiest way, I would say going to the template you shared would be the easiest place. And if they, you know, wanna use direct this. And also, by the way, I forgot to mention. So if you actually, like, close the, service here, there's like an agent in the top right corner as well, where you can actually also ask questions about your stuff, like actually ask it to make changes and it should be able to make changes, directly. So I believe if you just say like, oh, update, make this update, it should figure things out on its own.\u003C\u002Fp>\u003Cp>Speaker 0: Awesome. So you guys got some AI in here too?\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. Yeah. In case someone wants everything in the dashboard, they can, but also if they want, the, to use whatever their coding agent of choice, they should be able to do it. But yeah.\u003C\u002Fp>\u003Cp>Speaker 0: Cool. Well, thank you for joining us. I hope everybody has a good rest of your Leap Week.\u003C\u002Fp>\u003Cp>Speaker 1: Sounds great. Thank you so much for having me.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Thank you for joining us.\u003C\u002Fp>","Hi, everyone, and welcome to Leap Week. My name is Lindsay, and I'm an engineer on the direct us team where I mostly work on integrations and developer experience. For day two of Leap Week, the theme is build it, run it, sell it. The idea is to show how quickly you can go from an idea to a real production application using modern tools. We'll be focusing on the first part of that story, build it. For this session, we're going to build a fictional AI automation agency. The idea is that this agency helps companies implement AI workflows for things like marketing, automation, research, sales outreach, and internal knowledge assistance. So by the end of the session, we'll have a working back end for this agency, generate a front end website for it, and deploy the whole thing live. But before we can build anything, we need somewhere to run our back end and infrastructure. I'm joined today by someone from the Railway team. I'll let them introduce themselves and tell us a little bit about Railway before we start building. Awesome. So, thank you so much for having me. My name is Mohammed. I'm a general engineer at Railway. And at Railway is I would say in a nutshell, it's a all in one intelligent cloud provider. You can deploy pretty much anything, databases, back ends, front ends, queues, whatever. Like, you can just deploy it. You can just run it. And, yeah, essentially, we allow you to deploy anything, and we really focus on making it easy for you to go from zero to deploy it as easy as possible. Yeah. So excited about what we'll build today today. Awesome. So the first step in getting any project off the ground is gonna be your infrastructure. And instead of spending hours setting up servers and databases, Railways gonna let us start from a working template. For this demo, we have a template we've already created. It's a pretty simple one. It's gonna have everything you need to get started. We do actually have another version as well that launches with CMS collections already started if you want a starting point. But for this, we are going to use our blank one. So I'll go ahead and launch that template here. Yeah. So a little bit of context. Templates essentially encapsulate a set of infrastructure components, all the configuration. And here, we essentially have, like, a database set up, post press red as a bucket for object storage, as well as directives, which runs our back end. So, like, directives here would be, a server that we actually use. And now, like, everything here is neatly on the railway canvas. You can see everything grouped under, like, the directors group. And, essentially, like, here, you have a project, and a project is where you can have essentially everything deployed. So, like, in this example here, you have practice running. Maybe you will have, like, the front end, so that will be a separate service. And that's pretty much all we need to get started. So, like, all you need to do is you can sign up for free, and then you can go to the link to deploy the template. You click deploy now. You can either deploy to a new project or an existing project. If you choose, like, the path we're going through right now is deploying to a new project, this is the experience you'll get. And now you can see, actually, it's like we have the difference for versus, they're being deployed. So, like, Post JS, that's the database. And then we have Redis and as well, we have, DirectThis, which is also just cute. So, like, one thing after another will be deployed. So, like, in a, hopefully, a minute or two, everything should be ready, configured. You don't even need to, like, touch an editor, and it just works. So that's pretty much yeah. That's pretty much the overview for templates. Yeah. So it looks like Like, this is also deploying I see it's so this one is actually deploying from a Docker image, and this is the official one, for directors. I assume this is the latest version. Right? Yep. This is our latest version. Yep. We make sure to keep this updated. That's awesome. But, yeah, if, let's say, for example, you deploy and you want to get the latest version, of, let's say, Directus. If you actually go to settings, you'll be able to see the source image. There's like automatic updates. You'll actually be able to see if there's an automatic update. You just click apply. You deploy it. It just works if you want like the latest version. So it should be very easy to set up, but so far we can now we see, we have the database ready. Red is ready. The bucket is created, and now the last component direct list is being deployed, which hopefully should be ready Yep. Very soon. And we're live. We'll click that. So in just a couple minutes, we've gone from nothing to a running back end with a database, API, and admin interface. So as part of our setup process, we'll create our first admin user here. Give it a password. So I assume this happens as the first initial step. Is this correct? Yes. Yep. Okay. When you first set up, it'll ask you to create your admin user. And here we go. We're in our, UI here. And to get started, we are gonna do a little bit of, setup for our AI assistant because we are going to be using AI to create most of this. So Directus has a built in AI assistant that can help you. It can generate schema content, and it has knowledge of what's going on in your instance. So if you go into settings here, we'll give it a key. Oops. Let me grab my key. Yeah. I think you just said One password. Gotta have that security. Yeah. Alright. And then we are also going to set up our MCP for later because we'll be using that when we do our front end. So here, this is, like, the Directus MCP or, like, this is an MCP server for our deployed direct the Directus instance? Yes. It is. Yep. So our cursor, which we'll use to do the front end, will be able to access all of our data here. And it'll depend on the permissions we give it, what it will be able to do. But we also have this in app AI assistant here. So we're gonna use that to generate our schema. So I already have some So quick question. For someone who's not a 100 to 100% familiar, let's say, with all of the features, essentially, what we're doing is now we have a like, our complete back end deployed running. And part of this back end, you can actually expose an MTP server, and then I can connect to this MTP server via call code, code x cursor, whatever coding agent of my choice, and then just tell it to do stuff for me. That'll be reflected in my live deployed instance, and now it's just that's it. Yeah. Yeah. We'll see that a little bit later, but we're gonna do something similar here. We also have our AI assistant that's in the UI here, and we are gonna use that to build our back end, our collections, our schema. So right now, we have no collections created. We don't have any data tables, basically. So I'm gonna go ahead and prompt it with a prompt that I created earlier, and it's going to create the structure of our back end. And the idea is, like, a collection would be, like, an object, right, for something. Yeah. So it's gonna be, like, your data tables. So it'll have, like, an overlying day data table where we'll have one called site settings, and that's gonna be the settings for the website. We'll have one for case studies. Mhmm. That's gonna have case studies for our AI agency. Actually, I can show you the prompt here a little closer. So we've we're creating our collections, and we're giving it different fields. So we're giving it, like, a tagline, a headline. We're gonna give it different services that this AI agency does, give it some fields there, and we're gonna create playbooks and case studies out of those, so things you might need in an AI agency marketing website. And the AI on our end is going to do that work for us. So we've told it in our prompt what we want. We didn't really tell it what type of fields they need to be, if they're strings or numbs or any of that. It'll infer that if we want. And, actually, one nice thing is if you don't know what schema you want, you can talk it through with the AI assistant. It can give you suggestions of things that you might wanna add for a data table. So it's gonna ask questions too back to the user. So it's saying it's ready to create these, and it's saying, do we wanna proceed with its defaults? Do we wanna review each one and decide? Or do we wanna have, like, it be super minimal? I'm gonna say just create it. Let's see what it comes up with. It's asking how we should store the icon. So let's just say a single file upload. How do we wanna store the pricing start? We don't really care about that. We'll just pick something. Yeah. Yeah. There's a there's a recommendation. So I think we can go with it. Yeah. It's collaborative. It's gonna ask you how you wanna do things. It's not gonna just bowl over your user and, like, do everything for you. It's it's not just an AI tool that's gonna do it for you. It is a human in the loop type of experience where you can make sure it's doing something you actually want it to do. And it's gonna tell you everything it's doing while it's doing it. So you can see here. It's planning it out. You can see the thinking if you wanna know, like, what it's thinking while it does it. And you can do the different models if you're you have a different one. We're currently just doing, GPT five. In those settings we set up earlier, you can change that out. Like, if you want something different going on, you can say which ones are allowed, because this UI is actually not just for your admin. You can allow other people here. So you can have other people with different access levels able to come in and modify your content once it gets created or your data tables. So you can let them use the AI assistant, and you can set what permission levels they have. So it's gonna ask for different tools like creating the collections if it can do it before it does it. You'll see here's our data models now. It's created a couple of them. We've got our case studies one. It's starting to add the fields into these. In the past, you would have to do this all manually and create collections. Now you can just use the AI to do it without having to worry too much. So it's a lot less manual work. But we could have done the same thing by using the MCP thing. Right? Yep. You can. Yeah. We just wanted to give people an in app way to do it a little faster and simpler for people who maybe aren't don't have a data model or AI model they like to use outside of here. Yeah. Definitely makes sense. It's just like in my mind, I really like the flow of using some like, I use Claude a lot. So when I use Claude, I'm like, okay. I want a complete end to end flow. Like, what what would it look like if I don't leave cloth? Can I actually do the stuff I wanna do? And it seems like the answer is yeah. But there's also And that's actually that's what I like to do as well as I'll go in cursor, and you could start the whole front and back end directly in cursor using the direct SMCP, and it can create it in here for you. We're gonna do the front end in Cursor just so we're seeing that too a little bit, but I wanted to use a little of the AI assistant as well. Yeah. Yeah. I'm actually in the process of making sure that our experience of getting started to be super seamless. So we already have, like, a regular CLI. We have, like, Asian skills, and, we're going to essentially keep shipping more, features through the CLI. So, like, it should be able to you say, like, oh, I wanna deploy direct us. It should be able to go through the templates marketplace, find the most up to date template deployed for you, and then it should be able to also figure out, like, the deployment is finished. Let me continue. And then you just have, like, a complete workflow where you don't even have to go to a templates page. So that's kind of, like, what's That's awesome. In the works. But yeah. Yeah. I'm excited for that. That'll be good. Yeah. That's I think it asked a question at the end. Yep. So now it is done. It's gonna, like if you've used this model, it constantly asks you other things it wants to do, but it is done. It's created the fields. So we've got that part done. Now we're gonna give it some fake content in these fields. So that's the database table. And now we're gonna fill these tables with actual, like, fake data. So I'm gonna paste that in. So when we go into here, you'll see no content yet, and it's gonna start filling those in. But you can see, like, these are the fields. So if a nontechnical user came in and wanted to give it a new name or a new tagline for their website, they can do it in here without having to touch the code at all. So it's a nice way to work with both your front end team and your back end team and your content team and not have, people who are super technical not able to get things done. While this is doing it, we are actually gonna get finished setting up for our MCP, actually. So we're gonna go here in our docs. We have a little section for setting up the MCP in different tools. We're gonna use cursor. So I'm gonna click add to cursor here. Nice easy button, and it will set us up into our settings. And we are going to go grab our URL from here. So this is our directest instance URL, and we'll pop that in here for our MCP setup. So it's just your instance URL slash MCP, and then you're gonna wanna set up a token. So let's make sure it has the permissions it needs. When you're connecting to external tools like cursor, it's always a good idea to scope your permissions so that it's not able to completely nuke your whole setup. You know, AI likes to be overeager. So Yeah. Yeah. It's like, let's start all over. Yeah. We need a fresh start. We we recommend setting up a token for it specifically and not using your admin token. So you wanna go to your user roles here. You'll create a new role, name it whatever you want, and you'll add a policy. We're gonna give it view only policy. So you'll add your collections, give it read only access. That way it can't, like, update or delete or anything when it's in the MCP. If you want the MCP to do that, you can totally give it permissions to create, read, and update, and do whatever you want with it. But I recommend giving it, like, the lowest level of access at the start so that, you know, it's not gonna go in and break your whole setup here. Mhmm. So we've got our policy. I'm gonna create a new user too to grab a token from. So if we scroll down to our tokens, we're gonna generate it and save. And then we'll go back in here, and that's where you put in this bear here, authorization code. You put that token, click install, and that will install our direct as MCP encursors. So now we're ready to go for that when this is finished. So let's go check on it. So what we've done is create a role, and then the role has the token? Yes. So the the user is what who has the token. So this MCP user has the role that we created. I created it all within the same page, but this person has the role, and then they have the token. Mhmm. So if you go into our settings here and look at the MCP role, we've got our view only policy that we set up Mhmm. For our different collections. And the users in the role is that MCP guy. So now it looks like it did finish the content. If we go back into our content page, now you can see it's filled it in with our sample data. I gave it a few guidelines of the type of things I wanted it to have, but, otherwise, it just kinda came up with this on its own, sample content. So it's given us a starting point. So now that we've got some sample content, we are going to go back in to cursor. I'm gonna grab this really long prompt I've created telling it basically we are an AI agency. We're creating our website. I gave it I told it to use next. I also made sure to tell it to use the Directus MCP server. This might take a minute, so I'm gonna go ahead and get it started. We are in a completely empty folder here, so I'm gonna have it do all of the coding for me. Let it create what we need here. It's gonna make sure to look at our schema via the MCP. So we want it to not guess on what structure we have of our data. We want it to actually look at it. Like we said, we could create the data directly from Cursor via the MCP. You would have to make sure you give it, the right permissions. So that that might have to be an admin token in order to generate new schema with your MCP. So if you're comfortable doing that, you totally can. Interesting. So once that's done, we'll have something that's working like a front end running locally that's fully functional, pulling data from our deployed direct us instance. Correct? Yep. Okay. Yep. And any changes you make in direct us would be reflected in your local front end that you've got here. And then as the final step, we are going to do to deploy this front end to railway so that you have a full production application front end and back end. Yeah. I have cursor set up, so I could just automatically runs everything. I don't, like, manually approve stuff. I just I don't trust it. Yeah. I gotta make sure I know what it's doing. I've been burned before. I don't know. The the models are they keep getting better and it's like, I'm like, I would've done the same thing. So I don't know. I feel like it's just faster and you can just like, you know, sit back, relax, grab your favorite drink while it gets to work. You come back to it and you're like, woah, this thing actually works. So Yeah. I think I'm a bit of a control freak. I can't let it just just go. I'm telling you, like, once you let go and you see, like, it actually works and it's like, I think, I think you'll be plenty surprised. Then you're like, wow, that's actually a really fun. Cause like now, you know, if let's say for whatever reason, someone brings you on Slack, you can play for guys. Like, you come back to us, like, oh, I forgot to approve. Yeah. That it's done. Yeah. Yeah. I I I think, it's a much more fun experience when you just let it kinda do its own thing without you steering it. But I do understand the, appeal of, you know, wanting to see what it does. But also, like, we're starting from scratch, so there's little, like, room for error, I would say. But yeah. There's nothing for it to break. It's creating it from scratch. So Yeah. Yeah. We're pretty comfortable letting it just do what it wants to do here. So it looks like it actually has gotten the types if you look. So it pulled this from our MCP. It checked in, Directus, and it got our back end and what types we have there. So that's good. Looks like it's I did tell it also to create a little connection a net little connector to direct us here, a fetcher. So it looks like it's done that, getting different gets to get the data. And it will be able to pull in our deployed, like, like, URL and actually set it as an environment variable? Yes. It will. So I it might make me make the e n v, but I've got it. It's supposed to use the direct URL here, and it's supposed to use the token that we created. So, we'll see. I've done this a couple times just to see how it would do, and it it doesn't always know to grab the URL. If it's really smart, it can grab it from the cursor settings, and it can get the token and the URL, but it doesn't always manage that. You'll notice I'm in auto mode, so it's a different model each time, so it might not be a very smart model. But we at the end, we'll give it the proper e n v variables, and it'll be able to connect to our deployed instance. Excellent. Yeah. Honestly, again, I I like my to choose my own models, You should use, like, a, you know, g p three five point four or, like, an Opus 4.6 and because I don't know. I don't like that, I would say I wouldn't trust the auto. Like, which one would affect? Like, I wanna be I want a consistent experience. So then if, like, anything starts feeling weird, then I can blame the model. I was like, oh, you know, like, Opus is acting really dumb lately, that sort of thing. So It it does just feel like from one day to the next, though, even if you have a model that you know is good, it it doesn't always behave exactly the same. Yeah. Sometimes it feels like, you know, you're you're just rolling the dice. Sometimes it's like, woah. This is it. Like, this is the next big thing. I was like cause like, sometimes I, I, I asked it a question and I wanted it to check against like, you know, our internal, GitHub repo. And it's like, Hey, do we support this thing? It was like, yes, you do. And I told her like, oh, show me the code. It's like, after checking, apparently, this is not supported. I was like, come. Yeah. And this is like the smart and I told it, like, oh, you know, UltraThink, you know, work really hard, but it's like, I guess sometimes it's just, you know, not that type of day. But I think here it's like it's it's it's working well, based on what I'm saying. Yeah. It looks like it's getting something. Yeah. It's messing around with the configs now. Interesting. What is what's it doing to the Next. Js config if we open it up? Just out of curiosity. Technically, you know, we're we're not supposed to look at the code, you know, and, because, you know, I was just shipping it, but I'm also curious. Okay. It's setting, like, the assets URL, I assume, for, like, files and stuff. That's pretty awesome. Yep. And while it does that, I'm actually gonna grab my last prompt, which is a prompt to have it, push to GitHub so that we can get it ready for deploying the front end. I'm gonna grab that. Go back in here. I think it's almost done. It feels like it's it's doing the read me. So Yeah. Probably at the end. But yeah. I would say, there is actually a like, you you can definitely, you know, start with this workflow. It's totally fine. But if you have, like, the AOS CLI setup, it could just deploy it to your existing project. And this way you don't even have to worry about git being installed, get, having a GitHub repo or anything. But when you have it with git, well, the benefit is, anytime you make, changes through the front end, it will just automatically deploy. So it's like it's it's all trade offs based on, you know, how, structured and organized you wanna be. But yeah. Yeah. That makes sense. Alright. We did not create our E and V, so we're gonna create that real quick. And I would say that's the responsible thing for it to do. Yes. I don't didn't really like that it created its own ENV and, like, grabbed my things from the MCP. That was a little, uncomfortable. Yeah. Yeah. It then gets better this way. Yes. Look at our URL. Alright. And then we're gonna run it locally just to see it working. What does the static token do? So that's the one we created with for the MCP. We're using it here too. Okay. So that is the permissions that we allow in Directus. So if you give it, like, no read permission, it won't be able to see the content. If you give it access to read, like what we did, we gave it access to read all of these collections, then it can read the data. So that's where, like, you probably want a separate one from your MCP. We're just in the interest of time having it Yeah. One that is view all for all of our collections because we don't need to make changes with the MCP. But you probably would have permission to update and delete with your MCP as well. So you probably want wanted a separate one for your front end. So you'd probably wanna create a user role for your front end that gives it different permissions. Otherwise, you can have it set up to use your public permissions, which controls what the API data is, available without authenticating. But it's safer if you do give it a token so that your front end is only able to grab what you want, not, like, everything. So let's see if it worked. Moment of truth. Okay. There it is. Looks like some images are broken, but we've got a full website here. You can navigate around. It's got some prompts. It's got a button to get in touch. We've got a full website here. Obviously, you'd wanna iterate on it, fix the images, and, do a little honestly, it looks great. It doesn't need too much design or anything even. So that's a good starting point. We are going to go ahead and say good enough. The images can get fixed later. We are going to deploy this. And, of course, I copied other things, so I need to go back and get my prompt. So like you said, there's other ways to do this, but we are gonna have it pushed to a GitHub repo. We're pretending we have other people who wanna manage this code, and we want it in some place that we would have access to it as a team. So we've have a GitHub repo we've already set up. It's empty right now, and we're gonna push it into here. So I'm having it create a readme that'll tell users, our other team members, basically, is in our example here. We're deploying to Railway. Here's what you'll need. It'll mention the EMV variables we created here, because we're gonna need those. I'm actually gonna copy them now, so I have them ready. And then it it's gonna make sure everything's building properly with the prompt I gave it, and then it will push to GitHub for us. Yeah. And I noticed it said, like, even if you don't have, like, the environment variable set up initially, like, it should still deploy. It should still work. But once we actually set the these values, we'll be able to actually fetch the thing and have the same result we have locally, but actually have it live and deployed on a URL. Yep. It's updating the ReadMe. Yep. There's our ReadMe. I remember the times where I had you know, I used to write stuff by hand. Yeah. Now I just be like, you know, just instructions, just lines, like update, read me, and that's it. You know? Just just figure it out the rest. Alright. I think it's gonna commit. Yeah. I think it's already I believe I ran already a built. So, yeah, we see, like, the dot next directory. Maybe the build was under there. Yeah. It's running get the commands. Okay. I think it has committed everything here. So now What did I do? I think it's just the wrong link. Yeah. It did. Okay. So we are gonna now go in here. We're gonna add a service. Yep. GitHub repository. And what did I call it? Was it like AI agents or something like that? AI agents. Not sure. Oh, boy. Hold on. I pasted it down here. You should be able to see, like, all repos, but maybe you have too many. So, like I have so many. I really need to clean it up. Yeah. Yeah. That's me. Okay. Hold on. I'm gonna Give me to refresh. Yeah. Yeah. Just don't wanna have my mega list of repos up on the screen so one's. But I think you might need to refresh the, so I tried to push the code. Right? Oh, it didn't. Yeah. I don't know if it pushed. I mean, I guess you need to stop. Yeah. See It's getting me with the permission things. You're right. I should just let it do whatever it wants. Yeah. But now it's I don't know if it's pushing it, and then it should be good. So now if you go to right way, I would say if, if you refresh, you should be able to see it. Yeah. We have code. The code is now here. Yep. Now when you add, we might need to like refer, I think it should just fetch, but you can try. Does it not like my Maybe just try refreshing, like, the, entire Page. Dashboard. Yeah. Yeah. Just in case. Yeah. Okay. And Okay. Let's try again. Interesting. I mean, if you want, what you could do is maybe it's just an issue with, like, get up not pulling. So, like, you can copy the full URL. And when you add, you can just paste that URL. Okay. The it looks like it found it like that. So let's Yeah. Yeah. Alright. So that is how you connect it, and then we're gonna just need to hit deploy. Yep. Yes. But I wanna put it up by the other ones first. Yeah. And that was in there. Yes. So I wanna also add our e and v variables before we get started. So they're actually automatically inferred, like, at the bottom. Oh. You can see them. You were right. Suggest variables, and then you can update these values and click add, then you're good to go. There you go. So let me grab where I pasted them over here. You can also have, like, go the route you were going through, like the raw editor, copy and paste that other thing, but just just wanted to point it out. Because, like, to me, it's like, it's one of those things that when you don't know it, you're like, oh, that's neat. That's kinda how I always felt about it the first time I tried it. Yeah. You're right. That is cool that it already kind of pulled up what we needed. But, yeah, you could also open raw editor and just paste in the whole EMV file that we had ready. Yep. And then you can click add to add everything. Yep. So these this is the token we have in our local one, and then this is the URL of the same thing in Railway. You guys can also do internal URLs. Right? Is that something we could use here if we wanted to use the local URL of this? So you can do, like, a dollar sign, two curly braces, and then you should get auto complete for, like, the URL. So, actually, you will be able to see a line where they're both connected if you wanna try it out. And then what will happen is, now whenever if the URL changes, it will just automatically update the other one as well and redeploy it. Okay. So that's like using the internal URL reference variable. So I I believe you the way it would work is you just do, so the on directives and the variables themselves, like, if you go to variables. I believe what's the yeah. I guess it's public URL is the value that we will want. So wait. If you go now to the AI agency service and then go to the next public directors URL, because that's the URL value you wanna set. Right? So that more menu and then edit. And then if you do, dollar sign and then double curly braces, you'll be able to actually pull in so I believe the name of the service is directed. So you just do direct us, and then it's gonna be dot yep. Do you see? And then you just choose the public URL Yep. From this list. Got it. So now when you choose it, it's just gonna automatically give you the right URL and it will just be able to read it. So if the other one updates, you just do it. But for this, you're gonna need to hit redeploy again. So it will take some time. So I'd say we can do this after you can cancel. But yeah. And I would say there's actually another cool feature because might as well, if you go to settings, like, okay. It's done. So we can actually test the thing. But we can update, like, the domain to, like, a actual domain because you can now buy domains on railway. Nice. Okay. Yep. So this will give to you just a domain for, the front end itself, and it will have, like, a .up.railway.app at the end. You'll need to specify a port, which I'm not sure what it is on. I I think it should be 3,000. Like, 3,000 should just work. Yeah. Yeah. And if we visit it, might be the incorrect port. You could try eighty eighty as well because that's what I was suggesting in the beginning. Yeah. There we go. There we go. So there is our front end deployed. Yep. And we have a live app. Yeah. Awesome. So that was pretty fast. We went from nothing to a fully deployed front and back end here. Let's see. Was there anything else we should know about Railway and getting this set up here? I mean, if you hit deploy now, it will just redeploy, and you'll actually be able to see on the canvas. There's, like, an arrow, and this, service, like our front end is, referencing the direct us. And that's how you have, like, a connection between the two. And, yeah, other than that, it's like, you can just have everything in one place. Again, like, if you go now to the AI agency service and you click on settings and you also go to networking, from the right. Yeah. And then you can actually choose a custom domain. So when you click on it, you should actually be able to buy a domain straight from here. So like, if you come up with that domain, you can just do it from here as well. Or if you go to like ferry.com\u002Fdomains, you can do it. But yeah, I would say that's kinda like you now have fully like everything in one place, but you know, took us not a lot of time, and we have, like, a fully, fully deployed working back end, front end. Just, yeah, everything is in one place. Yeah. So why don't I recap what we did? We started with a simple idea launching a fictional AI automation agency. We launched infrastructure on Railway. We generated a structured back end with Directus. We populated it with fake content. We generated the front end using Cursor. We deployed the whole thing back to Railway. That's the build it part of today's theme. The key takeaway is that when interfaces can be generated quickly, the back end data model becomes the strategic layer. If someone watching wants to try this themselves, what's just the easiest way to get started on the railway side of things? The easiest way, I would say going to the template you shared would be the easiest place. And if they, you know, wanna use direct this. And also, by the way, I forgot to mention. So if you actually, like, close the, service here, there's like an agent in the top right corner as well, where you can actually also ask questions about your stuff, like actually ask it to make changes and it should be able to make changes, directly. So I believe if you just say like, oh, update, make this update, it should figure things out on its own. Awesome. So you guys got some AI in here too? Yeah. Yeah. In case someone wants everything in the dashboard, they can, but also if they want, the, to use whatever their coding agent of choice, they should be able to do it. But yeah. Cool. Well, thank you for joining us. I hope everybody has a good rest of your Leap Week. Sounds great. Thank you so much for having me. Yeah. Thank you for joining us.","3d92d748-e9d2-4d03-8a5b-cc78b8273739",[508,509],"533d89f7-b567-47f2-8dbf-940e4ff396e0","37090185-0684-40ef-97c0-e860f2b2df77",[],{"id":16,"number":17,"show":4,"year":18,"episodes":512},[20,21,22,23,24,25,26,27],{"id":24,"slug":514,"vimeo_id":515,"description":516,"tile":517,"length":518,"resources":9,"people":9,"episode_number":168,"published":455,"title":519,"video_transcript_html":520,"video_transcript_text":521,"content":9,"seo":522,"status":13,"episode_people":523,"recommendations":526,"season":527},"web-to-backend","1176299027","The web is full of data. We'll show you how to extract it for AI, automation, or whatever you're building.","d8202d8b-9701-4cf8-bee1-b4f595512685",43,"Web to Backend","\u003Cp>Speaker 0: Alright, folks. Welcome to another session here at Directus Leap Week. I am joined by Leo Gregorio from Fire Crawl. We've got some exciting stuff for you today. We're gonna be taming unstructured data.\u003C\u002Fp>\u003Cp>Right? Turning the wild web into ready APIs using FireCrawl and Directus, to to serve those APIs. I am Brian Gillespie, a staff product engineer here at Directus. And, again, joined by special guest, Leo Gregorio from FireCrawl. Leo, maybe maybe I'll kick it over to you for a quick intro for everyone.\u003C\u002Fp>\u003Cp>Speaker 1: It's a pleasure to be here, Brian. I've used Directus for quite a long time, and I'm stoked to be here.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. I'm super excited to have you, man. Yeah. I've messed around with FireCrawl a little bit before this. I agree.\u003C\u002Fp>\u003Cp>I'm I'm no way an expert. I'm glad to hear that you've messed with Directus before. But for the folks who are new to FireCrawl, you know, can you take a few moments just to explain what it what the tool is? Like, what do you guys do? What do you enable for developers?\u003C\u002Fp>\u003Cp>Speaker 1: Sure. Over at FireCrawl, we specialize at providing web data to agents. Not only agents, we can also have endpoints where you can build your data, data web fetcher upon those APIs. But we mainly focus on providing data over to agents in a way that, it's it's basically giving years' eyes over to your cloud code instance to wherever you're really building, to fetch for data. You should be thinking of FireCrawl to do that.\u003C\u002Fp>\u003Cp>Speaker 0: Sick. What are, like, some of the, like, specifics within that? Like, what what capabilities does FireCrawl have?\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. To fetch for data, I like to compare with our manual way of fetching data. So if you want to fetch a specific website, what you would do is search for something. So we have that specific endpoint on searching. You can then use scrape to scrape that specific URL.\u003C\u002Fp>\u003Cp>And from the scrape endpoint, we have a bunch of different formats that we will likely be exploring through this presentation, which are screenshot. You can actually screenshot the entire page. There's a bunch of different ways to take that screenshot. It can be exactly what we're seeing right now. It can be of the entire page, mobile.\u003C\u002Fp>\u003Cp>So that's just an example of one of our formats. We can fetch for summary. We allow the agents to execute and interact with the page, and that helps a lot with context, for example. So you're not only fetching pure HTML. You can fetch clean markdown.\u003C\u002Fp>\u003Cp>You can fetch exactly what you need from that given page, and that's that's the beauty of it. That's what we try to optimize to. And, yeah, we we've been been pretty successful, while doing so.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah, man. I I've watched the growth of the last couple years, so kudos on that. It's it's a really interesting tool. And as I understand it, like, you guys have an agent thing on your endpoint as well. So you could you could basically call an agent your agent from a different agent.\u003C\u002Fp>\u003Cp>Yes. And and get really Yes. Metal with it, which is nice. I I love the ability to, again, just throw in a URL in here and get structured data out of the other side because it Oh, yeah. Complements perfectly with Directus.\u003C\u002Fp>\u003Cp>And what we do is, like, if if you give us structured data, we'll give you ready to go APIs and permissions and and all of that. So, super excited for this. Alright. Let's get down to brass tacks. Right?\u003C\u002Fp>\u003Cp>What are we gonna build today? So the scenario that I've got, basically, I've got a directory of different software. This is on my own site. So this is a a Better Sign Shop. I love the print and sign industry.\u003C\u002Fp>\u003Cp>I can't get out of it even though I've tried. Software comes up a lot. You know, I I guess it does in any industry these days. But, for sign and print, you know, how do they manage their business? There's a bunch of different tools for that.\u003C\u002Fp>\u003Cp>And we've got a directory here that, is sorely unmaintained. Right? All this data was collected manually some years ago, and we've got things like features of a particular software. On on some pages, we have pricing information. But, you know, it's a lot to manage all this personally.\u003C\u002Fp>\u003Cp>It it would be a lot to put on the vendor of the software to maintain. It'd be a lot for anybody on my side to say, okay. Keep all this up to date. Does this seem like a good use case for Firegirl?\u003C\u002Fp>\u003Cp>Speaker 1: It's a perfect use case. Since we provide structured data, you can fetch for that. There's plenty of ways we can fetch for that. So if you already have the specific URL, you can use scrape or you can, like, use the agent that you mentioned. And by the way, the design of that website is pretty neat.\u003C\u002Fp>\u003Cp>Okay. Thank you, man. Yeah. If my, pretty neat.\u003C\u002Fp>\u003Cp>Speaker 0: Okay. Thank you, man. Yeah. My, I I've got three daughters. They love pink and purple.\u003C\u002Fp>\u003Cp>So, hey, like, anything that I do personally, like, it has to have pink in it. Right? Alright. So let's let's talk through maybe how we're gonna build this real quick, and then we will dive into actually, like, going through it. Right?\u003C\u002Fp>\u003Cp>So we've got Okay. We've got a software collection. You know, mostly, I wanna have, like, pricing data. We've got, like, a name. Let's just call it, like, a summary.\u003C\u002Fp>\u003Cp>We're providing a URL. What else do we have? We got pricing data has to have a specific format, which should be good. I'm yeah. Maybe pricing is the the best place to start.\u003C\u002Fp>\u003Cp>So a like, that is going to be I don't know the pricing URLs for this, but I do have the domain. So, like, walk me through what what this is gonna look\u003C\u002Fp>\u003Cp>Speaker 1: like on the FireCrawl side. So from your website, it seems like you already have specific URLs. It doesn't seem like the idea is having a bunch of different URLs. It seems like it's focused on quality. Mhmm.\u003C\u002Fp>\u003Cp>Therefore, if we were to have the specific pricing page, it would be better just because we can send off just one endpoint. It would be just scrape. So if we have that in the database, we can just search for that specific URL and get everything, all the structure, the price, we can check track if the the price changed, everything. If we don't, if the idea is scaling this, so for example, if your website were to have anyone add, any, type of software there Mhmm. This would scale up.\u003C\u002Fp>\u003Cp>And we wouldn't have control over what is the URL paid, the the pricing page, the URL for everything. Right. And then we'd have to create some kind of system where we search and then actually find that that the the pricing page. We can either do that with crawl, because inside of crawl, we have an LLM, or we can use agents to grab everything.\u003C\u002Fp>\u003Cp>Speaker 0: I I got you. What do you recommend in this situation? I'll just go back to FireCrawl here and go to my dashboard.\u003C\u002Fp>\u003Cp>Speaker 1: Because we I'd recommend going for for the pricing page, and we can test that inside of the playground for fire crawl. Let me send the link over.\u003C\u002Fp>\u003Cp>Speaker 0: I will look here in the chat. Here it is. Alright.\u003C\u002Fp>\u003Cp>Speaker 1: So grab any pricing page that we already have for one of those software queries.\u003C\u002Fp>\u003Cp>Speaker 0: Aware of. Okay. I think I think this is the right one. Let me make sure. Pricing.\u003C\u002Fp>\u003Cp>Speaker 1: Okay.\u003C\u002Fp>\u003Cp>Speaker 0: Yep. There we go.\u003C\u002Fp>\u003Cp>Speaker 1: Nice. So\u003C\u002Fp>\u003Cp>Speaker 0: we're just gonna throw this\u003C\u002Fp>\u003Cp>Speaker 1: in. Perfect. As for the format, you can select, let's see. Jason.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Let me zoom back out just a little bit. Alright. So we're gonna\u003C\u002Fp>\u003Cp>Speaker 1: hit edit options. Perfect. And that's basically an LLM that understands what it's seeing inside of the page, and you can prompt it to fetch only the pricing data from that specific page.\u003C\u002Fp>\u003Cp>Speaker 0: Gotcha. Okay. So let me pull this up over here. Oh, format JSON. Alright.\u003C\u002Fp>\u003Cp>So we're gonna edit our options. Right? And here is just basically going to be what I want from the pricing data. Right? So we are going to find this particular one in here.\u003C\u002Fp>\u003Cp>We're gonna look at this and alright. So Perfect.\u003C\u002Fp>\u003Cp>Speaker 1: You already have the schema. Like a\u003C\u002Fp>\u003Cp>Speaker 0: Like a can I just paste JSON here, and it'll pick this up Yep?\u003C\u002Fp>\u003Cp>Speaker 1: Or no? I don't think you can, that would be all It's gotta be, it's gotta be\u003C\u002Fp>\u003Cp>Speaker 0: JSON schema. Okay.\u003C\u002Fp>\u003Cp>Speaker 1: But that's a nice idea. We should add a way to get grab an example and produce the schema. That's that's something.\u003C\u002Fp>\u003Cp>Speaker 0: Starting price, that's gonna be a number. Actually, it's a string.\u003C\u002Fp>\u003Cp>Speaker 1: I I think the first one should be plans, and and it should be an array. Okay.\u003C\u002Fp>\u003Cp>Speaker 0: It should be right. Nested dot. Yeah. Got you.\u003C\u002Fp>\u003Cp>Speaker 1: And then it's an array of objects.\u003C\u002Fp>\u003Cp>Speaker 0: Objects. Perfect. Starting price. And we want pricing\u003C\u002Fp>\u003Cp>Speaker 1: period. Oh, no. For each Actually, inside of the the array of objects, it would be, like, the the plants. Oh, yeah. I think you I think you were go going right, and I yeah.\u003C\u002Fp>\u003Cp>We reversed it. I was just, like, the array.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Sorry. No. All good. I I started typing it, and I realized it as well, man.\u003C\u002Fp>\u003Cp>No worries. It's usually me, like, fat fingering typos on these things instead of, like, actually typing something completely wrong. But, billing cycle. Cool. Billing period.\u003C\u002Fp>\u003Cp>And then we have features, which is gonna be an array itself, array of strings. I got highlight, but I don't think we really need highlight in this case. Okay. Hit save options. Okay.\u003C\u002Fp>\u003Cp>Yeah. Cool. So anything else that I need to That's a checkbox.\u003C\u002Fp>\u003Cp>Speaker 1: It. We can hit start scraping, and let's see what we get. Depending on what we get, maybe the website has a heavy JavaScript, and that might require us to wait a couple seconds before applying the scrape. So that's where the other options comes in. Sick.\u003C\u002Fp>\u003Cp>Alright. There it is.\u003C\u002Fp>\u003Cp>Speaker 0: Price. Sick. Okay. Shopbox Express. Features.\u003C\u002Fp>\u003Cp>Yeah. So we could just it's probably wise to pull this up side by side just to verify what's what's coming in. One zero nine plus 29 user a month. The billing cycle is monthly. We have features, pricing tools.\u003C\u002Fp>\u003Cp>Yeah. This is this is pretty much one to one. I like that the thing truncated, like, some of this data because it's not really necessary.\u003C\u002Fp>\u003Cp>Speaker 1: The show can specify a bit more because the pricing, depending on the the the the column, maybe we don't want exactly the same way the the pricing is there. But\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. And is that done just via the prompt or, like, in the actual JSON structure? Or\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. We we can decide either if, because we can have, like, a strategy where the price could be a number. Right? And then it would be forced to place only a single price and then have, like, optional prices, right Yeah. I get it.\u003C\u002Fp>\u003Cp>Yeah. So it's really it's really up to whatever we're really building with that.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. So it looks like the, like, the the way I've got the front end for this particular thing structured. Right? We're relying on let's take a look at what the pricing plans look like. Right?\u003C\u002Fp>\u003Cp>So we've we've got this really specific, like, format here of, like, we need a number there that's large. Then we've got, like, some additional stuff, and then we have, like, the month. So\u003C\u002Fp>\u003Cp>Speaker 1: let let's have a price, which is a number, a float. Right? And then, additional pricing information. How about that?\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. So we got price. That's a number. Alright. Let's just go back to direct us.\u003C\u002Fp>\u003Cp>Cool. Price. Alright. So would we just specify this, like, up in the prompt of, like, billing cycle should be something like slash month or slash is this the best way to inform it?\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. That that's that's one way that should work pretty fine.\u003C\u002Fp>\u003Cp>Speaker 0: Okay. In this case, we'll say billing period just captures additional per user or extra cost. Alright. Let's see what that does. Let's see.\u003C\u002Fp>\u003Cp>That gives us what we're looking for. And if not, we'll just work on actually integrating this into Directus instead of actually pulling. K. 29. Okay.\u003C\u002Fp>\u003Cp>Price slash per month. 29 per user per month. Yeah. So this is already looking much better. Sick.\u003C\u002Fp>\u003Cp>Yeah.\u003C\u002Fp>\u003Cp>Speaker 1: Okay. I think that's that's better for the front end.\u003C\u002Fp>\u003Cp>Speaker 0: Alright. So if I hit go get code here, this is gonna give me what I need to integrate this inside Directus.\u003C\u002Fp>\u003Cp>Speaker 1: Exactly. You can get a JavaScript code on on on on the right.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Okay. Yeah. And I could also, like, get curls. There's a couple different ways to do this.\u003C\u002Fp>\u003Cp>Like, we could easily, like, write an extension inside Directus that could could do this for us. Since this seems pretty lightweight, we could just use direct as flows for this as well. And I I think we've even got, like, a fire crawl extension in the marketplace for this, but let's just let's just figure out how to do this, through flows. That might be the the easiest, quickest way here so we don't have to worry about distributing an extension anywhere. Alright.\u003C\u002Fp>\u003Cp>So Let's go. We will set up a new flow. I think we probably just, like, manually trigger this, and then we could set it up on a later. Alright. So we're gonna say fetch pricing data.\u003C\u002Fp>\u003Cp>Sick. Alright. We're gonna manually trigger this as a hook. We are looking for this is always whenever you do a demo, you always find flaws in your own software. We'd need a we'd need a search for this for sure.\u003C\u002Fp>\u003Cp>Alright. So we're gonna manually trigger this on the software collection. Next, we would just do what we call a HTTP webhook requesting URL. That's the operation. We'll say call fire crawl.\u003C\u002Fp>\u003Cp>And I'm gonna definitely have to roll the token after this. But\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. I was just about to mention.\u003C\u002Fp>\u003Cp>Speaker 0: Luckily, this is also a local host as well. Alright. So we're just gonna add a header, authorization. Bear no. I could also, like, throw this in the EMV, but we're not gonna bother with that for now.\u003C\u002Fp>\u003Cp>Authorization. There's those typos that I spoke about. What else we need? Content type. Application.\u003C\u002Fp>\u003Cp>JSON. Sick. Okay. And then here's the data. So that's what we're sending in the body, except the only thing that we're gonna have to change here, right, is the URL that we're we're triggering this from.\u003C\u002Fp>\u003Cp>So Exactly. In this case, Directus has this functionality where we could do something like this, where we add, like, a a mustache syntax, and we can say trigger dot body dot, I don't know what we're gonna call this pricing URL. I I think it may be payload. I don't know. It will we'll test this in a moment.\u003C\u002Fp>\u003Cp>So, basically, what this will do is populate that from what we call the the trigger. And I'm just gonna go in and because we're not tracking the URL, maybe we just we do that pricing URL right here. Pricing page URL stream. Cool. Hit save.\u003C\u002Fp>\u003Cp>Alright. And before we add anything else, alright, all I'm gonna do is go in. We're gonna test this out. Fetch pricing data. Excited for this.\u003C\u002Fp>\u003Cp>Why didn't it show? It's probably fetching data, but it is not did I forget to save it? Requires selection. Oh, I guess I did forget to save it. Pricing URL.\u003C\u002Fp>\u003Cp>That happens. Alright. Sick. There we go. Got an input.\u003C\u002Fp>\u003Cp>Save. Okay. Now alright. This failed anyway. Right?\u003C\u002Fp>\u003Cp>Bad request. So I had to look at that. Let's see. But now if we go into ShopVox, here we go. It fetch pricing data.\u003C\u002Fp>\u003Cp>We've got the URL somewhere. Run flow. Cool. That triggered successfully. I can just go back to the flow.\u003C\u002Fp>\u003Cp>Normally, I would have these, like, set up differently. But alright. So we've got the body. No. It's not under payload.\u003C\u002Fp>\u003Cp>That's why it failed. Okay. So here's the pricing URL. It's triggered. So, basically, direct as flow's easy way to create these automations.\u003C\u002Fp>\u003Cp>Whenever you run a flow, each op each step or operations as we call them, they append their data, to an object that you could pull from. So in this case, the trigger has a special one where it has a dollar sign in front of it, and it's gonna be trigger.body or, well, it should be payload.body, I thought. Pricing URL. It should be that data. Here's what we passed in, but, yeah, we could see it's it's undefined right here.\u003C\u002Fp>\u003Cp>So that's probably where the issue lies. Trigger that body.\u003C\u002Fp>\u003Cp>Speaker 1: A column? An additional column at the end, maybe?\u003C\u002Fp>\u003Cp>Speaker 0: Trigger that body.\u003C\u002Fp>\u003Cp>Speaker 1: Oh, no.\u003C\u002Fp>\u003Cp>Speaker 0: No. No. This should be trigger.payload. Here's the options passed. Trigger.payload.body.pricing URL.\u003C\u002Fp>\u003Cp>That should be it. Let's just add what we can do is add an intermediate step in here. I'm not sure why this is not populating correctly. Triggered. Let's try I just wanna see what payload comes back with.\u003C\u002Fp>\u003Cp>Do you have to pass HTTPS for your for the API, or will it\u003C\u002Fp>\u003Cp>Speaker 1: pick up without HTTPS? It it should be able to pick up without HTTPS.\u003C\u002Fp>\u003Cp>Speaker 0: Okay.\u003C\u002Fp>\u003Cp>Speaker 1: It should just add it there.\u003C\u002Fp>\u003Cp>Speaker 0: Alright. Let's see. Still showing undefined. Trigger. Why are we not getting this information that we need?\u003C\u002Fp>\u003Cp>Alright. Let's put in an intermediate step here. Just gonna basically run some JavaScript. We have a way to do that. We're just gonna use run script.\u003C\u002Fp>\u003Cp>I'm just gonna call this format. And here, what it does, it it receives all the data up to this operation that's already ran. And I just wanna return data dot trigger. And I'm I'm just gonna see I'm gonna wire this up, make sure we're getting that data properly. Flows.\u003C\u002Fp>\u003Cp>Dropbox. HTTPS. Run flow. Fetch our pricing data. Here we go.\u003C\u002Fp>\u003Cp>Unexpected token. What are we even doing here? The demos. The the demo gremlins. Unexpected dot.\u003C\u002Fp>\u003Cp>Why is it not liking that? Oh, yeah. Duh. Return data. Let's do it this way.\u003C\u002Fp>\u003Cp>Alright. Now open a new window. Get a little smarter here. Close. Fetch pricing data.\u003C\u002Fp>\u003Cp>URL. K. Refresh. What do we get? Okay.\u003C\u002Fp>\u003Cp>Cool. There we go. We can see the data. I don't know, again, why it wasn't liking that, but we'll just wire this up now. Let's see if this actually works.\u003C\u002Fp>\u003Cp>We're gonna call formats. And, basically, in this case, let's just return dot payload body. Alright. We can see we're getting oh, okay. I don't see a payload.\u003C\u002Fp>\u003Cp>That's probably where we were going wrong. Should just be body. That's my fault. Alright. So let's test one more time.\u003C\u002Fp>\u003Cp>Test. Here we go. Okay. There we go. Data.\u003C\u002Fp>\u003Cp>Alright.\u003C\u002Fp>\u003Cp>Speaker 1: There it is.\u003C\u002Fp>\u003Cp>Speaker 0: This is gonna this is gonna work this time. 100%. Here we go. Let's go. We are going to actually now we're gonna fetch that from format.payload.\u003C\u002Fp>\u003Cp>Actually, it's not, is it? Body.pricing URL. Nope. It's just nobody. There we go.\u003C\u002Fp>\u003Cp>Format .pricing URL should be good Or did I data dot pricing URL. Gotta help us. Format dot data. Alright. It is going to work this time.\u003C\u002Fp>\u003Cp>We are going to alright. So now we could see. Right? This is, we could we could actually set this up to be asynchronous as we wanted, but it is waiting for that to come back. And now bada bing bada boom.\u003C\u002Fp>\u003Cp>What do we have? This is the this is the data structure that we want. Right? Yeah. Exactly.\u003C\u002Fp>\u003Cp>Sick. Okay. Alright. So now we just need to basically wire that up to direct us. And in this case, it's going to be, let me make this full screen again.\u003C\u002Fp>\u003Cp>Speaker 1: And we'll Additionally, just to make this workflow, more reliable and just continue applying changes if something was actually changed from the pricing page, we can use the change tracking. So this would be just an additional format that that would instruct our workflow, yeah, something changed, right, instead of always fetching. Yeah. But that's Yeah. There's plenty more things that we we can we can add just to make sure everything's on point.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Okay. Well, it let me let's make sure we can update the software first, and then we will then we'll tackle that, man. Alright. So we've got software.\u003C\u002Fp>\u003Cp>That's our collection. We are gonna I'm just gonna give this full access for now. And what we need to do, this should work here. We're gonna do something like trigger dot keys dot zero. So it trigger dot keys.\u003C\u002Fp>\u003Cp>This is just an array of the the primary key for, whatever we're triggering on. I'll hit enter there. And then the payload that we're going to send I'm gonna save this real quick. We're gonna look at what we received back. So it's just Navigate the tree.\u003C\u002Fp>\u003Cp>Speaker 1: Dot JSON, basically.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. So it should be payload\u003C\u002Fp>\u003Cp>Speaker 1: Actually, dot dot data dot data dot data. Yeah.\u003C\u002Fp>\u003Cp>Speaker 0: Dot data dot\u003C\u002Fp>\u003Cp>Speaker 1: Are there the q dot data there? Oh, oh,\u003C\u002Fp>\u003Cp>Speaker 0: I see JSON. Yeah. The it's like it's it's nested because the operation itself returns it in a data, and this is the fetch call that gets returned. So it's so it is data dot data dot JSON. JSON.\u003C\u002Fp>\u003Cp>Is what we want. Yep. Alright. So we should be able to do this where we have we're just gonna check the key here. I call this call fire crawl.\u003C\u002Fp>\u003Cp>I can always adjust these keys and that's, again, that's what it's gonna pin to. So it should be able to do something simple like this where we say firecrawl.data.data.json. And this is the pricing that we're going to update. I think it's surprising. What did we we'll open this up.\u003C\u002Fp>\u003Cp>What did I what did I call it here? Pricing data. Let me look at the actual data model real quick. Pricing data. That's that is indeed what it needs to be.\u003C\u002Fp>\u003Cp>Pricing underscore data. Alright. Now go back to the side by side, get that lovely shot of fire crawl. And now this is actually gonna work. Right?\u003C\u002Fp>\u003Cp>Yep. If the demo gods are on our side.\u003C\u002Fp>\u003Cp>Speaker 1: Always in the demo.\u003C\u002Fp>\u003Cp>Speaker 0: Here we go. Let's save this just just to make sure. Alright. Run flow. Now we should see this pricing change if everything works okay.\u003C\u002Fp>\u003Cp>Updated two fields. Something I'm assuming something failed. So it wasn't fire crawl. It was just me. BSS software.\u003C\u002Fp>\u003Cp>Keys undefined. Alright. Body dot keys. Okay. That's what it is.\u003C\u002Fp>\u003Cp>Operator error again.\u003C\u002Fp>\u003Cp>Speaker 1: Body dot keys.\u003C\u002Fp>\u003Cp>Speaker 0: Alright. One more time. Fetch pricing data. Oh, no. You're gonna use all my FireCrawl credits before we even use them, actually.\u003C\u002Fp>\u003Cp>Yeah. Sick. Okay. Now we could see it actually worked this time. So amazing.\u003C\u002Fp>\u003Cp>Right? Now we've got this wired up where it will update the pricing data for us on on this schedule, or well, actually, not schedule. It's totally manual. Right? That's still not what we want.\u003C\u002Fp>\u003Cp>Talk to me about the the change tracking bids.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. Change tracking is it's a format that you'll specify just like we specify JSON as a format, we can add chain tracking. And inside of that chain tracking, like we fetched to JSON, there'll be the chain tracking object that will tell us, hey. Something changed in the website or, no. Nothing changed.\u003C\u002Fp>\u003Cp>So you don't really need to update anything. And that's just that's an add on. We don't we don't really need to implement this in here. But it it's nice that you mentioned about wasting your Firepower credits because the reason why we went for scraping, which, by the way, we can use batch scraping to do everything, all at once, do everything in parallel. Every scrape you do to to every single page wastes one single credit.\u003C\u002Fp>\u003Cp>Gotcha. And the more you abstract Yeah. Yeah. Yeah. And the the the more you abstract, the more, like, for example, if you use crawl, crawl is a combination of map with scrape, then, you'll like, the credits will, be higher for that just because you're fetching the different pages.\u003C\u002Fp>\u003Cp>If you then abstract away to using agents, since the agent executes everything for us, you don't really need to think about searching, scraping, mapping, or anything. It should, it will be a bit more expensive just because it's handling a bunch of things that you really don't need to decide. So Gotcha. Yeah.\u003C\u002Fp>\u003Cp>Speaker 0: So it's like a sliding scale of what your what your your tolerance is of, like, hey. I know the exact workflow that I need. Exactly. You could you could be very surgical or, like, the agent Yes. Would just be, like, here's the URL.\u003C\u002Fp>\u003Cp>Here's some guidance. Here's the data that I want. Yes. Just work until you find that. Yes.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. And and we can get creative with that. So, while you were implementing, I thought we could use agents to fetch for the pricing page or for whatever pages from that specific software, and then just place that in over back in Directus, place it in the database, and then always have Fireflies scrape for that given URL. So we would just be using agent to populate the URLs that will be scraped, not needing to use agent every single time. So we can get really creative with this, to ensure that we're only scraping at the times that we really need to.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Okay. Sick. Let's let's see how we do that. Right?\u003C\u002Fp>\u003Cp>I'm in the the fire crawl dashboard here. Is this something that's better done here, or is it Yeah. Like, in\u003C\u002Fp>\u003Cp>Speaker 1: code or It's it's it's a nice place for us to test it.\u003C\u002Fp>\u003Cp>Speaker 0: Okay.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. Alright. In there, you can actually just type in it could be a very high level. So example, just get the name of the you don't even need to place the URL, to be honest. You can just place Okay.\u003C\u002Fp>\u003Cp>Place in the name of the software and say, fetch the pricing for this software.\u003C\u002Fp>\u003Cp>Speaker 0: For let's see what we got. Let's do a different one. Let's say, core bridge here. First, the pricing for CoreBridge software.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah.\u003C\u002Fp>\u003Cp>Speaker 0: We'll just say sign industry in case they've got there's multiple. Right? So what's the the difference between Spark Mini and Spark Pro?\u003C\u002Fp>\u003Cp>Speaker 1: Spark Mini is so it's lightweight. It it's like the the comparison between using a Haiku model and a Claude or an op opus model. So one will be faster and the other will be just more efficient.\u003C\u002Fp>\u003Cp>Speaker 0: Alright. Yeah. So here we are, Leo. We've seen, we've got this thing is it's fetching the pricing, and now it's asking for the details here. Is that, like, a failure for for me No.\u003C\u002Fp>\u003Cp>Speaker 1: It's actually instructing this? Yeah. It's a default just to fetch for more information. Usually, we don't give enough context to LLMs. So it's just asking for that context, but let's we can skip that.\u003C\u002Fp>\u003Cp>There's a button to just skip and immediately so down there Okay. Yeah.\u003C\u002Fp>\u003Cp>Speaker 0: I see it.\u003C\u002Fp>\u003Cp>Speaker 1: We could just skip through it. It'll generate a specific schema that it should use. So it's already defining that schema. We always always try to output structured data. Yeah.\u003C\u002Fp>\u003Cp>Sick. And then now we and then Yes. Exactly. And then you can just run the agent, and it should fetch everything that we need. Since it it it runs asynchronously Uh-huh.\u003C\u002Fp>\u003Cp>You can ask for for it to alert us back whenever it's done.\u003C\u002Fp>\u003Cp>Speaker 0: So let's see what it's come up with. Right? It's got core bridge starter, SMB, core bridge plus. It's it's came back with, like, eight plans.\u003C\u002Fp>\u003Cp>Speaker 1: Oh, yeah. Let let's see if it's even, like, previous pricing for them.\u003C\u002Fp>\u003Cp>Speaker 0: No. It looks like there are that many plans. Annual. Okay. So it's divided into monthly and annual.\u003C\u002Fp>\u003Cp>Okay. Six. So, you know, I have $1.99, $3.99, or $1.29. I'm sorry. 549 and 899.\u003C\u002Fp>\u003Cp>Yeah. This is so the data checks out, man. I think, you know, that's a a concern with everybody these days, especially on, like, the the agents. Do you what's the the secret sauce? Is there yeah.\u003C\u002Fp>\u003Cp>Do you care to share? Like, how do you guys get accurate results on this stuff?\u003C\u002Fp>\u003Cp>Speaker 1: Oh, it's it's a mixture of system prompting using the best LLMs, understanding the flow of scraping. So Mhmm. Just having a fallback to when you need to interact with data, understanding, yeah, caching is is a part of it as well. So, yeah, it it's a bunch of I I I I feel like it's a bunch of little things that when summed up gets a pretty nice result like this.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Nice, man. Nice. Well, I know we're we're probably coming up on time. So, like, I won't go through the the trouble of integrating, like, the agent, but, you know, the fact that it would be, like, super simple here\u003C\u002Fp>\u003Cp>Speaker 1: Yeah.\u003C\u002Fp>\u003Cp>Speaker 0: Again, it's just a v two slash agent, and then we'll It would be\u003C\u002Fp>\u003Cp>Speaker 1: the same process as before.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Yeah. Actually, it may not be that bad. Alright. So we go back to our flow.\u003C\u002Fp>\u003Cp>You know, I would probably change this as well, right, where instead of a manual trigger, we could go into, like, a cron, and I could trigger this, like, once a week or once a month or something like that. We'll we'll just keep it manual for now. But let's let's try this out and see. So we're gonna change the\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. Change it over to agent.\u003C\u002Fp>\u003Cp>Speaker 0: And then it's just gonna\u003C\u002Fp>\u003Cp>Speaker 1: be need to add a prompt and a a schema?\u003C\u002Fp>\u003Cp>Speaker 0: Do we have the we got the prompt already? Right? And then the rest of this, we just\u003C\u002Fp>\u003Cp>Speaker 1: remove? Nope. Yeah. I I think\u003C\u002Fp>\u003Cp>Speaker 0: she can actually\u003C\u002Fp>\u003Cp>Speaker 1: remove everything since the prompt was specific to the URL it was given.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. We just need the the schema. Right? Alright. So we have prompts.\u003C\u002Fp>\u003Cp>Yep. Fetch the pricing for company name. Let's do the oh, I don't know how this is gonna work out. We'll see.\u003C\u002Fp>\u003Cp>Speaker 1: And we can actually explore even more. I I mean, we don't have enough enough time to do so, but every single schema from your website, not only pricing, but could be handled from the agent. So we could have many different arrays and and objects to explore all the sections of that.\u003C\u002Fp>\u003Cp>Speaker 0: Got you. Yeah. So it doesn't have to be, like, pricing. We could go in and basically, we're saying we could do the entirety of this and have Yes. Like, agent just continue.\u003C\u002Fp>\u003Cp>Yeah. Like like, attributes or any of that. Everything. Yep. Oh, man.\u003C\u002Fp>\u003Cp>That would be amazing. Exactly. Yeah. Sick. Okay.\u003C\u002Fp>\u003Cp>Well, hey. This is probably a good stopping point then. You know, on on fire crawl, man, like, you know, this is just as obviously, like, one simple workflow that we've touched on. Yeah. What's what's next for you guys?\u003C\u002Fp>\u003Cp>Or, like, what, is there anything you wanted to highlight out of the out of this?\u003C\u002Fp>\u003Cp>Speaker 1: Let's see. I believe I believe FireCrawl. I think from this simple demo, it shows implementing something as simple as this. You get you get a a lot. Right?\u003C\u002Fp>\u003Cp>So from just one endpoint or one tool from Firegral, you can explore, the entire web. And there is so many things that we can build with this. Because before before AI, before all this wave of AI, scraping was something really difficult. Scraping was something that, you'd have to handle everything. You'd have to try to treat and filter out specific words, specific sessions.\u003C\u002Fp>\u003Cp>And now with FireCrawl, you have an LLM handling everything for you. It just allows us to build a lot more. And not only to build with FireCrawl because we we showed an example where we're using the FireCrawl API inside of our app. Right? Yeah.\u003C\u002Fp>\u003Cp>But even coding, and I I'm seeing directors implementing more and more AI tools. Eventually We are then. Yeah. Eventually, you could integrate Firewall into those agents as well and have Firewall have information, have much more context because whoever uses AI, enough understands that context is king. Right?\u003C\u002Fp>\u003Cp>And if you parrot it with the best web scraper out there, then you'll you'll have a lot of, pretty much best results.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah, man.\u003C\u002Fp>\u003Cp>Speaker 1: But yeah. I mean Can we file or you guys\u003C\u002Fp>\u003Cp>Speaker 0: have got the CLI now as well. I see. Right? Yes. That could be the next step for me is, like, oh, let's mess with this.\u003C\u002Fp>\u003Cp>Right? Because they like, my day to day right now is a a lot of quad code certainly.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. And if the agent uses a CLI, it it can do a lot more. Right?\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Yeah. Sick. Okay. Yeah.\u003C\u002Fp>\u003Cp>So yeah. Another follow-up session then then for sure where we're gonna take the direct us MCP, and then we will add the fire crawl CLI, and then we will just turn cloud code loose. Because everything that we did here today, like, you could do that via, the direct SMTP. So I could have Claude build a flow that just calls fire crawl agent and, you know, we could simplify all this work. But Yeah.\u003C\u002Fp>\u003Cp>Speaker 1: It would be a matter of five minutes for it to build the entire page.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah, man. Sick. Sick. Cool. Well, Leo, man.\u003C\u002Fp>\u003Cp>And thanks for the the session. I I really appreciate you guys joining.\u003C\u002Fp>\u003Cp>Speaker 1: Thanks. Thanks for for having me. Just one more just an additional tip. Follow our YouTube channel.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Our\u003C\u002Fp>\u003Cp>Speaker 1: YouTube channel, they're we're we're posting everything there. We launch a lot. So to keep up with the scraping industry, feel free to subscribe there.\u003C\u002Fp>\u003Cp>Speaker 0: Fire crawl YouTube. At fire crawl underscore dev. There you go. Yeah. Yeah.\u003C\u002Fp>\u003Cp>Sick. I see your face. There you are, man. Awesome, dude. Well, again, thanks for joining.\u003C\u002Fp>\u003Cp>This has been a fun session, and we could definitely follow-up again with a a run this back, man.\u003C\u002Fp>\u003Cp>Speaker 1: Absolutely. Alright. Excited to do it again.\u003C\u002Fp>\u003Cp>Speaker 0: Alright. See you. Thanks, everybody.\u003C\u002Fp>","Alright, folks. Welcome to another session here at Directus Leap Week. I am joined by Leo Gregorio from Fire Crawl. We've got some exciting stuff for you today. We're gonna be taming unstructured data. Right? Turning the wild web into ready APIs using FireCrawl and Directus, to to serve those APIs. I am Brian Gillespie, a staff product engineer here at Directus. And, again, joined by special guest, Leo Gregorio from FireCrawl. Leo, maybe maybe I'll kick it over to you for a quick intro for everyone. It's a pleasure to be here, Brian. I've used Directus for quite a long time, and I'm stoked to be here. Yeah. I'm super excited to have you, man. Yeah. I've messed around with FireCrawl a little bit before this. I agree. I'm I'm no way an expert. I'm glad to hear that you've messed with Directus before. But for the folks who are new to FireCrawl, you know, can you take a few moments just to explain what it what the tool is? Like, what do you guys do? What do you enable for developers? Sure. Over at FireCrawl, we specialize at providing web data to agents. Not only agents, we can also have endpoints where you can build your data, data web fetcher upon those APIs. But we mainly focus on providing data over to agents in a way that, it's it's basically giving years' eyes over to your cloud code instance to wherever you're really building, to fetch for data. You should be thinking of FireCrawl to do that. Sick. What are, like, some of the, like, specifics within that? Like, what what capabilities does FireCrawl have? Yeah. To fetch for data, I like to compare with our manual way of fetching data. So if you want to fetch a specific website, what you would do is search for something. So we have that specific endpoint on searching. You can then use scrape to scrape that specific URL. And from the scrape endpoint, we have a bunch of different formats that we will likely be exploring through this presentation, which are screenshot. You can actually screenshot the entire page. There's a bunch of different ways to take that screenshot. It can be exactly what we're seeing right now. It can be of the entire page, mobile. So that's just an example of one of our formats. We can fetch for summary. We allow the agents to execute and interact with the page, and that helps a lot with context, for example. So you're not only fetching pure HTML. You can fetch clean markdown. You can fetch exactly what you need from that given page, and that's that's the beauty of it. That's what we try to optimize to. And, yeah, we we've been been pretty successful, while doing so. Yeah, man. I I've watched the growth of the last couple years, so kudos on that. It's it's a really interesting tool. And as I understand it, like, you guys have an agent thing on your endpoint as well. So you could you could basically call an agent your agent from a different agent. Yes. And and get really Yes. Metal with it, which is nice. I I love the ability to, again, just throw in a URL in here and get structured data out of the other side because it Oh, yeah. Complements perfectly with Directus. And what we do is, like, if if you give us structured data, we'll give you ready to go APIs and permissions and and all of that. So, super excited for this. Alright. Let's get down to brass tacks. Right? What are we gonna build today? So the scenario that I've got, basically, I've got a directory of different software. This is on my own site. So this is a a Better Sign Shop. I love the print and sign industry. I can't get out of it even though I've tried. Software comes up a lot. You know, I I guess it does in any industry these days. But, for sign and print, you know, how do they manage their business? There's a bunch of different tools for that. And we've got a directory here that, is sorely unmaintained. Right? All this data was collected manually some years ago, and we've got things like features of a particular software. On on some pages, we have pricing information. But, you know, it's a lot to manage all this personally. It it would be a lot to put on the vendor of the software to maintain. It'd be a lot for anybody on my side to say, okay. Keep all this up to date. Does this seem like a good use case for Firegirl? It's a perfect use case. Since we provide structured data, you can fetch for that. There's plenty of ways we can fetch for that. So if you already have the specific URL, you can use scrape or you can, like, use the agent that you mentioned. And by the way, the design of that website is pretty neat. Okay. Thank you, man. Yeah. If my, pretty neat. Okay. Thank you, man. Yeah. My, I I've got three daughters. They love pink and purple. So, hey, like, anything that I do personally, like, it has to have pink in it. Right? Alright. So let's let's talk through maybe how we're gonna build this real quick, and then we will dive into actually, like, going through it. Right? So we've got Okay. We've got a software collection. You know, mostly, I wanna have, like, pricing data. We've got, like, a name. Let's just call it, like, a summary. We're providing a URL. What else do we have? We got pricing data has to have a specific format, which should be good. I'm yeah. Maybe pricing is the the best place to start. So a like, that is going to be I don't know the pricing URLs for this, but I do have the domain. So, like, walk me through what what this is gonna look like on the FireCrawl side. So from your website, it seems like you already have specific URLs. It doesn't seem like the idea is having a bunch of different URLs. It seems like it's focused on quality. Mhmm. Therefore, if we were to have the specific pricing page, it would be better just because we can send off just one endpoint. It would be just scrape. So if we have that in the database, we can just search for that specific URL and get everything, all the structure, the price, we can check track if the the price changed, everything. If we don't, if the idea is scaling this, so for example, if your website were to have anyone add, any, type of software there Mhmm. This would scale up. And we wouldn't have control over what is the URL paid, the the pricing page, the URL for everything. Right. And then we'd have to create some kind of system where we search and then actually find that that the the pricing page. We can either do that with crawl, because inside of crawl, we have an LLM, or we can use agents to grab everything. I I got you. What do you recommend in this situation? I'll just go back to FireCrawl here and go to my dashboard. Because we I'd recommend going for for the pricing page, and we can test that inside of the playground for fire crawl. Let me send the link over. I will look here in the chat. Here it is. Alright. So grab any pricing page that we already have for one of those software queries. Aware of. Okay. I think I think this is the right one. Let me make sure. Pricing. Okay. Yep. There we go. Nice. So we're just gonna throw this in. Perfect. As for the format, you can select, let's see. Jason. Yeah. Let me zoom back out just a little bit. Alright. So we're gonna hit edit options. Perfect. And that's basically an LLM that understands what it's seeing inside of the page, and you can prompt it to fetch only the pricing data from that specific page. Gotcha. Okay. So let me pull this up over here. Oh, format JSON. Alright. So we're gonna edit our options. Right? And here is just basically going to be what I want from the pricing data. Right? So we are going to find this particular one in here. We're gonna look at this and alright. So Perfect. You already have the schema. Like a Like a can I just paste JSON here, and it'll pick this up Yep? Or no? I don't think you can, that would be all It's gotta be, it's gotta be JSON schema. Okay. But that's a nice idea. We should add a way to get grab an example and produce the schema. That's that's something. Starting price, that's gonna be a number. Actually, it's a string. I I think the first one should be plans, and and it should be an array. Okay. It should be right. Nested dot. Yeah. Got you. And then it's an array of objects. Objects. Perfect. Starting price. And we want pricing period. Oh, no. For each Actually, inside of the the array of objects, it would be, like, the the plants. Oh, yeah. I think you I think you were go going right, and I yeah. We reversed it. I was just, like, the array. Yeah. Sorry. No. All good. I I started typing it, and I realized it as well, man. No worries. It's usually me, like, fat fingering typos on these things instead of, like, actually typing something completely wrong. But, billing cycle. Cool. Billing period. And then we have features, which is gonna be an array itself, array of strings. I got highlight, but I don't think we really need highlight in this case. Okay. Hit save options. Okay. Yeah. Cool. So anything else that I need to That's a checkbox. It. We can hit start scraping, and let's see what we get. Depending on what we get, maybe the website has a heavy JavaScript, and that might require us to wait a couple seconds before applying the scrape. So that's where the other options comes in. Sick. Alright. There it is. Price. Sick. Okay. Shopbox Express. Features. Yeah. So we could just it's probably wise to pull this up side by side just to verify what's what's coming in. One zero nine plus 29 user a month. The billing cycle is monthly. We have features, pricing tools. Yeah. This is this is pretty much one to one. I like that the thing truncated, like, some of this data because it's not really necessary. The show can specify a bit more because the pricing, depending on the the the the column, maybe we don't want exactly the same way the the pricing is there. But Yeah. And is that done just via the prompt or, like, in the actual JSON structure? Or Yeah. We we can decide either if, because we can have, like, a strategy where the price could be a number. Right? And then it would be forced to place only a single price and then have, like, optional prices, right Yeah. I get it. Yeah. So it's really it's really up to whatever we're really building with that. Yeah. So it looks like the, like, the the way I've got the front end for this particular thing structured. Right? We're relying on let's take a look at what the pricing plans look like. Right? So we've we've got this really specific, like, format here of, like, we need a number there that's large. Then we've got, like, some additional stuff, and then we have, like, the month. So let let's have a price, which is a number, a float. Right? And then, additional pricing information. How about that? Yeah. So we got price. That's a number. Alright. Let's just go back to direct us. Cool. Price. Alright. So would we just specify this, like, up in the prompt of, like, billing cycle should be something like slash month or slash is this the best way to inform it? Yeah. That that's that's one way that should work pretty fine. Okay. In this case, we'll say billing period just captures additional per user or extra cost. Alright. Let's see what that does. Let's see. That gives us what we're looking for. And if not, we'll just work on actually integrating this into Directus instead of actually pulling. K. 29. Okay. Price slash per month. 29 per user per month. Yeah. So this is already looking much better. Sick. Yeah. Okay. I think that's that's better for the front end. Alright. So if I hit go get code here, this is gonna give me what I need to integrate this inside Directus. Exactly. You can get a JavaScript code on on on on the right. Yeah. Okay. Yeah. And I could also, like, get curls. There's a couple different ways to do this. Like, we could easily, like, write an extension inside Directus that could could do this for us. Since this seems pretty lightweight, we could just use direct as flows for this as well. And I I think we've even got, like, a fire crawl extension in the marketplace for this, but let's just let's just figure out how to do this, through flows. That might be the the easiest, quickest way here so we don't have to worry about distributing an extension anywhere. Alright. So Let's go. We will set up a new flow. I think we probably just, like, manually trigger this, and then we could set it up on a later. Alright. So we're gonna say fetch pricing data. Sick. Alright. We're gonna manually trigger this as a hook. We are looking for this is always whenever you do a demo, you always find flaws in your own software. We'd need a we'd need a search for this for sure. Alright. So we're gonna manually trigger this on the software collection. Next, we would just do what we call a HTTP webhook requesting URL. That's the operation. We'll say call fire crawl. And I'm gonna definitely have to roll the token after this. But Yeah. I was just about to mention. Luckily, this is also a local host as well. Alright. So we're just gonna add a header, authorization. Bear no. I could also, like, throw this in the EMV, but we're not gonna bother with that for now. Authorization. There's those typos that I spoke about. What else we need? Content type. Application. JSON. Sick. Okay. And then here's the data. So that's what we're sending in the body, except the only thing that we're gonna have to change here, right, is the URL that we're we're triggering this from. So Exactly. In this case, Directus has this functionality where we could do something like this, where we add, like, a a mustache syntax, and we can say trigger dot body dot, I don't know what we're gonna call this pricing URL. I I think it may be payload. I don't know. It will we'll test this in a moment. So, basically, what this will do is populate that from what we call the the trigger. And I'm just gonna go in and because we're not tracking the URL, maybe we just we do that pricing URL right here. Pricing page URL stream. Cool. Hit save. Alright. And before we add anything else, alright, all I'm gonna do is go in. We're gonna test this out. Fetch pricing data. Excited for this. Why didn't it show? It's probably fetching data, but it is not did I forget to save it? Requires selection. Oh, I guess I did forget to save it. Pricing URL. That happens. Alright. Sick. There we go. Got an input. Save. Okay. Now alright. This failed anyway. Right? Bad request. So I had to look at that. Let's see. But now if we go into ShopVox, here we go. It fetch pricing data. We've got the URL somewhere. Run flow. Cool. That triggered successfully. I can just go back to the flow. Normally, I would have these, like, set up differently. But alright. So we've got the body. No. It's not under payload. That's why it failed. Okay. So here's the pricing URL. It's triggered. So, basically, direct as flow's easy way to create these automations. Whenever you run a flow, each op each step or operations as we call them, they append their data, to an object that you could pull from. So in this case, the trigger has a special one where it has a dollar sign in front of it, and it's gonna be trigger.body or, well, it should be payload.body, I thought. Pricing URL. It should be that data. Here's what we passed in, but, yeah, we could see it's it's undefined right here. So that's probably where the issue lies. Trigger that body. A column? An additional column at the end, maybe? Trigger that body. Oh, no. No. No. This should be trigger.payload. Here's the options passed. Trigger.payload.body.pricing URL. That should be it. Let's just add what we can do is add an intermediate step in here. I'm not sure why this is not populating correctly. Triggered. Let's try I just wanna see what payload comes back with. Do you have to pass HTTPS for your for the API, or will it pick up without HTTPS? It it should be able to pick up without HTTPS. Okay. It should just add it there. Alright. Let's see. Still showing undefined. Trigger. Why are we not getting this information that we need? Alright. Let's put in an intermediate step here. Just gonna basically run some JavaScript. We have a way to do that. We're just gonna use run script. I'm just gonna call this format. And here, what it does, it it receives all the data up to this operation that's already ran. And I just wanna return data dot trigger. And I'm I'm just gonna see I'm gonna wire this up, make sure we're getting that data properly. Flows. Dropbox. HTTPS. Run flow. Fetch our pricing data. Here we go. Unexpected token. What are we even doing here? The demos. The the demo gremlins. Unexpected dot. Why is it not liking that? Oh, yeah. Duh. Return data. Let's do it this way. Alright. Now open a new window. Get a little smarter here. Close. Fetch pricing data. URL. K. Refresh. What do we get? Okay. Cool. There we go. We can see the data. I don't know, again, why it wasn't liking that, but we'll just wire this up now. Let's see if this actually works. We're gonna call formats. And, basically, in this case, let's just return dot payload body. Alright. We can see we're getting oh, okay. I don't see a payload. That's probably where we were going wrong. Should just be body. That's my fault. Alright. So let's test one more time. Test. Here we go. Okay. There we go. Data. Alright. There it is. This is gonna this is gonna work this time. 100%. Here we go. Let's go. We are going to actually now we're gonna fetch that from format.payload. Actually, it's not, is it? Body.pricing URL. Nope. It's just nobody. There we go. Format .pricing URL should be good Or did I data dot pricing URL. Gotta help us. Format dot data. Alright. It is going to work this time. We are going to alright. So now we could see. Right? This is, we could we could actually set this up to be asynchronous as we wanted, but it is waiting for that to come back. And now bada bing bada boom. What do we have? This is the this is the data structure that we want. Right? Yeah. Exactly. Sick. Okay. Alright. So now we just need to basically wire that up to direct us. And in this case, it's going to be, let me make this full screen again. And we'll Additionally, just to make this workflow, more reliable and just continue applying changes if something was actually changed from the pricing page, we can use the change tracking. So this would be just an additional format that that would instruct our workflow, yeah, something changed, right, instead of always fetching. Yeah. But that's Yeah. There's plenty more things that we we can we can add just to make sure everything's on point. Yeah. Okay. Well, it let me let's make sure we can update the software first, and then we will then we'll tackle that, man. Alright. So we've got software. That's our collection. We are gonna I'm just gonna give this full access for now. And what we need to do, this should work here. We're gonna do something like trigger dot keys dot zero. So it trigger dot keys. This is just an array of the the primary key for, whatever we're triggering on. I'll hit enter there. And then the payload that we're going to send I'm gonna save this real quick. We're gonna look at what we received back. So it's just Navigate the tree. Dot JSON, basically. Yeah. So it should be payload Actually, dot dot data dot data dot data. Yeah. Dot data dot Are there the q dot data there? Oh, oh, I see JSON. Yeah. The it's like it's it's nested because the operation itself returns it in a data, and this is the fetch call that gets returned. So it's so it is data dot data dot JSON. JSON. Is what we want. Yep. Alright. So we should be able to do this where we have we're just gonna check the key here. I call this call fire crawl. I can always adjust these keys and that's, again, that's what it's gonna pin to. So it should be able to do something simple like this where we say firecrawl.data.data.json. And this is the pricing that we're going to update. I think it's surprising. What did we we'll open this up. What did I what did I call it here? Pricing data. Let me look at the actual data model real quick. Pricing data. That's that is indeed what it needs to be. Pricing underscore data. Alright. Now go back to the side by side, get that lovely shot of fire crawl. And now this is actually gonna work. Right? Yep. If the demo gods are on our side. Always in the demo. Here we go. Let's save this just just to make sure. Alright. Run flow. Now we should see this pricing change if everything works okay. Updated two fields. Something I'm assuming something failed. So it wasn't fire crawl. It was just me. BSS software. Keys undefined. Alright. Body dot keys. Okay. That's what it is. Operator error again. Body dot keys. Alright. One more time. Fetch pricing data. Oh, no. You're gonna use all my FireCrawl credits before we even use them, actually. Yeah. Sick. Okay. Now we could see it actually worked this time. So amazing. Right? Now we've got this wired up where it will update the pricing data for us on on this schedule, or well, actually, not schedule. It's totally manual. Right? That's still not what we want. Talk to me about the the change tracking bids. Yeah. Change tracking is it's a format that you'll specify just like we specify JSON as a format, we can add chain tracking. And inside of that chain tracking, like we fetched to JSON, there'll be the chain tracking object that will tell us, hey. Something changed in the website or, no. Nothing changed. So you don't really need to update anything. And that's just that's an add on. We don't we don't really need to implement this in here. But it it's nice that you mentioned about wasting your Firepower credits because the reason why we went for scraping, which, by the way, we can use batch scraping to do everything, all at once, do everything in parallel. Every scrape you do to to every single page wastes one single credit. Gotcha. And the more you abstract Yeah. Yeah. Yeah. And the the the more you abstract, the more, like, for example, if you use crawl, crawl is a combination of map with scrape, then, you'll like, the credits will, be higher for that just because you're fetching the different pages. If you then abstract away to using agents, since the agent executes everything for us, you don't really need to think about searching, scraping, mapping, or anything. It should, it will be a bit more expensive just because it's handling a bunch of things that you really don't need to decide. So Gotcha. Yeah. So it's like a sliding scale of what your what your your tolerance is of, like, hey. I know the exact workflow that I need. Exactly. You could you could be very surgical or, like, the agent Yes. Would just be, like, here's the URL. Here's some guidance. Here's the data that I want. Yes. Just work until you find that. Yes. Yeah. And and we can get creative with that. So, while you were implementing, I thought we could use agents to fetch for the pricing page or for whatever pages from that specific software, and then just place that in over back in Directus, place it in the database, and then always have Fireflies scrape for that given URL. So we would just be using agent to populate the URLs that will be scraped, not needing to use agent every single time. So we can get really creative with this, to ensure that we're only scraping at the times that we really need to. Yeah. Okay. Sick. Let's let's see how we do that. Right? I'm in the the fire crawl dashboard here. Is this something that's better done here, or is it Yeah. Like, in code or It's it's it's a nice place for us to test it. Okay. Yeah. Alright. In there, you can actually just type in it could be a very high level. So example, just get the name of the you don't even need to place the URL, to be honest. You can just place Okay. Place in the name of the software and say, fetch the pricing for this software. For let's see what we got. Let's do a different one. Let's say, core bridge here. First, the pricing for CoreBridge software. Yeah. We'll just say sign industry in case they've got there's multiple. Right? So what's the the difference between Spark Mini and Spark Pro? Spark Mini is so it's lightweight. It it's like the the comparison between using a Haiku model and a Claude or an op opus model. So one will be faster and the other will be just more efficient. Alright. Yeah. So here we are, Leo. We've seen, we've got this thing is it's fetching the pricing, and now it's asking for the details here. Is that, like, a failure for for me No. It's actually instructing this? Yeah. It's a default just to fetch for more information. Usually, we don't give enough context to LLMs. So it's just asking for that context, but let's we can skip that. There's a button to just skip and immediately so down there Okay. Yeah. I see it. We could just skip through it. It'll generate a specific schema that it should use. So it's already defining that schema. We always always try to output structured data. Yeah. Sick. And then now we and then Yes. Exactly. And then you can just run the agent, and it should fetch everything that we need. Since it it it runs asynchronously Uh-huh. You can ask for for it to alert us back whenever it's done. So let's see what it's come up with. Right? It's got core bridge starter, SMB, core bridge plus. It's it's came back with, like, eight plans. Oh, yeah. Let let's see if it's even, like, previous pricing for them. No. It looks like there are that many plans. Annual. Okay. So it's divided into monthly and annual. Okay. Six. So, you know, I have $1.99, $3.99, or $1.29. I'm sorry. 549 and 899. Yeah. This is so the data checks out, man. I think, you know, that's a a concern with everybody these days, especially on, like, the the agents. Do you what's the the secret sauce? Is there yeah. Do you care to share? Like, how do you guys get accurate results on this stuff? Oh, it's it's a mixture of system prompting using the best LLMs, understanding the flow of scraping. So Mhmm. Just having a fallback to when you need to interact with data, understanding, yeah, caching is is a part of it as well. So, yeah, it it's a bunch of I I I I feel like it's a bunch of little things that when summed up gets a pretty nice result like this. Yeah. Nice, man. Nice. Well, I know we're we're probably coming up on time. So, like, I won't go through the the trouble of integrating, like, the agent, but, you know, the fact that it would be, like, super simple here Yeah. Again, it's just a v two slash agent, and then we'll It would be the same process as before. Yeah. Yeah. Actually, it may not be that bad. Alright. So we go back to our flow. You know, I would probably change this as well, right, where instead of a manual trigger, we could go into, like, a cron, and I could trigger this, like, once a week or once a month or something like that. We'll we'll just keep it manual for now. But let's let's try this out and see. So we're gonna change the Yeah. Change it over to agent. And then it's just gonna be need to add a prompt and a a schema? Do we have the we got the prompt already? Right? And then the rest of this, we just remove? Nope. Yeah. I I think she can actually remove everything since the prompt was specific to the URL it was given. Yeah. We just need the the schema. Right? Alright. So we have prompts. Yep. Fetch the pricing for company name. Let's do the oh, I don't know how this is gonna work out. We'll see. And we can actually explore even more. I I mean, we don't have enough enough time to do so, but every single schema from your website, not only pricing, but could be handled from the agent. So we could have many different arrays and and objects to explore all the sections of that. Got you. Yeah. So it doesn't have to be, like, pricing. We could go in and basically, we're saying we could do the entirety of this and have Yes. Like, agent just continue. Yeah. Like like, attributes or any of that. Everything. Yep. Oh, man. That would be amazing. Exactly. Yeah. Sick. Okay. Well, hey. This is probably a good stopping point then. You know, on on fire crawl, man, like, you know, this is just as obviously, like, one simple workflow that we've touched on. Yeah. What's what's next for you guys? Or, like, what, is there anything you wanted to highlight out of the out of this? Let's see. I believe I believe FireCrawl. I think from this simple demo, it shows implementing something as simple as this. You get you get a a lot. Right? So from just one endpoint or one tool from Firegral, you can explore, the entire web. And there is so many things that we can build with this. Because before before AI, before all this wave of AI, scraping was something really difficult. Scraping was something that, you'd have to handle everything. You'd have to try to treat and filter out specific words, specific sessions. And now with FireCrawl, you have an LLM handling everything for you. It just allows us to build a lot more. And not only to build with FireCrawl because we we showed an example where we're using the FireCrawl API inside of our app. Right? Yeah. But even coding, and I I'm seeing directors implementing more and more AI tools. Eventually We are then. Yeah. Eventually, you could integrate Firewall into those agents as well and have Firewall have information, have much more context because whoever uses AI, enough understands that context is king. Right? And if you parrot it with the best web scraper out there, then you'll you'll have a lot of, pretty much best results. Yeah, man. But yeah. I mean Can we file or you guys have got the CLI now as well. I see. Right? Yes. That could be the next step for me is, like, oh, let's mess with this. Right? Because they like, my day to day right now is a a lot of quad code certainly. Yeah. And if the agent uses a CLI, it it can do a lot more. Right? Yeah. Yeah. Sick. Okay. Yeah. So yeah. Another follow-up session then then for sure where we're gonna take the direct us MCP, and then we will add the fire crawl CLI, and then we will just turn cloud code loose. Because everything that we did here today, like, you could do that via, the direct SMTP. So I could have Claude build a flow that just calls fire crawl agent and, you know, we could simplify all this work. But Yeah. It would be a matter of five minutes for it to build the entire page. Yeah, man. Sick. Sick. Cool. Well, Leo, man. And thanks for the the session. I I really appreciate you guys joining. Thanks. Thanks for for having me. Just one more just an additional tip. Follow our YouTube channel. Yeah. Our YouTube channel, they're we're we're posting everything there. We launch a lot. So to keep up with the scraping industry, feel free to subscribe there. Fire crawl YouTube. At fire crawl underscore dev. There you go. Yeah. Yeah. Sick. I see your face. There you are, man. Awesome, dude. Well, again, thanks for joining. This has been a fun session, and we could definitely follow-up again with a a run this back, man. Absolutely. Alright. Excited to do it again. Alright. See you. Thanks, everybody.","b984e4a4-f9d7-4e77-9200-906ac7f71e2d",[524,525],"739d3849-5a61-4b70-9022-97abe785813f","73deee8d-d24b-4cf9-a11f-a2adac9d0202",[],{"id":16,"number":17,"show":4,"year":18,"episodes":528},[20,21,22,23,24,25,26,27],{"id":25,"slug":530,"vimeo_id":531,"description":532,"tile":533,"length":333,"resources":9,"people":9,"episode_number":70,"published":455,"title":534,"video_transcript_html":535,"video_transcript_text":536,"content":9,"seo":537,"status":13,"episode_people":538,"recommendations":541,"season":542},"personalization-at-scale","1176544348","Learn how to use enrichment data to build hyper-personalized landing pages at scale. Featuring Clay.\n\n","f736efe0-fb5d-4453-8cde-408ba3643b8c","Personalization at Scale","\u003Cp>Speaker 0: Hey. What's up, everybody? Matt here from the direct us marketing team. I am super excited today to be showing off, what I think is a really cool session personally. Kinda set the scene a little bit.\u003C\u002Fp>\u003Cp>Obviously, I said marketing, and that's probably terrifying for a lot of people. But, I I like the I I truly believe the gap between, like, technical and nontechnical is getting, you know, smaller. So Mhmm. That's why I'm super excited to have Clay and my friend Mohawk Desai here. Mohawk, how are you, man?\u003C\u002Fp>\u003Cp>Speaker 1: Hey. How's it going, Matt? Thanks for bringing me on. Appreciate it.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Yeah. Absolutely. So most of our audience is probably not familiar with Clay. Yeah.\u003C\u002Fp>\u003Cp>I will say, like, I I think Clay was kind of the first step for me to get to become more technical, with a lot of enrichment and sort of stuff, but like that. But maybe you could give kind of a a brief Yeah. Overview of what Clay is for the folks.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. Absolutely. So at a high level, Clay is a a GTM orchestration and data enrichment tool. And I think a good analogy is I would view Clay as almost a development environment, except not for technical folks, not for coders, but for GTM nerds, like me and like Matt. So, yeah, Clay is if you look at Clay, and we'll jump into the product in a second, but it looks like Excel.\u003C\u002Fp>\u003Cp>There's a lot of AI formulas. There's a lot of, sort sort of technical concepts like webhooks and HTTP APIs. But it is really built for you know, right now, one of our biggest personas is, like, rev ops people at companies, but that's kind of expanding now into marketing folks, into mark ops, and to other personas down the road as well, including, like, sales. But it's really for, like, systems thinkers who wanna build their sort of GTM engine. Clay is kind of the perfect middle ground for all of that, where you can have your entire tech stack flow into Clay.\u003C\u002Fp>\u003Cp>We integrate with 90 plus providers, for data, but as well as sort of GTM execution tools like Gong. And so Clay is kind of like the glue between all your different tools, as well as a place where you could secure data, the things like emails and phone numbers. So, really, it's sort of a one stop shop for GTM orchestration. It's probably the best way I can describe Clay.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Wow. That's a you're reading off like a prompter there. That was awesome. No.\u003C\u002Fp>\u003Cp>The way that you yeah. The way you said, like, it looks like a spreadsheet when you first get into it, that was, like, my first reaction when I first started testing it. You know, I was like, what? This just looks like another spreadsheet. And then when you start looking at the integrations and the possibilities with, like, enrichment waterfalls, that's what, like, had my holy But speaking of integrations, you know, Directus is, you know, we're we're we've always been kind of a content management system for a lot of folks.\u003C\u002Fp>\u003Cp>So all of the pages for your website, it could be the back end for applications. There's a lot of different use cases. And as we've been getting Clay and Directus closer together, our team has found a lot of really cool use cases that you can really dive into, with that enrichment data. One of which I'm really excited to talk about today. And I feel like was this, like, Clay's, like, bread and butter early on, this sort of, like, personalization type play?\u003C\u002Fp>\u003Cp>Speaker 1: I would say not early on. I think, actually, early on in the moat was this the data enrichment piece. On the back end to find emails and phone numbers, Clay takes a waterfall approach where we don't just check one database, but we'll cycle through 90, again, 90 plus providers to find an email or phone number. And so that was the note early on was a higher coverage rate and higher accuracy for data versus under other individual vendors. But, Matt, to your point, I think in the past year or so, a lot of smart rev ops people and marketing people are realizing that Clay's a really good place to do ABM at scale, so account based marketing at scale.\u003C\u002Fp>\u003Cp>And one of them is, yes, starting to create personalized landing pages at scale for your target accounts. But this can also leak into other cool use cases like you can create Google Slides at scale that do the same thing. We have a direct integration of Google Slides, and and so on and so forth. And now in the in the age of AI with all the tools available, we're trying to be a little bit more open to to tools that will allow you to do this. But Directus is, like, a perfect, perfect example of a great integration where we can, really customize our outreach and get those target accounts in our book.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Yeah. And when you say ABM, I'm sure the the audience is like, another acronym, like marketing and some of the acronyms. But, for folks that don't know, so ABM is is kind of an approach to marketing and sales that, in my opinion, is the way to do it because it's way less intrusive than just, like, shotgun blasting a bunch of people that have no idea who you are. There's a lot of research and, personalization that goes into identifying, you know, 50 accounts, a 100 accounts that are assigned specifically to, like, your go to market team or your reps.\u003C\u002Fp>\u003Cp>So they get to build relationships and really understand, like, the pains and and things within those those companies. And that kinda sets the scene for today, which is, we're gonna do a workflow from beginning to end and and show you how we built it, basically, where it's not like those shitty emails you'll get that's like, hey. Like, I saw you play volleyball, and now let's get on a fifteen minute call. Like, it that's not personalization. Like, personalization is looking at, like, who a company is hiring, you know, what teams are growing, what is probably because of that, some of the struggles they have right now that your product or solution could maybe solve for, and then building out pages and stories around that.\u003C\u002Fp>\u003Cp>But that's hard to do without automation, without things like Clay for the data enrichment. So that's what I'm excited to talk about today.\u003C\u002Fp>\u003Cp>Speaker 1: Amazing. Let's do it.\u003C\u002Fp>\u003Cp>Speaker 0: Awesome. Alright. So let's hop in. I hope everything is gonna break. I know as soon as I start sharing stuff.\u003C\u002Fp>\u003Cp>It always I don't know why. It always happens. But, let's start with, like, kind of what we're gonna have at the end. That that's kind of our our end goal. We'll start there and work backwards.\u003C\u002Fp>\u003Cp>So, this is just a quick landing page that I spun up, like, ten minutes before this, with clogged code. UIs, you know, you you can spin up a UI really fast now. But the goal is to have this fake AI agency that we just made up called Cottontail, then AI operations team. So they'll handle a lot of the, the manual processes and things like that. So we're gonna have these customized landing pages where it's like, this is the typical personalization you see.\u003C\u002Fp>\u003Cp>Like, all your company name, your, you know, subheader. But what I'm really excited about is focusing in on this section, which is, like, we're gonna use Clay to basically pull out, you know, who are the the number the highest number of jobs, what teams are really growing, and run a couple of, you know, flows on, what does that mean? Like, what are those struggles, the problems they probably have because of that? And then how can our solution fix that? So, basically, a mirror image of what I just said, but this is what it looks like in practice.\u003C\u002Fp>\u003Cp>Any thoughts on, like you know, obviously, working at Clay, like Yeah. Clay, in my opinion, is one of the best marketing. They're I they're like the shining pinnacle right now, everything that y'all do. Mhmm. And I wanna say ABM is a big part of that.\u003C\u002Fp>\u003Cp>Right?\u003C\u002Fp>\u003Cp>Speaker 1: Or it could be cool\u003C\u002Fp>\u003Cp>Speaker 0: at all.\u003C\u002Fp>\u003Cp>Speaker 1: No. Absolutely. As you mentioned, ABM is becoming even a a larger and larger segment of a use case at Clay. I think typically, customers will come in and start with basic enrichment, basic, automated outbound or automated inbound, but those really savvy, you know, companies that know they have sort of a target list of a hundred, two hundred, you know, large companies or or target accounts. ABM is really, really effective at breaking in when everything else doesn't work.\u003C\u002Fp>\u003Cp>And, our CEO, Kareem, has a very cool, analogy or a sort of phrase that encapsulates what ABM should look like, and that's surround sound. You're surround sound of your customers, in in a way that feels so personalized that they they feel obligated to sort of respond or at least curious enough to alright. What do these guys have to say to us? So ABM is like there's a lot that goes into it. One of them is this use case we're gonna jump into, which are these, like, landing pages.\u003C\u002Fp>\u003Cp>Matt, you're correct. This is becoming a very popular thing amongst advanced GTM teams. But outside of just custom landing pages, there's a lot of other things that kind of fold up into ABM. One of them is signals. So taking a signal based approach and having your reps work off intent based data rather than static third party data.\u003C\u002Fp>\u003Cp>So that's one piece. And then the third piece could also be ads. Clay also just launched a new ads tool, but in general, ads is just another way to sort of, again, surround sound, your your personas at these companies. So now imagine a head of marketing at one of your target accounts is getting brilliant, custom landing pages, great emails from your sales teams, are are getting, you know, timely outreach based on some funding events or relevant events to your company, and then you're also seeing ads on LinkedIn and Meta, it's gonna be hard to not be curious about what you do. So that's ABM in a nutshell.\u003C\u002Fp>\u003Cp>And, Matt, I think you're right that that this is picking up a lot in the market.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Yeah. That's that's awesome. And when you start folding in, like, billboards and buses with your Yes. Exactly.\u003C\u002Fp>\u003Cp>It's inescapable, man.\u003C\u002Fp>\u003Cp>Speaker 1: Yes. Inescapable. Exactly. Exactly.\u003C\u002Fp>\u003Cp>Speaker 0: But in a, like, in a way, I think it's it's better than just kind of blindfold just going out there, like, blasting you know, pulling a list of a 100,000 contacts and, like, spray and pray method.\u003C\u002Fp>\u003Cp>Speaker 1: Spray. Exactly.\u003C\u002Fp>\u003Cp>Speaker 0: So, so yeah. So that's what we're gonna do today is really focus on on building these pages out, which I think is really the foundation of it. This is not only something for the customers, but also, you know, for your team members as they start to do the research having, like it's basically like a slide deck in in a lot of ways. So just to kind of show you how I've set up direct us in the back end, so we've got, Cottontail here. I've created two collections.\u003C\u002Fp>\u003Cp>So we've got a landing pages collection. This is where all of the stuff we're gonna do in clay is gonna push, right here. So looking at the actual data model schema for this, it's it's basically everything I showed on that that front end page. So Mhmm. Company name, we're gonna have slug, so this will, like, auto generate the pages when they they come in.\u003C\u002Fp>\u003Cp>Everything is powered by by Railway, which is really the one of the easiest ways to get started with Directus and and build front ends on. We got industry. We got a little testimonial thing. We'll see if we have enough time. I I definitely wanna show how the mini to one, like, data schema stuff works.\u003C\u002Fp>\u003Cp>And then we'll have the personalization content kind of backfilled here. So, like, as developers or technical people are watching this, like, this is how you can knock something out. Like, if you do this for your marketing team, it would be, like, you're you're the hero for for months just giving them something like this. But, also, if you're building applications or products, like, this is a great way to get it into the market and start, you know, marketing the stuff that you're building. But yeah.\u003C\u002Fp>\u003Cp>So that's all built out. Just to show you what it would look like if you were to manually fill this out, yeah, just like a a typical form here. This is just how I have it laid out, but you can do it a lot of different ways. But, but, yeah, I that's really all I had for the director side. Like, as a back end, it's not sexy.\u003C\u002Fp>\u003Cp>It's just like we need to push all this data here, but I'm really excited to show what we've got for Clay. So, Mohawk, I'll actually turn it over to you.\u003C\u002Fp>\u003Cp>Speaker 1: Amazing. Thank you, Matt. Great intro. Great context. So now what I'm gonna do is share my screen, and go into Clay.\u003C\u002Fp>\u003Cp>So for folks that have never seen Clay, welcome to Clay. This is the spreadsheet looking tool that you keep hearing about, and so this is what it looks like. So as a starting point for this example, we've uploaded, as our first step, a list of company domains, just their websites. In Clay, though, you can import these company domains from a bunch of other sources. So we have our own company search where you can filter, you know, by, industry, location, revenue count, etcetera.\u003C\u002Fp>\u003Cp>So if you don't already have a list of target accounts in your CRM or in a CSV, you can use Clay to find those target accounts based on your filters. And, as I mentioned, you can upload a CSV as well or connect your CRM and have a live sync between Salesforce or HubSpot, and and Clay. But, again, zooming back out, we are starting with a list of company domains that we have randomly chosen and put into this table. That's the only input we're putting in. That's the I think the key point of all this is that all these other columns you see that have been set up, you set them up once, and anytime you add a new input, it'll automatically run for, for that new input.\u003C\u002Fp>\u003Cp>So, actually, Matt, I I I'm gonna go ahead and sort of enter a new domain here. And, this is my favorite company in the world. So Apple, we're gonna put that a bit second to play. And so I've put this in, and as you can see, it's already autofilled. And I'll kind of now go column by column and break down what we did here to get to that landing page endpoint that Matt showed.\u003C\u002Fp>\u003Cp>So the the first thing is we ran this action called enrich company, and that essentially, in in a JSON array, will return a bunch of data about the company that could be useful. So things like their employee count, their revenue range, their, again, their their, country of origin, things like that. And so the the relevant data points we wanted to pull out for that landing page for each of these companies are really just the company name, the slug, the employee count, and the industry. What we also got, which is pretty cool, and this is kind of taking customization to that, like, final level, is we have URLs to the company's logo as well as a screenshot of their website. So now we've imported their their brand, what they look like, what they feel like, and that can be used if you'd like in your custom landing page, that you're sending to these target accounts.\u003C\u002Fp>\u003Cp>Then from there, we look into jobs. Now jobs in general, I think, are very underrated data point that GTM team should be indexing on because jobs tell you a lot about the company. Tells you what their tech stack is for specific roles. Right? Like, what Mhmm.\u003C\u002Fp>\u003Cp>In that little section that says you should have experience with these technologies, it tells you what they're using. It tells you about their sort of their mission, what they're up to, kind of everything that a candidate would need to know happens to be a lot of the information that we wanna know as sellers and marketers. So, we went ahead and ran an action called find active job openings at this company. And, all all we really needed here was the domain as the input. Again, we're working off of this one input.\u003C\u002Fp>\u003Cp>It's really all we need. And so once you put your domain into this action, that we, you know, we set sort of our filters and we run it, it'll return how many jobs are sort of posted for this as well as the link to each job, which is wonderful because we can then run an AI column on this, active job opening column to kind of analyze those job postings and extract the key insights that we want, like I mentioned. And so we're able to find, which teams are growing fastest, which functions appear to be manual or understaffed. And imagine replacing all of this with the pain points you wanna extract about these companies from their job postings. And so this is this is where we start going into, like, combining the power of AI with the power of of Clay's customization, and then finally that that final layer of direct is coming in as that that content layer.\u003C\u002Fp>\u003Cp>So we've extracted into columns, sort of these different pain points slash operational insights. I shouldn't say pain point, actually. These are specifically how is the team operating, and they're stored in columns, which we'll use to upload that into those, different fields that Matt showed at the beginning. So great. We have our operational insight columns built out.\u003C\u002Fp>\u003Cp>We also use AI to develop, like, personalized headers and sub headers for that landing page. So, essentially, all the inputs we're putting into Directus are all developed in Clay call my call. And so we got personalized sub headers, which are really cool. And then we finally got to those pain points, which I was a little too excited to talk about. But, if we go here to generate, you'll kinda see the prompt, but we're giving it business context.\u003C\u002Fp>\u003Cp>We're giving it, what we do as an agency, as a fake agency. And then it we tell the AI simply what we would tell maybe a new intern or a new hire company, and and we kind of talk to the AI exactly like that, and we get great results. So we're saying, right, three pain points on their operations or go to market team using the inputs from these outputs that we found before. And, for each one kind of return just like a a quick one liner that we can upload to the website. And so this is an example of the final final result here.\u003C\u002Fp>\u003Cp>So that's all the customization we've done in Clay, and the final step to return this data back to Directus is using HTTP API call. Now when I first joined Clay, I'll be honest, I had no idea what this was. And it sounds complicated and scary, but it is a very we try to make it as easy as possible in Clay, and we literally tell you what to copy and paste in here. But this is essentially just a way to share data between the Clay table and Directus. And so in this case, there's a few methods, to get it's it's pretty self explanatory, actually.\u003C\u002Fp>\u003Cp>If you're getting data, that means you're returning data into this table. But in this case, we're posting data, sort of pushing data out. So you selected that as our method. Matt provided me an endpoint from Directus that we can then paste into here. And then, in our body, this was actually, Matt, you wanna Matt actually set this column up.\u003C\u002Fp>\u003Cp>Matt, how did you generate this this sort of body?\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. I used AI.\u003C\u002Fp>\u003Cp>Speaker 1: So, like I was I was about to say that. Yeah.\u003C\u002Fp>\u003Cp>Speaker 0: Perfect. Yeah. No. Yeah. I mean, one of the that this was actually my first time setting this up, and, our, integrations engineer, Lynn Lindsay, has actually built a Directus specific Directus CMS HTTP API.\u003C\u002Fp>\u003Cp>So if you go to, like, set up an enrichment column, just search Directus and it'll pop up, and there's some instructions in there. But I we also have some docs, which I'll show once we hop over from here, of where you can find those. We also talk about how to get it set, set up on our side as well.\u003C\u002Fp>\u003Cp>Speaker 1: Yep. Yeah.\u003C\u002Fp>\u003Cp>Speaker 0: So the item from get create update. Yeah.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. Exactly. So it's kind of alluding to all the hard work Matt did to set up this column. He's made it super simple and saved this as a public template that you'll be able to access. If you search up direct as HTTP in the clay search bar, you'll see this exact enrichment here, which is the get item from CMS collection.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Yeah. Great. And, basically, to to to for the, for the JSON, for this, you know, be able to pull this into Directus, what I did when I say I used AI, like, I literally just took a screenshot of the data model from the Directus side that I showed earlier and then just dropped it in a cloud and was like, can you create, like, a JSON placeholder for Glay? And then Beautiful.\u003C\u002Fp>\u003Cp>My my favorite part actually is, like, mapping the actual columns to like, for some reason, it's just like it's like Legos. Like, I just love Yeah. Yeah. Slash then just, like, go through and pick it. Yeah.\u003C\u002Fp>\u003Cp>It's very satisfying.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. That's by the way, Legos for adults or Minecraft for adults is the analogy I use when I think about clay. A big reason why I joined the company. I get to work with Legos every day now. Yeah.\u003C\u002Fp>\u003Cp>Cool. So that that's that's the last step of the Clay workflow. All this data now, because of Matt's hard work with this HTTP API call, flows back in direct us. I will now pass it off back to Matt to show the final product.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Did, did you run those columns again? All five.\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. All all six, actually. So Apple should have run as well. Yeah.\u003C\u002Fp>\u003Cp>Speaker 0: Let me see.\u003C\u002Fp>\u003Cp>Speaker 1: So I'll you want me to rerun them real quick?\u003C\u002Fp>\u003Cp>Speaker 0: Toss it over. Toss the screen over. Okay. I'll just share my screen and see, and we'll just, like Cool.\u003C\u002Fp>\u003Cp>Speaker 1: Cut out as necessary. Yeah.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. We'll, like, we'll do it live. Alright. So we have our direct distance here. If I refresh, everything went according to plan.\u003C\u002Fp>\u003Cp>So it looks like Apple got pushed over. So if you, on your side, run that Yeah. HTTP\u003C\u002Fp>\u003Cp>Speaker 1: Call call. Gotcha.\u003C\u002Fp>\u003Cp>Speaker 0: Again. Yes. So those should come in one by one. And while you're doing that so like I said, all of the data is automatically pushed over. I I didn't have to lift a finger for this.\u003C\u002Fp>\u003Cp>Where it gets interesting now is, like, we have the logo URL, so we can build, you know, like a we have, flows and directives, which I haven't really talked about much, but you can set up, automations from the data inside here. So we can run a flow that's like, hey. Like, take that URL, go and fetch the the logo, and then you'll have, like, you know, all of that to personalize on as well. So, it looks like everything is in here. Yeah.\u003C\u002Fp>\u003Cp>So it looks like all of our other ones got pushed as well. Cool. I mentioned I'll just show you really quick. So if you go to our docs and with that HTTP API that we set up. So we have in here, integrations page.\u003C\u002Fp>\u003Cp>So you can just come in and and search search search Clay, and you should be able to find, yeah, quick and easy setup, how to use, like, the templates and stuff here. And we tell you, everything pretty well. Shout out to Lindsay for for her work on all this. But cool. Alright.\u003C\u002Fp>\u003Cp>So let's see if it works. That's probably Yeah. Probably the most important part of this. Yeah. Alright.\u003C\u002Fp>\u003Cp>So we've got this. We've got the slug, which should auto apply, to the pages. I am gonna pop in. So I I mentioned this earlier, but we have, like the cool thing about the data in Directus is when you create these collections, you can do, like, many to one so you can associate separate collections. So you have a team that just has access to collections with, like, well based access control, and you can have a team that just has access to landing pages.\u003C\u002Fp>\u003Cp>Speaker 1: But they\u003C\u002Fp>\u003Cp>Speaker 0: can Nice. Their work can, like, counter, like, counteract. So or in a good way, not not in a bad way. But, like, for Apple, right, like, I don't know if we have I guess we can pull a SaaS in. So we would wanna pull in, like, the specific SaaS testimonial here, which you could probably trigger with another flow, but I'm not that advanced.\u003C\u002Fp>\u003Cp>But I also like to do some manual, manual work around this. So let's see. Moment of truth. So coming over to our front end here.\u003C\u002Fp>\u003Cp>Speaker 1: Got\u003C\u002Fp>\u003Cp>Speaker 0: basic page. Type in apple.\u003C\u002Fp>\u003Cp>Speaker 1: There you go.\u003C\u002Fp>\u003Cp>Speaker 0: Apple. Beautiful. Ops team. Wow. So we've got our subheader, All of our specific problems where it looks like they're hiring a lot of engineering, so we can for our products, you know, intake and routing workflows, that support the onboarding, that sort of stuff.\u003C\u002Fp>\u003Cp>Yeah. And then our our SaaS testimonial here. So it's like I mean, if if you take out our talking, what? This is probably, like, a two to five minute workflow if you have, like, all of the basic pieces, and you can scale ABN that fast, which with, like, personalization. That's actually good personalization.\u003C\u002Fp>\u003Cp>I like that that's what has always, like, impressed me with this is just how granular you can get and refine and, like, now you have this. Keep iterating, testing, see what resonates.\u003C\u002Fp>\u003Cp>Speaker 1: Yes. And I think, Matt, I'll say one thing here. With great power comes great responsibility. I think it's still on the person that's developing the workflow to have good taste. Good taste in what type of personalization do you do versus what you don't.\u003C\u002Fp>\u003Cp>Matt alluded to a great point earlier. Maybe don't mention their kids' Facebook, you know, profile or something random about them that that they're not gonna care about. It sounds contrived. People are tired of getting AI sloppy emails and over personalized messages. So there's a fine line of personalizing tastefully with something like this versus sort of being, having something contrived that's not gonna work.\u003C\u002Fp>\u003Cp>But, nonetheless, the technology is here. It's exciting, and now we're we're really happy to put this in in your hands.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Yeah. And that's like you just said, like, alluding back to when I said, like, when I said I'm in marketing and people probably cringed and run out, like, the garlic and holy water.\u003C\u002Fp>\u003Cp>Speaker 1: Like,\u003C\u002Fp>\u003Cp>Speaker 0: we we try to do it the right way. Like, we're we're trying to be there's, like, good marketing and bad marketing. And I tell, like, our engineering team all the time, like, I'm I'm trying to change the way that people think about it. Because a lot of, like Mhmm. A lot of it has been just, like, those quick growth hack things that I hate.\u003C\u002Fp>\u003Cp>But, when you do things like this and you actually start to build relationships and understand and show that, like, you are doing the work to learn about Mayo Clinic and, you know, some of the pains and struggles they have. Like, that's it's not contact level. You don't have to worry about PII. You're scraping all the available data you can find on the site. So, yeah, I I think this is you know, we keep alluding to it, but the way forward and, it's cool to see that Clay and Directus, like, just as a stack can can do it.\u003C\u002Fp>\u003Cp>Yeah. Obviously, AI helping a lot of things, but, I say it all the time. Everybody's becoming a builder, and you're probably seeing this over at Clay too. Like Yep. Them and moat.\u003C\u002Fp>\u003Cp>Like, this used to be, like, for all the developers in this call, probably a pain in the butt because you had marketing asking, like, can you create this page for me? Can you create this state? Like, how do I get this data here? And like I said, I've opened terminal before I worked here at Directus probably twice in my life, and now using cloud code. Being able to do all this myself and not have to bother anybody, that's the way things are shifting for for us as, you know, go to market team.\u003C\u002Fp>\u003Cp>And I'm I'm really excited to see, you know, where we land with it.\u003C\u002Fp>\u003Cp>Speaker 1: Absolutely.\u003C\u002Fp>\u003Cp>Speaker 0: Well, cool, man. Mohawk, I really appreciate you coming on today, giving us\u003C\u002Fp>\u003Cp>Speaker 1: Likewise.\u003C\u002Fp>\u003Cp>Speaker 0: You know, a quick view of Clay, how everything works. I'm so glad everything worked out. We didn't have any technical issues on either end. But, for everybody watching, like, all of the prompts that, were shared, I'll make sure that it's in, like, a accessible place. So if you wanna just grab those and test it yourself.\u003C\u002Fp>\u003Cp>Anything else from this call that is some, like, shareable assets or anything, I'll definitely be, sharing that as well. But, yeah, any anything you wanna add, Mohawk?\u003C\u002Fp>\u003Cp>Speaker 1: I I think that's all. This was great. I appreciate you, Matt, bringing me on to be able to show the power of Clay and direct us together. And I just hope that, you know, if you're watching this right now, you have the site, you have an idea. Hopefully, the idea juices are flowing right now, and we'll try to make it as easy as possible for you guys to get this kind of up and running.\u003C\u002Fp>\u003Cp>I will say, Matt, to your point, lead to speed is everything now, and I think speed of execution is everything now, right, in the AI age. So, this hopefully will save a lot of time, but also kind of enable you to do things that you were not were not possible before. I think that's the most exciting part for me. But yeah. Again, thank you, Matt.\u003C\u002Fp>\u003Cp>Appreciate the time.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. Awesome.\u003C\u002Fp>","Hey. What's up, everybody? Matt here from the direct us marketing team. I am super excited today to be showing off, what I think is a really cool session personally. Kinda set the scene a little bit. Obviously, I said marketing, and that's probably terrifying for a lot of people. But, I I like the I I truly believe the gap between, like, technical and nontechnical is getting, you know, smaller. So Mhmm. That's why I'm super excited to have Clay and my friend Mohawk Desai here. Mohawk, how are you, man? Hey. How's it going, Matt? Thanks for bringing me on. Appreciate it. Yeah. Yeah. Absolutely. So most of our audience is probably not familiar with Clay. Yeah. I will say, like, I I think Clay was kind of the first step for me to get to become more technical, with a lot of enrichment and sort of stuff, but like that. But maybe you could give kind of a a brief Yeah. Overview of what Clay is for the folks. Yeah. Absolutely. So at a high level, Clay is a a GTM orchestration and data enrichment tool. And I think a good analogy is I would view Clay as almost a development environment, except not for technical folks, not for coders, but for GTM nerds, like me and like Matt. So, yeah, Clay is if you look at Clay, and we'll jump into the product in a second, but it looks like Excel. There's a lot of AI formulas. There's a lot of, sort sort of technical concepts like webhooks and HTTP APIs. But it is really built for you know, right now, one of our biggest personas is, like, rev ops people at companies, but that's kind of expanding now into marketing folks, into mark ops, and to other personas down the road as well, including, like, sales. But it's really for, like, systems thinkers who wanna build their sort of GTM engine. Clay is kind of the perfect middle ground for all of that, where you can have your entire tech stack flow into Clay. We integrate with 90 plus providers, for data, but as well as sort of GTM execution tools like Gong. And so Clay is kind of like the glue between all your different tools, as well as a place where you could secure data, the things like emails and phone numbers. So, really, it's sort of a one stop shop for GTM orchestration. It's probably the best way I can describe Clay. Yeah. Wow. That's a you're reading off like a prompter there. That was awesome. No. The way that you yeah. The way you said, like, it looks like a spreadsheet when you first get into it, that was, like, my first reaction when I first started testing it. You know, I was like, what? This just looks like another spreadsheet. And then when you start looking at the integrations and the possibilities with, like, enrichment waterfalls, that's what, like, had my holy But speaking of integrations, you know, Directus is, you know, we're we're we've always been kind of a content management system for a lot of folks. So all of the pages for your website, it could be the back end for applications. There's a lot of different use cases. And as we've been getting Clay and Directus closer together, our team has found a lot of really cool use cases that you can really dive into, with that enrichment data. One of which I'm really excited to talk about today. And I feel like was this, like, Clay's, like, bread and butter early on, this sort of, like, personalization type play? I would say not early on. I think, actually, early on in the moat was this the data enrichment piece. On the back end to find emails and phone numbers, Clay takes a waterfall approach where we don't just check one database, but we'll cycle through 90, again, 90 plus providers to find an email or phone number. And so that was the note early on was a higher coverage rate and higher accuracy for data versus under other individual vendors. But, Matt, to your point, I think in the past year or so, a lot of smart rev ops people and marketing people are realizing that Clay's a really good place to do ABM at scale, so account based marketing at scale. And one of them is, yes, starting to create personalized landing pages at scale for your target accounts. But this can also leak into other cool use cases like you can create Google Slides at scale that do the same thing. We have a direct integration of Google Slides, and and so on and so forth. And now in the in the age of AI with all the tools available, we're trying to be a little bit more open to to tools that will allow you to do this. But Directus is, like, a perfect, perfect example of a great integration where we can, really customize our outreach and get those target accounts in our book. Yeah. Yeah. And when you say ABM, I'm sure the the audience is like, another acronym, like marketing and some of the acronyms. But, for folks that don't know, so ABM is is kind of an approach to marketing and sales that, in my opinion, is the way to do it because it's way less intrusive than just, like, shotgun blasting a bunch of people that have no idea who you are. There's a lot of research and, personalization that goes into identifying, you know, 50 accounts, a 100 accounts that are assigned specifically to, like, your go to market team or your reps. So they get to build relationships and really understand, like, the pains and and things within those those companies. And that kinda sets the scene for today, which is, we're gonna do a workflow from beginning to end and and show you how we built it, basically, where it's not like those shitty emails you'll get that's like, hey. Like, I saw you play volleyball, and now let's get on a fifteen minute call. Like, it that's not personalization. Like, personalization is looking at, like, who a company is hiring, you know, what teams are growing, what is probably because of that, some of the struggles they have right now that your product or solution could maybe solve for, and then building out pages and stories around that. But that's hard to do without automation, without things like Clay for the data enrichment. So that's what I'm excited to talk about today. Amazing. Let's do it. Awesome. Alright. So let's hop in. I hope everything is gonna break. I know as soon as I start sharing stuff. It always I don't know why. It always happens. But, let's start with, like, kind of what we're gonna have at the end. That that's kind of our our end goal. We'll start there and work backwards. So, this is just a quick landing page that I spun up, like, ten minutes before this, with clogged code. UIs, you know, you you can spin up a UI really fast now. But the goal is to have this fake AI agency that we just made up called Cottontail, then AI operations team. So they'll handle a lot of the, the manual processes and things like that. So we're gonna have these customized landing pages where it's like, this is the typical personalization you see. Like, all your company name, your, you know, subheader. But what I'm really excited about is focusing in on this section, which is, like, we're gonna use Clay to basically pull out, you know, who are the the number the highest number of jobs, what teams are really growing, and run a couple of, you know, flows on, what does that mean? Like, what are those struggles, the problems they probably have because of that? And then how can our solution fix that? So, basically, a mirror image of what I just said, but this is what it looks like in practice. Any thoughts on, like you know, obviously, working at Clay, like Yeah. Clay, in my opinion, is one of the best marketing. They're I they're like the shining pinnacle right now, everything that y'all do. Mhmm. And I wanna say ABM is a big part of that. Right? Or it could be cool at all. No. Absolutely. As you mentioned, ABM is becoming even a a larger and larger segment of a use case at Clay. I think typically, customers will come in and start with basic enrichment, basic, automated outbound or automated inbound, but those really savvy, you know, companies that know they have sort of a target list of a hundred, two hundred, you know, large companies or or target accounts. ABM is really, really effective at breaking in when everything else doesn't work. And, our CEO, Kareem, has a very cool, analogy or a sort of phrase that encapsulates what ABM should look like, and that's surround sound. You're surround sound of your customers, in in a way that feels so personalized that they they feel obligated to sort of respond or at least curious enough to alright. What do these guys have to say to us? So ABM is like there's a lot that goes into it. One of them is this use case we're gonna jump into, which are these, like, landing pages. Matt, you're correct. This is becoming a very popular thing amongst advanced GTM teams. But outside of just custom landing pages, there's a lot of other things that kind of fold up into ABM. One of them is signals. So taking a signal based approach and having your reps work off intent based data rather than static third party data. So that's one piece. And then the third piece could also be ads. Clay also just launched a new ads tool, but in general, ads is just another way to sort of, again, surround sound, your your personas at these companies. So now imagine a head of marketing at one of your target accounts is getting brilliant, custom landing pages, great emails from your sales teams, are are getting, you know, timely outreach based on some funding events or relevant events to your company, and then you're also seeing ads on LinkedIn and Meta, it's gonna be hard to not be curious about what you do. So that's ABM in a nutshell. And, Matt, I think you're right that that this is picking up a lot in the market. Yeah. Yeah. That's that's awesome. And when you start folding in, like, billboards and buses with your Yes. Exactly. It's inescapable, man. Yes. Inescapable. Exactly. Exactly. But in a, like, in a way, I think it's it's better than just kind of blindfold just going out there, like, blasting you know, pulling a list of a 100,000 contacts and, like, spray and pray method. Spray. Exactly. So, so yeah. So that's what we're gonna do today is really focus on on building these pages out, which I think is really the foundation of it. This is not only something for the customers, but also, you know, for your team members as they start to do the research having, like it's basically like a slide deck in in a lot of ways. So just to kind of show you how I've set up direct us in the back end, so we've got, Cottontail here. I've created two collections. So we've got a landing pages collection. This is where all of the stuff we're gonna do in clay is gonna push, right here. So looking at the actual data model schema for this, it's it's basically everything I showed on that that front end page. So Mhmm. Company name, we're gonna have slug, so this will, like, auto generate the pages when they they come in. Everything is powered by by Railway, which is really the one of the easiest ways to get started with Directus and and build front ends on. We got industry. We got a little testimonial thing. We'll see if we have enough time. I I definitely wanna show how the mini to one, like, data schema stuff works. And then we'll have the personalization content kind of backfilled here. So, like, as developers or technical people are watching this, like, this is how you can knock something out. Like, if you do this for your marketing team, it would be, like, you're you're the hero for for months just giving them something like this. But, also, if you're building applications or products, like, this is a great way to get it into the market and start, you know, marketing the stuff that you're building. But yeah. So that's all built out. Just to show you what it would look like if you were to manually fill this out, yeah, just like a a typical form here. This is just how I have it laid out, but you can do it a lot of different ways. But, but, yeah, I that's really all I had for the director side. Like, as a back end, it's not sexy. It's just like we need to push all this data here, but I'm really excited to show what we've got for Clay. So, Mohawk, I'll actually turn it over to you. Amazing. Thank you, Matt. Great intro. Great context. So now what I'm gonna do is share my screen, and go into Clay. So for folks that have never seen Clay, welcome to Clay. This is the spreadsheet looking tool that you keep hearing about, and so this is what it looks like. So as a starting point for this example, we've uploaded, as our first step, a list of company domains, just their websites. In Clay, though, you can import these company domains from a bunch of other sources. So we have our own company search where you can filter, you know, by, industry, location, revenue count, etcetera. So if you don't already have a list of target accounts in your CRM or in a CSV, you can use Clay to find those target accounts based on your filters. And, as I mentioned, you can upload a CSV as well or connect your CRM and have a live sync between Salesforce or HubSpot, and and Clay. But, again, zooming back out, we are starting with a list of company domains that we have randomly chosen and put into this table. That's the only input we're putting in. That's the I think the key point of all this is that all these other columns you see that have been set up, you set them up once, and anytime you add a new input, it'll automatically run for, for that new input. So, actually, Matt, I I I'm gonna go ahead and sort of enter a new domain here. And, this is my favorite company in the world. So Apple, we're gonna put that a bit second to play. And so I've put this in, and as you can see, it's already autofilled. And I'll kind of now go column by column and break down what we did here to get to that landing page endpoint that Matt showed. So the the first thing is we ran this action called enrich company, and that essentially, in in a JSON array, will return a bunch of data about the company that could be useful. So things like their employee count, their revenue range, their, again, their their, country of origin, things like that. And so the the relevant data points we wanted to pull out for that landing page for each of these companies are really just the company name, the slug, the employee count, and the industry. What we also got, which is pretty cool, and this is kind of taking customization to that, like, final level, is we have URLs to the company's logo as well as a screenshot of their website. So now we've imported their their brand, what they look like, what they feel like, and that can be used if you'd like in your custom landing page, that you're sending to these target accounts. Then from there, we look into jobs. Now jobs in general, I think, are very underrated data point that GTM team should be indexing on because jobs tell you a lot about the company. Tells you what their tech stack is for specific roles. Right? Like, what Mhmm. In that little section that says you should have experience with these technologies, it tells you what they're using. It tells you about their sort of their mission, what they're up to, kind of everything that a candidate would need to know happens to be a lot of the information that we wanna know as sellers and marketers. So, we went ahead and ran an action called find active job openings at this company. And, all all we really needed here was the domain as the input. Again, we're working off of this one input. It's really all we need. And so once you put your domain into this action, that we, you know, we set sort of our filters and we run it, it'll return how many jobs are sort of posted for this as well as the link to each job, which is wonderful because we can then run an AI column on this, active job opening column to kind of analyze those job postings and extract the key insights that we want, like I mentioned. And so we're able to find, which teams are growing fastest, which functions appear to be manual or understaffed. And imagine replacing all of this with the pain points you wanna extract about these companies from their job postings. And so this is this is where we start going into, like, combining the power of AI with the power of of Clay's customization, and then finally that that final layer of direct is coming in as that that content layer. So we've extracted into columns, sort of these different pain points slash operational insights. I shouldn't say pain point, actually. These are specifically how is the team operating, and they're stored in columns, which we'll use to upload that into those, different fields that Matt showed at the beginning. So great. We have our operational insight columns built out. We also use AI to develop, like, personalized headers and sub headers for that landing page. So, essentially, all the inputs we're putting into Directus are all developed in Clay call my call. And so we got personalized sub headers, which are really cool. And then we finally got to those pain points, which I was a little too excited to talk about. But, if we go here to generate, you'll kinda see the prompt, but we're giving it business context. We're giving it, what we do as an agency, as a fake agency. And then it we tell the AI simply what we would tell maybe a new intern or a new hire company, and and we kind of talk to the AI exactly like that, and we get great results. So we're saying, right, three pain points on their operations or go to market team using the inputs from these outputs that we found before. And, for each one kind of return just like a a quick one liner that we can upload to the website. And so this is an example of the final final result here. So that's all the customization we've done in Clay, and the final step to return this data back to Directus is using HTTP API call. Now when I first joined Clay, I'll be honest, I had no idea what this was. And it sounds complicated and scary, but it is a very we try to make it as easy as possible in Clay, and we literally tell you what to copy and paste in here. But this is essentially just a way to share data between the Clay table and Directus. And so in this case, there's a few methods, to get it's it's pretty self explanatory, actually. If you're getting data, that means you're returning data into this table. But in this case, we're posting data, sort of pushing data out. So you selected that as our method. Matt provided me an endpoint from Directus that we can then paste into here. And then, in our body, this was actually, Matt, you wanna Matt actually set this column up. Matt, how did you generate this this sort of body? Yeah. I used AI. So, like I was I was about to say that. Yeah. Perfect. Yeah. No. Yeah. I mean, one of the that this was actually my first time setting this up, and, our, integrations engineer, Lynn Lindsay, has actually built a Directus specific Directus CMS HTTP API. So if you go to, like, set up an enrichment column, just search Directus and it'll pop up, and there's some instructions in there. But I we also have some docs, which I'll show once we hop over from here, of where you can find those. We also talk about how to get it set, set up on our side as well. Yep. Yeah. So the item from get create update. Yeah. Yeah. Exactly. So it's kind of alluding to all the hard work Matt did to set up this column. He's made it super simple and saved this as a public template that you'll be able to access. If you search up direct as HTTP in the clay search bar, you'll see this exact enrichment here, which is the get item from CMS collection. Yeah. Yeah. Great. And, basically, to to to for the, for the JSON, for this, you know, be able to pull this into Directus, what I did when I say I used AI, like, I literally just took a screenshot of the data model from the Directus side that I showed earlier and then just dropped it in a cloud and was like, can you create, like, a JSON placeholder for Glay? And then Beautiful. My my favorite part actually is, like, mapping the actual columns to like, for some reason, it's just like it's like Legos. Like, I just love Yeah. Yeah. Slash then just, like, go through and pick it. Yeah. It's very satisfying. Yeah. That's by the way, Legos for adults or Minecraft for adults is the analogy I use when I think about clay. A big reason why I joined the company. I get to work with Legos every day now. Yeah. Cool. So that that's that's the last step of the Clay workflow. All this data now, because of Matt's hard work with this HTTP API call, flows back in direct us. I will now pass it off back to Matt to show the final product. Yeah. Did, did you run those columns again? All five. Yeah. All all six, actually. So Apple should have run as well. Yeah. Let me see. So I'll you want me to rerun them real quick? Toss it over. Toss the screen over. Okay. I'll just share my screen and see, and we'll just, like Cool. Cut out as necessary. Yeah. Yeah. We'll, like, we'll do it live. Alright. So we have our direct distance here. If I refresh, everything went according to plan. So it looks like Apple got pushed over. So if you, on your side, run that Yeah. HTTP Call call. Gotcha. Again. Yes. So those should come in one by one. And while you're doing that so like I said, all of the data is automatically pushed over. I I didn't have to lift a finger for this. Where it gets interesting now is, like, we have the logo URL, so we can build, you know, like a we have, flows and directives, which I haven't really talked about much, but you can set up, automations from the data inside here. So we can run a flow that's like, hey. Like, take that URL, go and fetch the the logo, and then you'll have, like, you know, all of that to personalize on as well. So, it looks like everything is in here. Yeah. So it looks like all of our other ones got pushed as well. Cool. I mentioned I'll just show you really quick. So if you go to our docs and with that HTTP API that we set up. So we have in here, integrations page. So you can just come in and and search search search Clay, and you should be able to find, yeah, quick and easy setup, how to use, like, the templates and stuff here. And we tell you, everything pretty well. Shout out to Lindsay for for her work on all this. But cool. Alright. So let's see if it works. That's probably Yeah. Probably the most important part of this. Yeah. Alright. So we've got this. We've got the slug, which should auto apply, to the pages. I am gonna pop in. So I I mentioned this earlier, but we have, like the cool thing about the data in Directus is when you create these collections, you can do, like, many to one so you can associate separate collections. So you have a team that just has access to collections with, like, well based access control, and you can have a team that just has access to landing pages. But they can Nice. Their work can, like, counter, like, counteract. So or in a good way, not not in a bad way. But, like, for Apple, right, like, I don't know if we have I guess we can pull a SaaS in. So we would wanna pull in, like, the specific SaaS testimonial here, which you could probably trigger with another flow, but I'm not that advanced. But I also like to do some manual, manual work around this. So let's see. Moment of truth. So coming over to our front end here. Got basic page. Type in apple. There you go. Apple. Beautiful. Ops team. Wow. So we've got our subheader, All of our specific problems where it looks like they're hiring a lot of engineering, so we can for our products, you know, intake and routing workflows, that support the onboarding, that sort of stuff. Yeah. And then our our SaaS testimonial here. So it's like I mean, if if you take out our talking, what? This is probably, like, a two to five minute workflow if you have, like, all of the basic pieces, and you can scale ABN that fast, which with, like, personalization. That's actually good personalization. I like that that's what has always, like, impressed me with this is just how granular you can get and refine and, like, now you have this. Keep iterating, testing, see what resonates. Yes. And I think, Matt, I'll say one thing here. With great power comes great responsibility. I think it's still on the person that's developing the workflow to have good taste. Good taste in what type of personalization do you do versus what you don't. Matt alluded to a great point earlier. Maybe don't mention their kids' Facebook, you know, profile or something random about them that that they're not gonna care about. It sounds contrived. People are tired of getting AI sloppy emails and over personalized messages. So there's a fine line of personalizing tastefully with something like this versus sort of being, having something contrived that's not gonna work. But, nonetheless, the technology is here. It's exciting, and now we're we're really happy to put this in in your hands. Yeah. Yeah. And that's like you just said, like, alluding back to when I said, like, when I said I'm in marketing and people probably cringed and run out, like, the garlic and holy water. Like, we we try to do it the right way. Like, we're we're trying to be there's, like, good marketing and bad marketing. And I tell, like, our engineering team all the time, like, I'm I'm trying to change the way that people think about it. Because a lot of, like Mhmm. A lot of it has been just, like, those quick growth hack things that I hate. But, when you do things like this and you actually start to build relationships and understand and show that, like, you are doing the work to learn about Mayo Clinic and, you know, some of the pains and struggles they have. Like, that's it's not contact level. You don't have to worry about PII. You're scraping all the available data you can find on the site. So, yeah, I I think this is you know, we keep alluding to it, but the way forward and, it's cool to see that Clay and Directus, like, just as a stack can can do it. Yeah. Obviously, AI helping a lot of things, but, I say it all the time. Everybody's becoming a builder, and you're probably seeing this over at Clay too. Like Yep. Them and moat. Like, this used to be, like, for all the developers in this call, probably a pain in the butt because you had marketing asking, like, can you create this page for me? Can you create this state? Like, how do I get this data here? And like I said, I've opened terminal before I worked here at Directus probably twice in my life, and now using cloud code. Being able to do all this myself and not have to bother anybody, that's the way things are shifting for for us as, you know, go to market team. And I'm I'm really excited to see, you know, where we land with it. Absolutely. Well, cool, man. Mohawk, I really appreciate you coming on today, giving us Likewise. You know, a quick view of Clay, how everything works. I'm so glad everything worked out. We didn't have any technical issues on either end. But, for everybody watching, like, all of the prompts that, were shared, I'll make sure that it's in, like, a accessible place. So if you wanna just grab those and test it yourself. Anything else from this call that is some, like, shareable assets or anything, I'll definitely be, sharing that as well. But, yeah, any anything you wanna add, Mohawk? I I think that's all. This was great. I appreciate you, Matt, bringing me on to be able to show the power of Clay and direct us together. And I just hope that, you know, if you're watching this right now, you have the site, you have an idea. Hopefully, the idea juices are flowing right now, and we'll try to make it as easy as possible for you guys to get this kind of up and running. I will say, Matt, to your point, lead to speed is everything now, and I think speed of execution is everything now, right, in the AI age. So, this hopefully will save a lot of time, but also kind of enable you to do things that you were not were not possible before. I think that's the most exciting part for me. But yeah. Again, thank you, Matt. Appreciate the time. Yeah. Awesome.","9af7ccb4-866a-402c-90e9-28339beda884",[539,540],"75435596-a393-420e-9b1f-1761ced507bf","801b909b-3062-459c-a6bb-a8d67285d1c3",[],{"id":16,"number":17,"show":4,"year":18,"episodes":543},[20,21,22,23,24,25,26,27],{"id":26,"slug":545,"vimeo_id":546,"description":547,"tile":548,"length":549,"resources":9,"people":9,"episode_number":285,"published":455,"title":550,"video_transcript_html":551,"video_transcript_text":552,"content":9,"seo":553,"status":13,"episode_people":554,"recommendations":556,"season":557},"introducing-builders","1177392929","A new program for the community helping to push Directus forward.\n\n","3ac7b48f-2f4a-4f6c-b1d2-038893bc61e3",21,"Introducing: Builders","\u003Cp>Speaker 0: Hello everyone. Welcome to the builder segment as part of Leap Week. I'm Beth. I run community ops here at Directus, and I have the absolute pleasure of talking to you about a brand new community program we launched in the last month called Directus Builders. Builders is a community champion program for people who use Directus, want to share what they're building, and contribute to the community.\u003C\u002Fp>\u003Cp>Whether you're interested in sharing technical insights and receiving amplification from our social channels, joining a network of other DirectUs users, or getting our support for your own community initiatives, this program is for you if you are using directors to build. By joining, you'll enter a private community with other experience builders and our team. It's open to contributors, customers, partners, users, really anyone who uses Directus to build something useful. You don't need to be building something huge, you just need to be building something real. If you're the kind of person who likes helping others figure things out, sharing what you've been learning, or creating something cool, we want to hear from you.\u003C\u002Fp>\u003Cp>Hopefully, that gives you some indication about the types of activities you can be doing as part of directors builders. We've already seen so much enthusiasm from the new joiners, so thank you so much. We have participants from over 13 different countries which is super exciting to see and that is only growing. Next up we have some of our new builders to showcase what they are working on.\u003C\u002Fp>\u003Cp>Speaker 1: Hi. My name is Craig Harmon, and I'm from Perth, Western Australia. I'm a developer, and I've been using for about, five or six years now. And I wanted to show you a project I've been working on, called Nuxtus. Now Nuxtus started life as a boilerplate just for myself to get up and running very quickly with Directus and Nuxt.\u003C\u002Fp>\u003Cp>But it's kind of grown bigger than that now, and it can do automate a lot of processes, for me to get up and running really quickly, with a front end in Nuxt being driven by Directus. So I wanted to show it to you very quickly today. So I'm just on the Nuxt website here. We can see it's very easy to get going. There's an m p x create command.\u003C\u002Fp>\u003Cp>So if we run that in the terminal, what's going to happen now is we're going to run through the standard director setup. So we'll just use local host, give a password. We'll use an SQLite database so we can get up and running nice and quickly. Quickly. And now what's gonna happen is the installer is gonna go away, download and set up Directus just like it normally would if you installed Directus yourself manually.\u003C\u002Fp>\u003Cp>But it's also going to create a client project, with Nuxt and Tailwind and the Directus SDK setup. But above and beyond that, it's also got some other little, packages, which will help us when working specifically with Directus and Nuxt. If you don't wanna use the whole of Nuxtus, you don't have to. Each of the packages are available separately. If you go to the nuxtus.com website and then go to the GitHub page, you'll see that each individual packages can be downloaded and used in your own projects without having to use Nuxtus.\u003C\u002Fp>\u003Cp>But Nuxtus is just a nice, easy, quick way to get a new project up and running. So we just wait for Directus to finish setting up here. Perfect. So we can see now that Directus and Nuxt are all set up. So if we go into our project directory, and if we run npm start, we'll see our front end Nuxt website is ready to go.\u003C\u002Fp>\u003Cp>There we go. Also, what's happened is we've got our Directus set up. If we log in to Directus, this is all now good to go. Now you could stop here. You can start writing your manual code if you wanted to, But Nuxtus also has some other really, nice features that you might wanna take, advantage of.\u003C\u002Fp>\u003Cp>So let's create a new collection in Directus. And let's say, just for the sake of a demo, we're gonna create a blog. Let's use all of the optional fields, and we'll also create a blog title and a main content area for the blog. Great. So we've added them in.\u003C\u002Fp>\u003Cp>That's all ready to go. One more more thing we're gonna do because we want to make this blog available on the front end is we're also gonna need to go to, user settings and let's make the blog publicly readable. And now that we've done that, now now this first demo is not going to be too exciting, but we'll show where we can go from there. So I haven't written any code yet, but if I go to blog, it's going to tell me that I've got no blog articles found because Nuxtus has picked up that I've created a collection called blog, but I haven't put any data in there yet. Now if I go back to my blog content and create an item, This is some content.\u003C\u002Fp>\u003Cp>We've now got some content. Let's go back to our blog and refresh. We're now given the index number of that blog. And if we click it, we get the blog collection name and all of the data about that blog. Okay.\u003C\u002Fp>\u003Cp>Now that's not overly useful, but let's see what's happening in the background. If we bring up our editor. So in server is all of our direct us package. You can see there's a direct us extension here, but we can largely leave that alone. Let's have a look at the client because that's where things get interesting.\u003C\u002Fp>\u003Cp>So we've got a standard Nuxt configuration. We've got Tailwind installed. But if we go into pages, automatically, Nuxtus has created this blog folder with two files in it. The index, which is the list of all the blog articles and also a details page, which at the moment is just echoing out a blog item. But it's more than that.\u003C\u002Fp>\u003Cp>This blog that we've created is now a fully typed object. So it's getting its type information from the director schema. So we can go down here and say, well, we don't want to display the ID of the blog to, list our blog items. We wanna show the title and that's fully typed in TypeScript already. So we save that.\u003C\u002Fp>\u003Cp>We'll see straight away in the background here. We're now using the title to list our blog items and we can go through again. And there's our our blog article that we created. Likewise, in the blog article itself, we don't want to show just the whole object. We want to show the title and then we want to have another div where we show the content.\u003C\u002Fp>\u003Cp>And again, blog is fully typed, so we know what we can get pull out from the object. And there we go. There's our change. So we've now got the name of the collection, the name of the blog article that we're looking at and the content of it and our routing all set up for us with doing very minimal code. So if you're interested in having a look at Nuxtus, please do go to the website, nuxtus.com, and, feel free to have it installed and let me know how you go.\u003C\u002Fp>\u003Cp>Thank you very much.\u003C\u002Fp>\u003Cp>Speaker 2: Today, I would like to show you how to supercharge AI batch processing using Directus MCP with a self learning note taking workflow. Batch processing is really effective for, for situations where you need raw speed, but it kinda breaks down when you need to make creative decisions on individual items and on the batch as a whole. You can't really do that without a human element. AI models, I found, are great for those sorts of tasks, but they break down when you give them a whole bunch of data. And they also struggle with finding the right information to pull in to make those creative decisions.\u003C\u002Fp>\u003Cp>So the solution I found is to teach AI to take notes. By implementing a workflow that lets Directus MCP take notes directly on whatever it's working on, we gain the ability to do things like long running task tracking because the model can pick up where it left off and and, start fresh with a new context window. And we also get things like self improving database access. You take a note on all the different things that you ran into difficulty with and what you did to solve them and how it worked out. And it speeds up future runs because it can read that note and go, okay.\u003C\u002Fp>\u003Cp>So don't do this. Do this, and I'll be able to just continue with the task I was working on. And then by letting it take notes, we can consolidate a whole bunch of data that was stored in the database. Say, for example, you wanted to pull out all of the aliases for your articles that are related to rabbits and you also want the ID for each one. Well, well, you can just dump that in a note and analyze it in future runs.\u003C\u002Fp>\u003Cp>So in our case, Directus is the knowledge backbone. Every note is just a key value pair. I'll go ahead and show you the notes table here. It's a very simple setup. We have a key, which is just a string, and this is what the AI model uses to kind of categorize what the different notes are about.\u003C\u002Fp>\u003Cp>And we have the value, and that's just a big markdown, field. It's a very simple setup, but it's surprisingly powerful. By using semantic keys and explicit instructions on how to record and review notes, we give the AI models a very quick and effective way to find the context they need. So this database has a problem. We have a whole bunch of articles.\u003C\u002Fp>\u003Cp>We have a 124 articles. The titles don't really make any sense. Oh, the bodies are in Latin. And I I can't work with this. So I've created a prompt for Claude to read the article titles and come up with a concept proposal for each one.\u003C\u002Fp>\u003Cp>What could this article actually be about? So let's look at the system prompt here. You can see that there's two things that it's informing the AI model about. That there's an AI notes table in the rough structure of that table and that it needs to read and record its database insights, especially how it solved problems it ran into and just update that note on every run. This gives it the self learning ability we were talking about earlier.\u003C\u002Fp>\u003Cp>It's able to figure out what it ran into last time and fix it on the next run. Now back to the task. I've told the AI model it's a skilled content analyst and writer. We have a huge collection of articles. All the bodies are full of nonsense.\u003C\u002Fp>\u003Cp>All that. Alright. So its job is to record the concepts that it comes up with in an article concepts note. It's not sure what to do with an article based on the title. Be creative.\u003C\u002Fp>\u003Cp>Find a wacky concept. Then we have some very specific instructions. We say always read the template and template article concepts, this is a note, to determine how to structure your output. Always create a new article concepts note for each run. Always give it the exact name.\u003C\u002Fp>\u003Cp>Always process 30 articles. Always review the last note you created before starting to make sure you don't duplicate any work. This template lets us make sure that we get consistent output on every run. Alright. Let's go ahead and run this a few times and see what its output looks like.\u003C\u002Fp>\u003Cp>I turn on auto refresh, and then I'm gonna go into Claude, add a prompt from Directus, and examine articles and propose concepts. If you want to know how to use this feature, go ahead and take a look at the Directus MCP documentation, and then we're just gonna send it. Now one of the fun things you can do with read and write access direct to Directus is if the model makes a mistake, you can ask it to update the prompt to fix its mistake in future runs. Article concepts. It has identified directly that just about every article appears to be lorem ipsum gibberish and occasional test content.\u003C\u002Fp>\u003Cp>Alright. So came up with a bunch of different articles on a bunch of different ideas. In a bit, we're gonna use this to actually write all these different article concepts. But for now, I just wanna keep going through the batch process to show you how it's able to pick up where it left off and continue. On this run, if you notice, it actually picked up that it needed to look up the translations and didn't have to figure that out from the schema this time.\u003C\u002Fp>\u003Cp>Alright, it is a new day. My cloud usage limits have reset, and we are ready to continue with step two, which is generating the articles based on the concepts that we've put together. All of the, article concepts have now been saved in these, concept notes. They take the article title. They try to figure out what on earth, the article should be about and propose a concept.\u003C\u002Fp>\u003Cp>So now we have the next step of the process, which is to generate a actual article for each of the articles we generate concepts on in both English and German. We're gonna go in batches of 10 and see how well that works. We'll take this prompt and it should automatically read over all of our article concept notes and start filling in articles for those. Let's go. So we're gonna use the turn concepts into full fledged articles prompt.\u003C\u002Fp>\u003Cp>That's gonna go and read through all of our article concept notes and start filling in those articles, and I'll show you those articles as it writes them. I have no idea if these articles are gonna make any sense. This is gonna be fun. I'm having fun reading through these articles. I have no idea how helpful any of this is, but it at least sounds very convincing.\u003C\u002Fp>\u003Cp>Now the key advantage to this approach is that if we were generating concepts and writing articles at the same time, we'd have to use much smaller batches. But because we split the process into two steps, we've saved a ton of context window, and we're able to work in larger batches. And as a bonus, we can do multiple things with those article summaries, while we're working on generating those articles from those summaries. Now this isn't the most efficient workflow for generating articles. There's way better workflows for that.\u003C\u002Fp>\u003Cp>We're just demonstrating this concept. But a nice thing about this approach is that you can perform multiple tasks at the same time. For example, while we were working on these articles, we could also be working on something completely different using the notes that we're generating the articles from. I have this prompt here, categorize article concepts, which will allow Claude to suggest an article taxonomy based on the summaries it's already generated. It'll just read all the article concept notes and create a new note suggesting that new taxonomy.\u003C\u002Fp>\u003Cp>I like the way it describes these articles as a fascinating collection of technical and business focused article concepts with creative jargon filled titles that have been transformed into practical valuable content ideas. I'm not quite sure I'd be so positive about it, but Nate gets the idea across. Alright. Let's take a look at the categories that it generated and the opportunities that identified. So here's some content gaps, AI and ethics, sustainable technology operations, human centered digital transformation, all sorts of other different things.\u003C\u002Fp>\u003Cp>And here are some of the categories it's come up with. System architecture, it's put a bunch of different articles in that category, ecommerce, digital business, data management and analytics, user experience and interface design, business operations or business optimization management, automation and AI systems, project management and collaboration. So it's basically taken all of those articles that we put together and categorized them according to common themes in those articles. This could be really useful if you have an existing content collection that you're trying to build a new categorization system for. And what's great is you could just take this and create another prompt to actually apply that taxonomy to articles, and create categories and all sorts of different things for that in Directus.\u003C\u002Fp>\u003Cp>So by the end of this run, here's what the AI model has built. Concept proposals for every article in our database, full body content for many of those articles in English and German, a whole new content categorization system for the articles it wrote, progress logs so that it doesn't lose its place, and database access hints that documents how the challenges were solved so that on future runs, it could do even better. Instead of treating AI like a disposable worker or one that can infinitely stuff and stuff and stuff and work on something until it gets all confused, We're treating it like a teammate that tracks and follows up on what it's done across multiple days, multiple runs, starting with a clean slate on each task and only pulling in the information that it needs. We turned a human in the loop batch processing task into an AI creative workflow by splitting it into discrete steps and letting it kind of pick up where it left off. We gave the model a way to track progress.\u003C\u002Fp>\u003Cp>We built templates to make the results more consistent and reusable, and we recorded information about the database to help the AI model get smarter over time. I've had a ton of fun nailing down this workflow and testing it on all sorts of tasks. For my work, we're actually using it to do things similar to this where we're analyzing a huge amount of content and trying to figure out how to organize and categorize and and do all sorts of things, and it's it's doing really well. The ability to take notes, record what it's done, and just kind of start over and create its own context has been incredibly helpful with turning a workflow that works really well for one or two articles into something that works well across thousands. So So thank you for your time.\u003C\u002Fp>\u003Cp>I really look forward to seeing what everyone does with Directus and Directus MCP going forward, especially as Directus MCP evolves, AI models get more capable, and just the overall core gets stronger. The future is gonna be fun.\u003C\u002Fp>\u003Cp>Speaker 3: Hey. I'm Matt from Morley. We're a directors partner agency based in The UK. And today, I want to give you a quick look at what we've been building, both for our clients and for the directors community. So one of the things we built for directors that we're most proud of is the NUXT directors module.\u003C\u002Fp>\u003Cp>It's an open source NUXT module that wraps the official directors SDK and gives you proper first class integration with NUXT. The idea is simple, you add your module, point it at your Directus instance and that's it, you're up and running. You get session based authentication with cross domain support out of the box, automatic type generation from your directors collections, type safe websockets, Nux images automatically configured for your directors assets, and we even embed the directors admin panel right into the Nux dev tools. So let me show you how to get up and running with that. So I'll just open up Visual Studio Code.\u003C\u002Fp>\u003Cp>The first thing you need to do is go into your Nux config, add the Nux Direct SDK, install it in whatever package manager you like, then go to your environment variable, add your direct to your URL, and if you want to use things like, admin server endpoints or automatic type generation then just add in a Nux, a direct to admin token as well and that will be automatically handled for you. Don't worry nothing will be passed to the front end it's all completely safe. And that's it, when you start the server you get access to everything you'd expect from your Direct SDK automatically imported. So as you can see here on my blog page I've got the directors all I do is call use directors and then things like read items automatically imported and it's fully type safe. You can see all of my collections.\u003C\u002Fp>\u003Cp>I get errors if it's a if it doesn't actually exist in the director's schema and I can do things that you'd expect. Fully typed filtering, fully typed nested fields, and again I will get errors if something doesn't exist, and fully typed sort. That's it. It's up, it's running. You can do, there's even help methods for things like getting your file URLs, where you can pass in options around your thumbnails, whether you want to download it, what you want to call it, all that is handled automatically for the NUXT Directus SDK.\u003C\u002Fp>\u003Cp>We built this because we kept solving the same problems across client projects and rather than copying and pasting boilerplate we packaged it up properly and made available on NPM. It's MIT licensed and we're just about to release version five which targets Nux four and the latest Direct SDK. Here's some of the work that we built using Directus and the Nux Directus SDK. So that's a quick snapshot of what we're building at Rolla. If you're building anything with Nux and Directus, feel free to give the Nux Directus SDK a look.\u003C\u002Fp>\u003Cp>Otherwise, if you want to chat about anything Nux, directors or even potentially a future project please do reach out at rolli. Io. Thank you very much.\u003C\u002Fp>\u003Cp>Speaker 0: Thank Thank you so much for the showcases and to everyone who's already joined and showed enthusiasm. We are really excited about bringing the community together in this way and to see all the possibilities that can come out of it and, yeah, hopefully, we have done enough to convince you to join. That's it from me. If you have any questions, do head over to the community forum at community.directors.io and have a great rest of leap week, everyone. See you soon.\u003C\u002Fp>\u003Cp>Bye.\u003C\u002Fp>","Hello everyone. Welcome to the builder segment as part of Leap Week. I'm Beth. I run community ops here at Directus, and I have the absolute pleasure of talking to you about a brand new community program we launched in the last month called Directus Builders. Builders is a community champion program for people who use Directus, want to share what they're building, and contribute to the community. Whether you're interested in sharing technical insights and receiving amplification from our social channels, joining a network of other DirectUs users, or getting our support for your own community initiatives, this program is for you if you are using directors to build. By joining, you'll enter a private community with other experience builders and our team. It's open to contributors, customers, partners, users, really anyone who uses Directus to build something useful. You don't need to be building something huge, you just need to be building something real. If you're the kind of person who likes helping others figure things out, sharing what you've been learning, or creating something cool, we want to hear from you. Hopefully, that gives you some indication about the types of activities you can be doing as part of directors builders. We've already seen so much enthusiasm from the new joiners, so thank you so much. We have participants from over 13 different countries which is super exciting to see and that is only growing. Next up we have some of our new builders to showcase what they are working on. Hi. My name is Craig Harmon, and I'm from Perth, Western Australia. I'm a developer, and I've been using for about, five or six years now. And I wanted to show you a project I've been working on, called Nuxtus. Now Nuxtus started life as a boilerplate just for myself to get up and running very quickly with Directus and Nuxt. But it's kind of grown bigger than that now, and it can do automate a lot of processes, for me to get up and running really quickly, with a front end in Nuxt being driven by Directus. So I wanted to show it to you very quickly today. So I'm just on the Nuxt website here. We can see it's very easy to get going. There's an m p x create command. So if we run that in the terminal, what's going to happen now is we're going to run through the standard director setup. So we'll just use local host, give a password. We'll use an SQLite database so we can get up and running nice and quickly. Quickly. And now what's gonna happen is the installer is gonna go away, download and set up Directus just like it normally would if you installed Directus yourself manually. But it's also going to create a client project, with Nuxt and Tailwind and the Directus SDK setup. But above and beyond that, it's also got some other little, packages, which will help us when working specifically with Directus and Nuxt. If you don't wanna use the whole of Nuxtus, you don't have to. Each of the packages are available separately. If you go to the nuxtus.com website and then go to the GitHub page, you'll see that each individual packages can be downloaded and used in your own projects without having to use Nuxtus. But Nuxtus is just a nice, easy, quick way to get a new project up and running. So we just wait for Directus to finish setting up here. Perfect. So we can see now that Directus and Nuxt are all set up. So if we go into our project directory, and if we run npm start, we'll see our front end Nuxt website is ready to go. There we go. Also, what's happened is we've got our Directus set up. If we log in to Directus, this is all now good to go. Now you could stop here. You can start writing your manual code if you wanted to, But Nuxtus also has some other really, nice features that you might wanna take, advantage of. So let's create a new collection in Directus. And let's say, just for the sake of a demo, we're gonna create a blog. Let's use all of the optional fields, and we'll also create a blog title and a main content area for the blog. Great. So we've added them in. That's all ready to go. One more more thing we're gonna do because we want to make this blog available on the front end is we're also gonna need to go to, user settings and let's make the blog publicly readable. And now that we've done that, now now this first demo is not going to be too exciting, but we'll show where we can go from there. So I haven't written any code yet, but if I go to blog, it's going to tell me that I've got no blog articles found because Nuxtus has picked up that I've created a collection called blog, but I haven't put any data in there yet. Now if I go back to my blog content and create an item, This is some content. We've now got some content. Let's go back to our blog and refresh. We're now given the index number of that blog. And if we click it, we get the blog collection name and all of the data about that blog. Okay. Now that's not overly useful, but let's see what's happening in the background. If we bring up our editor. So in server is all of our direct us package. You can see there's a direct us extension here, but we can largely leave that alone. Let's have a look at the client because that's where things get interesting. So we've got a standard Nuxt configuration. We've got Tailwind installed. But if we go into pages, automatically, Nuxtus has created this blog folder with two files in it. The index, which is the list of all the blog articles and also a details page, which at the moment is just echoing out a blog item. But it's more than that. This blog that we've created is now a fully typed object. So it's getting its type information from the director schema. So we can go down here and say, well, we don't want to display the ID of the blog to, list our blog items. We wanna show the title and that's fully typed in TypeScript already. So we save that. We'll see straight away in the background here. We're now using the title to list our blog items and we can go through again. And there's our our blog article that we created. Likewise, in the blog article itself, we don't want to show just the whole object. We want to show the title and then we want to have another div where we show the content. And again, blog is fully typed, so we know what we can get pull out from the object. And there we go. There's our change. So we've now got the name of the collection, the name of the blog article that we're looking at and the content of it and our routing all set up for us with doing very minimal code. So if you're interested in having a look at Nuxtus, please do go to the website, nuxtus.com, and, feel free to have it installed and let me know how you go. Thank you very much. Today, I would like to show you how to supercharge AI batch processing using Directus MCP with a self learning note taking workflow. Batch processing is really effective for, for situations where you need raw speed, but it kinda breaks down when you need to make creative decisions on individual items and on the batch as a whole. You can't really do that without a human element. AI models, I found, are great for those sorts of tasks, but they break down when you give them a whole bunch of data. And they also struggle with finding the right information to pull in to make those creative decisions. So the solution I found is to teach AI to take notes. By implementing a workflow that lets Directus MCP take notes directly on whatever it's working on, we gain the ability to do things like long running task tracking because the model can pick up where it left off and and, start fresh with a new context window. And we also get things like self improving database access. You take a note on all the different things that you ran into difficulty with and what you did to solve them and how it worked out. And it speeds up future runs because it can read that note and go, okay. So don't do this. Do this, and I'll be able to just continue with the task I was working on. And then by letting it take notes, we can consolidate a whole bunch of data that was stored in the database. Say, for example, you wanted to pull out all of the aliases for your articles that are related to rabbits and you also want the ID for each one. Well, well, you can just dump that in a note and analyze it in future runs. So in our case, Directus is the knowledge backbone. Every note is just a key value pair. I'll go ahead and show you the notes table here. It's a very simple setup. We have a key, which is just a string, and this is what the AI model uses to kind of categorize what the different notes are about. And we have the value, and that's just a big markdown, field. It's a very simple setup, but it's surprisingly powerful. By using semantic keys and explicit instructions on how to record and review notes, we give the AI models a very quick and effective way to find the context they need. So this database has a problem. We have a whole bunch of articles. We have a 124 articles. The titles don't really make any sense. Oh, the bodies are in Latin. And I I can't work with this. So I've created a prompt for Claude to read the article titles and come up with a concept proposal for each one. What could this article actually be about? So let's look at the system prompt here. You can see that there's two things that it's informing the AI model about. That there's an AI notes table in the rough structure of that table and that it needs to read and record its database insights, especially how it solved problems it ran into and just update that note on every run. This gives it the self learning ability we were talking about earlier. It's able to figure out what it ran into last time and fix it on the next run. Now back to the task. I've told the AI model it's a skilled content analyst and writer. We have a huge collection of articles. All the bodies are full of nonsense. All that. Alright. So its job is to record the concepts that it comes up with in an article concepts note. It's not sure what to do with an article based on the title. Be creative. Find a wacky concept. Then we have some very specific instructions. We say always read the template and template article concepts, this is a note, to determine how to structure your output. Always create a new article concepts note for each run. Always give it the exact name. Always process 30 articles. Always review the last note you created before starting to make sure you don't duplicate any work. This template lets us make sure that we get consistent output on every run. Alright. Let's go ahead and run this a few times and see what its output looks like. I turn on auto refresh, and then I'm gonna go into Claude, add a prompt from Directus, and examine articles and propose concepts. If you want to know how to use this feature, go ahead and take a look at the Directus MCP documentation, and then we're just gonna send it. Now one of the fun things you can do with read and write access direct to Directus is if the model makes a mistake, you can ask it to update the prompt to fix its mistake in future runs. Article concepts. It has identified directly that just about every article appears to be lorem ipsum gibberish and occasional test content. Alright. So came up with a bunch of different articles on a bunch of different ideas. In a bit, we're gonna use this to actually write all these different article concepts. But for now, I just wanna keep going through the batch process to show you how it's able to pick up where it left off and continue. On this run, if you notice, it actually picked up that it needed to look up the translations and didn't have to figure that out from the schema this time. Alright, it is a new day. My cloud usage limits have reset, and we are ready to continue with step two, which is generating the articles based on the concepts that we've put together. All of the, article concepts have now been saved in these, concept notes. They take the article title. They try to figure out what on earth, the article should be about and propose a concept. So now we have the next step of the process, which is to generate a actual article for each of the articles we generate concepts on in both English and German. We're gonna go in batches of 10 and see how well that works. We'll take this prompt and it should automatically read over all of our article concept notes and start filling in articles for those. Let's go. So we're gonna use the turn concepts into full fledged articles prompt. That's gonna go and read through all of our article concept notes and start filling in those articles, and I'll show you those articles as it writes them. I have no idea if these articles are gonna make any sense. This is gonna be fun. I'm having fun reading through these articles. I have no idea how helpful any of this is, but it at least sounds very convincing. Now the key advantage to this approach is that if we were generating concepts and writing articles at the same time, we'd have to use much smaller batches. But because we split the process into two steps, we've saved a ton of context window, and we're able to work in larger batches. And as a bonus, we can do multiple things with those article summaries, while we're working on generating those articles from those summaries. Now this isn't the most efficient workflow for generating articles. There's way better workflows for that. We're just demonstrating this concept. But a nice thing about this approach is that you can perform multiple tasks at the same time. For example, while we were working on these articles, we could also be working on something completely different using the notes that we're generating the articles from. I have this prompt here, categorize article concepts, which will allow Claude to suggest an article taxonomy based on the summaries it's already generated. It'll just read all the article concept notes and create a new note suggesting that new taxonomy. I like the way it describes these articles as a fascinating collection of technical and business focused article concepts with creative jargon filled titles that have been transformed into practical valuable content ideas. I'm not quite sure I'd be so positive about it, but Nate gets the idea across. Alright. Let's take a look at the categories that it generated and the opportunities that identified. So here's some content gaps, AI and ethics, sustainable technology operations, human centered digital transformation, all sorts of other different things. And here are some of the categories it's come up with. System architecture, it's put a bunch of different articles in that category, ecommerce, digital business, data management and analytics, user experience and interface design, business operations or business optimization management, automation and AI systems, project management and collaboration. So it's basically taken all of those articles that we put together and categorized them according to common themes in those articles. This could be really useful if you have an existing content collection that you're trying to build a new categorization system for. And what's great is you could just take this and create another prompt to actually apply that taxonomy to articles, and create categories and all sorts of different things for that in Directus. So by the end of this run, here's what the AI model has built. Concept proposals for every article in our database, full body content for many of those articles in English and German, a whole new content categorization system for the articles it wrote, progress logs so that it doesn't lose its place, and database access hints that documents how the challenges were solved so that on future runs, it could do even better. Instead of treating AI like a disposable worker or one that can infinitely stuff and stuff and stuff and work on something until it gets all confused, We're treating it like a teammate that tracks and follows up on what it's done across multiple days, multiple runs, starting with a clean slate on each task and only pulling in the information that it needs. We turned a human in the loop batch processing task into an AI creative workflow by splitting it into discrete steps and letting it kind of pick up where it left off. We gave the model a way to track progress. We built templates to make the results more consistent and reusable, and we recorded information about the database to help the AI model get smarter over time. I've had a ton of fun nailing down this workflow and testing it on all sorts of tasks. For my work, we're actually using it to do things similar to this where we're analyzing a huge amount of content and trying to figure out how to organize and categorize and and do all sorts of things, and it's it's doing really well. The ability to take notes, record what it's done, and just kind of start over and create its own context has been incredibly helpful with turning a workflow that works really well for one or two articles into something that works well across thousands. So So thank you for your time. I really look forward to seeing what everyone does with Directus and Directus MCP going forward, especially as Directus MCP evolves, AI models get more capable, and just the overall core gets stronger. The future is gonna be fun. Hey. I'm Matt from Morley. We're a directors partner agency based in The UK. And today, I want to give you a quick look at what we've been building, both for our clients and for the directors community. So one of the things we built for directors that we're most proud of is the NUXT directors module. It's an open source NUXT module that wraps the official directors SDK and gives you proper first class integration with NUXT. The idea is simple, you add your module, point it at your Directus instance and that's it, you're up and running. You get session based authentication with cross domain support out of the box, automatic type generation from your directors collections, type safe websockets, Nux images automatically configured for your directors assets, and we even embed the directors admin panel right into the Nux dev tools. So let me show you how to get up and running with that. So I'll just open up Visual Studio Code. The first thing you need to do is go into your Nux config, add the Nux Direct SDK, install it in whatever package manager you like, then go to your environment variable, add your direct to your URL, and if you want to use things like, admin server endpoints or automatic type generation then just add in a Nux, a direct to admin token as well and that will be automatically handled for you. Don't worry nothing will be passed to the front end it's all completely safe. And that's it, when you start the server you get access to everything you'd expect from your Direct SDK automatically imported. So as you can see here on my blog page I've got the directors all I do is call use directors and then things like read items automatically imported and it's fully type safe. You can see all of my collections. I get errors if it's a if it doesn't actually exist in the director's schema and I can do things that you'd expect. Fully typed filtering, fully typed nested fields, and again I will get errors if something doesn't exist, and fully typed sort. That's it. It's up, it's running. You can do, there's even help methods for things like getting your file URLs, where you can pass in options around your thumbnails, whether you want to download it, what you want to call it, all that is handled automatically for the NUXT Directus SDK. We built this because we kept solving the same problems across client projects and rather than copying and pasting boilerplate we packaged it up properly and made available on NPM. It's MIT licensed and we're just about to release version five which targets Nux four and the latest Direct SDK. Here's some of the work that we built using Directus and the Nux Directus SDK. So that's a quick snapshot of what we're building at Rolla. If you're building anything with Nux and Directus, feel free to give the Nux Directus SDK a look. Otherwise, if you want to chat about anything Nux, directors or even potentially a future project please do reach out at rolli. Io. Thank you very much. Thank Thank you so much for the showcases and to everyone who's already joined and showed enthusiasm. We are really excited about bringing the community together in this way and to see all the possibilities that can come out of it and, yeah, hopefully, we have done enough to convince you to join. That's it from me. If you have any questions, do head over to the community forum at community.directors.io and have a great rest of leap week, everyone. See you soon. Bye.","aed3883f-f0df-4ae7-8c85-5df7e2c86161",[555],"912b46f7-c6c2-4876-a81c-1060ff910431",[],{"id":16,"number":17,"show":4,"year":18,"episodes":558},[20,21,22,23,24,25,26,27],{"id":27,"slug":560,"vimeo_id":561,"description":562,"tile":563,"length":564,"resources":9,"people":9,"episode_number":303,"published":455,"title":565,"video_transcript_html":566,"video_transcript_text":567,"content":9,"seo":568,"status":13,"episode_people":569,"recommendations":572,"season":573},"what-next-for-directus","1176305680","A deep-dive look at what's shipping, what's coming, and where the product is heading.\n\n","5795d393-226c-4831-8d38-f47e25419dd5",32,"What's Next for Directus","\u003Cp>Speaker 0: Alright. And with that, we've made it to the last session of the Leap Week. I really hope you enjoyed all the great announcements so far. But before we wrap up today, we wanted to take a beat and talk a little bit about what we've shipped recently and what is next for the Directus platform as a whole. I'm Greg Consonzo, the CTO and cofounder here at Directus, and with me is James.\u003C\u002Fp>\u003Cp>Speaker 1: Thank you very much. Yeah. I'm James. Working at Directus as a staff product manager. Thank you for the intro, Rick.\u003C\u002Fp>\u003Cp>Speaker 0: So first and foremost, some of you might have seen that on GitHub discussions, we put a big banner, and we we posted a couple of comments about our new road map. So we moved platforms over to roadmap.direct.io. You might have seen it. Why why did we make this change, James?\u003C\u002Fp>\u003Cp>Speaker 1: If we look at the old mechanism for feature requests, we used to manage this through GitHub discussions. Honestly, it became a a place for things to kind of go away and die, unfortunately, through no, you know, no means on our part or no deliberate means, but, it wasn't so integrated with, you know, linear and the development workflows of the teams. So it's kinda had this, you know, disjointed journey between the feature requests and then how they get actioned and then making that visible to the community as well. So we've started to use a new a new product. And like Wrike said, you'll have seen on some of the discussion threads, that, you know, we've moved over now.\u003C\u002Fp>\u003Cp>So some of the threads have been locked. Some of them we've kept open because we wanna keep the discussion going. Right? And we don't want that to stop on some of that particularly some of the ones that have been upvoted heavily. But what you will find is that, you know, these have been ported over to our our new road map, which you can find at roadmap.directus.io\u002Froadmap.\u003C\u002Fp>\u003Cp>You can go in here, search for existing discussions, and we've maintained that link back to the GitHub thread as well, because there's lots of useful information there. So, yeah, that's that's kinda how things look. I don't know if you've got anything to add, Ryke.\u003C\u002Fp>\u003Cp>Speaker 0: Yeah. I'll say it's it's one of those interesting points where it feels very obvious to keep it all centralized on the repo. I mean, GitHub already has discussions. They already have upvotes. They already have, like, a, submitted by status.\u003C\u002Fp>\u003Cp>They already have the whole it's it's, approved or denied or completed and all that kind of stuff. So it it might be a little weird to just see that move over. But at the end of the day, we kinda just outgrew the tooling that was available. Right? So even right now, when we noticed, oh, we wanna move over, there's no way for us to to prevent new ones from being open on GitHub without shutting down all of the old ones, which is very unfortunate because then people can't find them.\u003C\u002Fp>\u003Cp>So at the end of the day, you know, this is a great, great upgrade, to at least be able to manage these feature requests and and also help our team ship, the things that are truly important here to the community. With that as well, any request that you put into this product line right now goes straight to our product team. So you're also straight talking to the source and and the folks in charge of that roadmap. You're truly in James in this case, which is a lot nicer line of communication in that regard. So just as before, you know, please do take a look at the road map.\u003C\u002Fp>\u003Cp>If you see something that you agree with or you're aligned with, please hit that upvote button. If you have a different request that nobody else has requested yet on this particular list, hit the new request button, and it will fly straight to us. And we'll we'll reach out, for more information.\u003C\u002Fp>\u003Cp>Speaker 1: That's right.\u003C\u002Fp>\u003Cp>Speaker 0: Give it to me. Plus one. Any updates?\u003C\u002Fp>\u003Cp>Speaker 1: Direct line of communication, like you said. And Exactly. Feel free to add an extra layer of detail. If you see something that, you know, you see yourself in in the request, but you wanna add, you know, additional information because that comes directly to me and Mike.\u003C\u002Fp>\u003Cp>Speaker 0: Exactly. And with that being said, I think let's take a look at this road map sort of going in in reverse chronological order maybe for this one. Let's take a look at some of the stuff that we've recently completed. So we'll we'll group this roughly by release, instead of chronological order. Well, I guess it's kinda the same if you think about it.\u003C\u002Fp>\u003Cp>But, you know, we we plan these things out on the road map over time. But starting with with 11 dot 16 release, we have the global draft versions, which is a a part of a bigger new project. James, what what is that project all about?\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. So I think there's been a a perception that, the content versioning features inside Directus have been kind of a advanced feature. They're a little bit tucked away. They work a little bit like GitHub branches, funny enough today. But for, you know, content editors, that need to version content, that workflow for how you work with the draft, how that gets promoted or published into the, you know, the the the live item has been not super intuitive.\u003C\u002Fp>\u003Cp>So we started on this track to make that a lot more native. And the latest update brings, you know, a global draft version to any item that has content versioning enabled. So the moment you switch that on, you're gonna have a draft version inside that that item. That was something you'd have to create yourself before. And then with that, we've brought that into the visual editor as well.\u003C\u002Fp>\u003Cp>So if you're looking at the visual editor and you want to preview draft content, you can now do that, via the visual editor. So it's part of a foundational part to making all of these content editing workflows much more intuitive for you for your business folk who are managing content. And we'll see, you know, extensions of that over the next couple of releases, for sure, particularly in the v 12 release, to make that feel much more native, that whole publishing workflow of content.\u003C\u002Fp>\u003Cp>Speaker 0: So practically, that means that today, the moment you like you said, the moment you like the moment you open an item, it's straight into draft. So then it's it's way more of that sort of one, two step. You make your changes through draft. You hit publish by the time you're ready. You don't have to manually switch, back and forth ahead of time for that to work.\u003C\u002Fp>\u003Cp>Now that allows us to start working towards way more powerful capabilities in the future as well, of course. So we're thinking about things like dedicated permissions for versioning or potentially approval workflows even or releases of multiple of these content items together. So this this first draft change is is one in a step of many, many changes all related to what we're calling the CEW project or the content editorial workflow project, internally.\u003C\u002Fp>\u003Cp>Speaker 1: Awesome. That's right.\u003C\u002Fp>\u003Cp>Speaker 0: Then another thing we shipped recently that fits really well in this sort of one two punch of you make a bunch of changes and you ship it out. Can you guess what it is? It's the deployments module. So we just shipped a new module directly in the studio integrated with Vercel, quickly followed up by Netlify by a community member. Thank you for that.\u003C\u002Fp>\u003Cp>Thank you. What what is that deployments module all about?\u003C\u002Fp>\u003Cp>Speaker 1: Yeah. So it's it's something we we've even struggled with internally, our internal marketing teams that use Directus. You know, the sites are deployed on on Vercel or Netlify or, you know, other other hosting providers. And let's say you're managing some content inside Directus, you then have to leave Directus, you know, assuming you have access to that third party solution, to then go and deploy your site to reflect the the changes that you've made in your CMS. Now that's a little bit nuanced, whether you want all of your content editors to have access to that system, which is primarily about deployments, potentially not.\u003C\u002Fp>\u003Cp>But maybe you wanna give them the flexibility to still rebuild the site on demand. So this is really about bringing that functionality natively into director's core so that you can make those changes. And then, you know, you can go in and you can hit, trigger a build in in Vercel or Netlify. And then we'll give you the, you know, the the deployment status, the build logs, give you a link out to see the the the, the the site once it's built. So, yeah, I mean, all all covered by RBAC.\u003C\u002Fp>\u003Cp>So, you know, if you you want to delegate responsibility beyond the admin in terms of who can trigger deployments, that's all kind of covered by the existing, role based access control settings inside Directus. That's what it's all about. I mean, I think we'd love to extend this beyond Vercel and Netlify as well. So you probably got some ideas.\u003C\u002Fp>\u003Cp>Speaker 0: Gonna say, like, with with most everything we've built in Direct is we've tried to do this in as most of an abstract that way as we could, which is why we saw Netlify flying relatively quickly. Now this is this is too good of a a segue not to use it. If people wanna request which one we should add as a third, where where did they do that?\u003C\u002Fp>\u003Cp>Speaker 1: Well, I I guess you could come come on to here. Right? And you could still add the feedback here, just so it's, you know, tightly related to this project. But this is a completed project, so maybe the best thing to do would be to hit new request. Tell us that you want Cloudflare pages or something like that.\u003C\u002Fp>\u003Cp>And then, that's gonna come right to us. And, obviously, that's gonna be something that we're but we're already thinking about it. Right?\u003C\u002Fp>\u003Cp>Speaker 0: For sure. For sure. Yeah. Alright. Onto a very different topic then.\u003C\u002Fp>\u003Cp>And this is a feature request that I opened back on GitHub maybe four years ago, if not five at this point. The ability to potentially filter within JSON fields. It is one that we've sort of toyed with. We've tried it out. We've done a PR in the past that didn't quite land, but there's updates on that front.\u003C\u002Fp>\u003Cp>James, what's the latest?\u003C\u002Fp>\u003Cp>Speaker 1: There is. And they're currently showing is in progress, but, you know, part of this was actually released in in, like you said, the 11\u002F2016. But, yeah, this is really about bringing support to interact with, you know, JSON data in your database, at the API. So the first piece that we delivered in 11\u002F2016 allows you to select fields within a JSON blob very simply. So you don't have to bring the whole thing, you know, client side and deal with it yourself.\u003C\u002Fp>\u003Cp>That is nice, but it's clearly not the end goal. The end goal is to to bring full support, in the API for filtering, sorting, aliasing, across all of the different database vendors, of course, and then extend it, you know, to to the SDK as well. Make sure it's not just supported in the rest API. So we'll see a big big chunk of that, particularly the filtering drop in the next release. And I think that, you know, in subsequent releases, there might be additional things just to to get us to that final state.\u003C\u002Fp>\u003Cp>But, yeah, like you said, I think the original GitHub discussion maybe we can have a look. Got a feeling this was yeah. A little while ago. But lots of community support for this, so really happy to be able to to work on this. Shout out to Tim internally who's been working on this.\u003C\u002Fp>\u003Cp>It was actually a bit of a hackathon project that ended up getting rolled out, into the core. So\u003C\u002Fp>\u003Cp>Speaker 0: It it was something we've all been wanting to have for a long time, so I'm glad we're getting to it now.\u003C\u002Fp>\u003Cp>Speaker 1: Awesome. Yeah. Super exciting. What about something that's probably quite close to your involvement, which is we've had a bit of an AI related work stream over the last few months. Things have developed not just not just in the market, but also for directors.\u003C\u002Fp>\u003Cp>So maybe you wanna give us a few, a few thoughts on how\u003C\u002Fp>\u003Cp>Speaker 0: how things develop. I might use this as a little bit of a a sneaky personal pitch, but if you happen to have caught my my recent keynotes at the at Vue JS Amsterdam conference or coming up at Vue JS Atlanta, one thing that we have been heavily focused on is to see how can we use the AI technology stacks, so LLMs and generative images and things like that, within the product in a way that actually makes sense for our users. Right? So the thing I'm personally always scared of is shipping a bunch of gimmicks that nobody then cares about, which, you know, hot takes, but it happens all over the place. So how do we use that technology then in a way that actually makes sense?\u003C\u002Fp>\u003Cp>So the first thing we did is implement that MCP endpoint that shipped, I wanna say, in 11\u002F13 or even '12. It's a little while back now. It's been out for a minute. We did it as a standalone package first to test the waters. That went really incredibly well.\u003C\u002Fp>\u003Cp>Then we moved it into core as a native feature that is just there by default. So that allows LLMs outside of the product to use the content and data within and but also take other system actions, like doing the data modeling or even setting up permissions. Although, make sure you confirm what it's doing. The second big step for us there was to move that experience into the product itself. So right now, we have that AI chat sidebar, natively in the product.\u003C\u002Fp>\u003Cp>So it's always available in the bottom right, and it knows the context of the page. Where are you? What tools are available? What can it, you know, what can it do both on the client and server side? So on the server side, we've implemented the same MCP tools that you had before from external LLMs.\u003C\u002Fp>\u003Cp>So that is things like changing the data model, reading or writing items, retrieving files, and some other system operations like that. The second big thing we started developing is sort of the client side tooling integration of that. And what that means is that the LLM chat sidebar can take actions in the studio on your behalf. So not just on the API, but in the studio as well. We're continuing to explore what that looks like.\u003C\u002Fp>\u003Cp>So right now, we're focusing heavily on exactly the e d assets and translations workflow. So that is really focusing on, you know, helping you do the content creation in various languages that you might not be native in on the fly, in line in the studio rather than doing it, you know, hidden away in the background. So a lot of very exciting stuff on that front. We're also doing a little bit of r and d in this sort of more agentic workflows in the background and background processes, but, you know, that is a little too early to to share too much of that.\u003C\u002Fp>\u003Cp>Speaker 1: Nice. And I think since we released some of these capabilities, particularly the the embedded AI assistant, lot of feedback we got was around extending support. Right? I think we went live with Anthropic and OpenAI, but maybe you can add a bit on how we've looked at support beyond that and and what people are still asking for.\u003C\u002Fp>\u003Cp>Speaker 0: For sure. Yeah. I mean, as as anybody who's been anybody who who stumbled into Twitter in in the recent week or so, I mean, you see these models, they they evolve so, so, so rapidly that it is near impossible to just pick one vendor and and be happy with it for, you know, years to come. So as with most everything else at Directus, like we just saw with, the other features we talked about as well around deployment, we wanna make sure we built this in a an agnostic a way as we possibly can. So we'd indeed shipped it with an abstraction with just on top of OpenAI and anthropic to start with.\u003C\u002Fp>\u003Cp>But then immediately, people started mentioning. It's like, oh, but what about Gemini? Or what about Grok? God forbid. Or what about an OpenAI endpoint that I self host, which is very interesting.\u003C\u002Fp>\u003Cp>So we started shipping, some of the big other vendors that you'd expect. So I think we we, well, not I think I know we added support for for Gemini pretty quickly after, but are now also really focusing in on, like, okay. What are the nuances of, like, an open AI that runs on Azure that you have full control over, or what happens if you run a Mistral AI model that you have self hosted? To really tie back into that data sovereignty play. Right?\u003C\u002Fp>\u003Cp>Because at the end of the day, the technology stack is really cool and exciting, but you might not be comfortable with sending, you know, that private data from your database over to some external company that you may or may not trust. So this is a really interesting next angle here for the way we treat AI within Directus that I think fits in really well in our sort of overall self hosted, data sovereignty play.\u003C\u002Fp>\u003Cp>Speaker 1: Very nice. Very nice. So, yeah, you can you can add add an open AI API compatible, that's a hell of a mouthful, provider inside the director settings today if you wanna use the the AI assistant, with an alternative provider. Let's come back to the completed section. I know we're going jumping all over the place as we go, but I think that's okay.\u003C\u002Fp>\u003Cp>Yeah. I mean, this was an interesting one internally for the team, at least. I think collaborative editing was a was a capability that was that was developed suddenly before I joined Directus, but originally built as a extension. Is that right?\u003C\u002Fp>\u003Cp>Speaker 0: That's right. And that was really to make sure that we, just as with the MCP endpoint, had a way to experiment with what that needed to look and feel like. So as you might imagine, with something as broadly used as direct as in terms of use cases, with that comes a lot of different hopes and dreams about how that collaborative nature of the thing works. Is everybody working on the same draft state that we just talked about for the CEW project, or are you working all locally, and does it sync up only when you hit save? And how does that then do do merge resolutions and and complicated things like that?\u003C\u002Fp>\u003Cp>So we shipped it as a plug in first to test the waters. That went really well. We learned a lot from that. Then by the time we were like, okay. This feels now like we know what this needs to look like in the product for real, we were able to move it back into core.\u003C\u002Fp>\u003Cp>And luckily, because, you know, extensions are built as very modular pieces, that are built in the same way that we built the core product, it was actually relatively straightforward to to move that in here as well.\u003C\u002Fp>\u003Cp>Speaker 1: Nice. I think that one was added in in 11\u002F2015 maybe. But, yeah, that's now basically a core a core capability. So if you want to enable collaborative editing, you could do that in the project settings. Once you enable that, you're gonna see, you know, multiple avatars if you're collaborating over the same same item inside the studio.\u003C\u002Fp>\u003Cp>And you get things like field locking behavior as well. So if somebody's working in a field, obviously, you can't edit it while they're editing it. So, yeah, really nice, feature for for content folks, who want to collaborate together. So highly recommend switching it on and, of course, giving us feedback, if you experience anything that you think could be improved or anything like that.\u003C\u002Fp>\u003Cp>Speaker 0: If you know where to find us now. Also, with that quick shout out, you know, we we often do use extensions as the the vessel to do experimental work. So if you're you're curious to see what is, you know, the newest of the new, do take a look at the extensions that are out there, both from us and and the community. We post a lot of experimental work on the Directus Labs GitHub organization that I think is worth, a quick look.\u003C\u002Fp>\u003Cp>Speaker 1: Awesome. Maybe that's a good segue into something which we're gonna have to comment on because it's it's sitting right at the top. Certainly, the thing that caught my attention since I joined Directus, right, which is this one. And the reason I say that is because you you mentioned extensions, and you mentioned, you know, at the moment, this is something where I think people who are looking for a solution to configure as code or or gen more generally speaking, environment synchronization, they are having to look to third party extensions, and there are some good ones out there. I think that's\u003C\u002Fp>\u003Cp>Speaker 0: For sure.\u003C\u002Fp>\u003Cp>Speaker 1: That's something we can say for sure. So a bit of context on this one today. I think schema snapshot is all all or nothing. Right? You can synchronize, one environment to another, but it's all or nothing.\u003C\u002Fp>\u003Cp>And I think that that's not really providing the granular control that people need. I think they need to be able to do it resource specific, be able to exclude, include certain collections, and, of course, support things beyond the schema itself, roles, permissions, etcetera. Maybe we could comment here. I mean, I think I think this is a really big priority for us this year, and we wanna give visibility that this is top of mind. What I would say is at the moment, if you're struggling with this, look to the third party extensions.\u003C\u002Fp>\u003Cp>Some of the the third party extensions here, you know, the the director sync, underneath Traktor. Really good, fully modular, decomposes the schema into discrete files. You know, highly recommend that, if you need kind of selective syncing capabilities in absence of anything native. The migration bundle is actually a Directus Labs one. This is very UI driven, allows you to select resource types, push them to different environments.\u003C\u002Fp>\u003Cp>And then the Directus schema sync as well is another one that I'm aware of that that allows for sort of event driven auto export as well. So there are some great solutions out there. Right? But I think that one of the concerns is is some of these are, you know, they're they're not native solutions, and so we're really looking to bring kind of a first party experience here as well. Don't know if you you wanna add anything on this one, Reich.\u003C\u002Fp>\u003Cp>Speaker 0: Well, I think the fascinating thing here the question is is I'm sure on top of everybody's mind is, what took you so long? Like, why has this thing been open for such a long time? It's been the number one or two. At least top three upvote of feature requests for, you know, as long as this project has been live. And I think it's interesting to dive into that context a little bit because there's there's two feature requests that come to mind that have been open and upvoted a lot.\u003C\u002Fp>\u003Cp>The second one, we'll circle back to, you know, I I would say put in the comments if you can guess which it is. But config as code, it's one of the ones where there's just such a tremendous wide range of opinions and hopes and dreams. Right? Even different use cases as well. Some people wanna use it as a sort of way to move from a dev environment to a prod environment, which is very valid.\u003C\u002Fp>\u003Cp>Some people wanna use it more as a sort of backup and restore approach that you can go back in time to a previous state of your project. Some people have been telling us they wanna use it as a sort of template for new projects. Like, if you run an agency, you just wanna, you know, spin up multiple copies of the same underlying template. And all of those different use cases, they all kind of require the same solution with a twist. So they're all slightly different, and they all have their own requirements and and differences, which is why this has been in in research phase for a long, long time while we just capture and ingest all of that information.\u003C\u002Fp>\u003Cp>So over the now years, we've been talking to a lot of different people about what this means, and what those different use cases are and and outline how it all comes together. And we have a pretty good plan now into how this, this could actually look like for real as a native feature. So that is super exciting and something, you know, I look forward to having.\u003C\u002Fp>\u003Cp>Speaker 1: Cool. Have we covered the completed? Do we want to look at other things on here that are either in progress or coming up?\u003C\u002Fp>\u003Cp>Speaker 0: I mean, when it comes to the completed list, there's there's a lot more to look at here on the road map itself. In the interest of time, you know, I don't wanna spend the rest of the whole day or even this week just going through them item by item. If you do have questions about any of these other stuff, by the way, a, you know, where to find this now on the road map itself, but, also, we have the community, of course. Right? So we have community.directus.io.\u003C\u002Fp>\u003Cp>If you have questions about anything you hear today, anything here on the road map, feel free to to put a post up there as well. We we actively monitor that. I'm more than happy to chat with you, about any anything and everything, frankly. So find us there. I think, you know, a couple of small things that are probably worth calling out on the to do list is the MIME type restrictions on file interfaces, relatively tiny thing, but it's something, you know, people have been asking for, for quite some time.\u003C\u002Fp>\u003Cp>So we're very glad that we've been able to to to put that in. We did a we did a revision to revisions, an update to how, you know, the comparison looks like if you if you look, to compare the current state of your item with a a previous state. So we we changed that from from the little sidebar you might have seen, with the red green changes into more of a side by side view that is a lot more in-depth and allows you to explore, you know, the things that changed. Other than that, we did also finally add bulk file and folder downloading. So in the file library, you could select multiple things at once.\u003C\u002Fp>\u003Cp>Just download them all as a as a folder instead of having to go one by one. It's the little things. It's the little things that are huge quality of life unlocks here for the platform. You know? So oftentimes, things like that, they're a little bit too small to mention anything like this, but it's definitely worth shouting out, I think.\u003C\u002Fp>\u003Cp>Speaker 1: For sure. The the other one that comes to mind is the, external third party JWT support. I think this is something we saw a lot of feedback around how to manage that, how to validate a third party JWT translated into direct us accountability object. And I think we exposed some u utils there to to make that much easier, and there's a there's a really great reference guide. So if you are looking to, you know, integrate sort of for machine to machine purposes with Okta and things like that, then, you know, there's a there's a great reference tutorial, which hopefully is, like, flashing up on screen or something right now, that that I'd recommend people check out as well.\u003C\u002Fp>\u003Cp>Speaker 0: And it's another one of those things. Right? It's like, from the outside looking in, it's it's just hard to really know what that means and what that unlocks. But that external JWT validation means that you can have your users log in using something like Okta or Auth0 and then use that same token you already have from that external service as the token indirect is, which is, you know, not everybody might need that, but when you do, you really do, and there's really no other workaround. So, again, I'm very glad that our extension service combined with some of these utilities that we provided are now allowing you to to unlock that that otherwise blocker.\u003C\u002Fp>\u003Cp>Speaker 1: Good stuff. I think beyond that, looking at kind of, you know, what's in progress now, I think we've we've touched upon a lot of these already. Like we said, the the global draft was the kind of foundation towards this draft and publishing workflow, having that really intuitive experience, and incorporating things within that, like auto save when you're editing a form, which kind of relates to this one. Right? You know, you wanna save and stay.\u003C\u002Fp>\u003Cp>Well, if you have auto save, well, that kind of becomes somewhat redundant. So looking to solve some of these problems that exist in the to do with, you know, some of the solutions that are also in progress right now.\u003C\u002Fp>\u003Cp>Speaker 0: Absolutely. I I teased it a little bit before when I said top three, most upvoted things. Save and stay button, definitely one of the three, but we we have to touch on the elephant in the room, which is renaming collections and fields. You want it. We want it.\u003C\u002Fp>\u003Cp>We all want it. Everybody has wanted it from from a long time. This is one where it's not so much the yeah. There it is. Triple digit.\u003C\u002Fp>\u003Cp>There it is. The big one, the the light will of this team. The the, where where the config is code or even the save and state default state is one of the ones that takes a lot of research because there's so many different opinions and so many different ways of approaching it. Renaming collections of fields feels like a very dumb one in comparison. Right?\u003C\u002Fp>\u003Cp>It's like you have it or you don't. There's really not a lot to figure out for that. So you might be wondering, like, what the hell takes you so long to to do that for the same reason. And this is quite frankly, you know, system design thing from from back in the day. So we have, when we make that change in the database well, of course, it's a very destructive change in the database that is connected, so there's a third party tooling problem potentially.\u003C\u002Fp>\u003Cp>But, But, also, there's a lot of internal references that need to be updated, some of which, can be a bit under the hood, for things like layout options and and other references that are otherwise hidden. So we've we've seen, quite a few different experiments on this topic, recently in in extensions, which, again, thank you for that. It's it's great inspiration. Make sure to check those out. But we also recently started experimenting internally with, like, okay.\u003C\u002Fp>\u003Cp>How could this come together in a way that doesn't immediately break everything? Right? So how can we work on API aliasing, for example, to unlock some of the the requirements for this without breaking the connected database and its connected services that we might not know about. Alternatives as well, of course. Like, what what are the options that we do all of those updates in the system tables as one giant transaction in case, you know, something goes wrong and you have to undo it?\u003C\u002Fp>\u003Cp>All of that is to say is do know that there's not a day that I wake up and not think about renaming collections of fields. You you you find me in person at conferences and it's the first thing you bring up and and do know that I've I've heard you loud and clear. And it's something that's very, very top of mind.\u003C\u002Fp>\u003Cp>Speaker 1: Good stuff. So we expect to hear more about this one, you think, this year?\u003C\u002Fp>\u003Cp>Speaker 0: For sure. I mean, you're gonna hear me bring it up every single time, if if anything. So you're gonna hear about it. You're gonna hear about it. Now we're we have some some very active experiments in flight now to see how we can bring this to life in a way that doesn't completely break everything or is a huge breaking change to migrate into and all that that kind of stuff.\u003C\u002Fp>\u003Cp>Because, of course, you know, it's it's it's one thing to say we now allow you to rename everything, but the migration into the new version takes, you know, a week to do by hand. That's not good enough for us either. So bear with, you know, there's quite a lot of technical work to be figured out here, but do know that we're we're actively talking about it.\u003C\u002Fp>\u003Cp>Speaker 1: It's front of mind.\u003C\u002Fp>\u003Cp>Speaker 0: Front of mind.\u003C\u002Fp>\u003Cp>Speaker 1: Good stuff. Beyond or behind all of this. Right? We've spoken a lot about a lot of stuff today, but maybe to think, beyond just what's visible on the road map here. Few rumors on forums, few things being hinted at over the last year.\u003C\u002Fp>\u003Cp>People are naturally gonna be curious about what that means. If you know, you know. If you've seen things in the forums, you might know what we're speaking about. But can you tell us anything about that, right, is there anything we can let people know about?\u003C\u002Fp>\u003Cp>Speaker 0: Well, I can say we have been teasing and and sometimes leaking, you know, who you are. Some of these some of the information behind this. But, yes, the the rumors there are true. We have been hard at work behind the scenes on something brand new as well. So this is gonna be a separate thing from Directus altogether with more of a back end as a service focus than we've had in the past.\u003C\u002Fp>\u003Cp>It's his own image, inspired by Directus and using the learnings that we have, but aimed at a way sort of larger scale, multi data source, deployment paradigm. I don't wanna overshare too much yet before people get mad at me, but we are putting out a a sign up link if you wanna learn more. So we're gonna do some early sign ups for alpha release for a sort of private testing phase. We're very excited about this, and I wish I could just share, you know, a lot more than that. But be assured, we're gonna be sharing a lot more in the next league week, about this project.\u003C\u002Fp>\u003Cp>Speaker 1: Very nice. Very nice. I think that's a small small teaser for now. And like I said, there should be a resource for people to go and, sign up and and and and get onto some kind of wait list for something. Look forward to hearing more about that.\u003C\u002Fp>\u003Cp>Alright.\u003C\u002Fp>\u003Cp>Speaker 0: With that all being said, I I know we mentioned it a couple of times today, but if you have any other feature requests or ideas about what this road map should look like or what you find important or don't, that's also very valuable information. Know where to find us at roadmap.tractors.io. That gets you straight in touch with James and yours truly. For everything else, any questions, any concerns, any other teasers, find your way to community.directus.io. We have a wonderful discourse server over there, that we actively moderate and manage, and that is incredibly active within the community.\u003C\u002Fp>\u003Cp>So I highly recommend find your way to those two resources, and we'll see you on the Internet.\u003C\u002Fp>","Alright. And with that, we've made it to the last session of the Leap Week. I really hope you enjoyed all the great announcements so far. But before we wrap up today, we wanted to take a beat and talk a little bit about what we've shipped recently and what is next for the Directus platform as a whole. I'm Greg Consonzo, the CTO and cofounder here at Directus, and with me is James. Thank you very much. Yeah. I'm James. Working at Directus as a staff product manager. Thank you for the intro, Rick. So first and foremost, some of you might have seen that on GitHub discussions, we put a big banner, and we we posted a couple of comments about our new road map. So we moved platforms over to roadmap.direct.io. You might have seen it. Why why did we make this change, James? If we look at the old mechanism for feature requests, we used to manage this through GitHub discussions. Honestly, it became a a place for things to kind of go away and die, unfortunately, through no, you know, no means on our part or no deliberate means, but, it wasn't so integrated with, you know, linear and the development workflows of the teams. So it's kinda had this, you know, disjointed journey between the feature requests and then how they get actioned and then making that visible to the community as well. So we've started to use a new a new product. And like Wrike said, you'll have seen on some of the discussion threads, that, you know, we've moved over now. So some of the threads have been locked. Some of them we've kept open because we wanna keep the discussion going. Right? And we don't want that to stop on some of that particularly some of the ones that have been upvoted heavily. But what you will find is that, you know, these have been ported over to our our new road map, which you can find at roadmap.directus.io\u002Froadmap. You can go in here, search for existing discussions, and we've maintained that link back to the GitHub thread as well, because there's lots of useful information there. So, yeah, that's that's kinda how things look. I don't know if you've got anything to add, Ryke. Yeah. I'll say it's it's one of those interesting points where it feels very obvious to keep it all centralized on the repo. I mean, GitHub already has discussions. They already have upvotes. They already have, like, a, submitted by status. They already have the whole it's it's, approved or denied or completed and all that kind of stuff. So it it might be a little weird to just see that move over. But at the end of the day, we kinda just outgrew the tooling that was available. Right? So even right now, when we noticed, oh, we wanna move over, there's no way for us to to prevent new ones from being open on GitHub without shutting down all of the old ones, which is very unfortunate because then people can't find them. So at the end of the day, you know, this is a great, great upgrade, to at least be able to manage these feature requests and and also help our team ship, the things that are truly important here to the community. With that as well, any request that you put into this product line right now goes straight to our product team. So you're also straight talking to the source and and the folks in charge of that roadmap. You're truly in James in this case, which is a lot nicer line of communication in that regard. So just as before, you know, please do take a look at the road map. If you see something that you agree with or you're aligned with, please hit that upvote button. If you have a different request that nobody else has requested yet on this particular list, hit the new request button, and it will fly straight to us. And we'll we'll reach out, for more information. That's right. Give it to me. Plus one. Any updates? Direct line of communication, like you said. And Exactly. Feel free to add an extra layer of detail. If you see something that, you know, you see yourself in in the request, but you wanna add, you know, additional information because that comes directly to me and Mike. Exactly. And with that being said, I think let's take a look at this road map sort of going in in reverse chronological order maybe for this one. Let's take a look at some of the stuff that we've recently completed. So we'll we'll group this roughly by release, instead of chronological order. Well, I guess it's kinda the same if you think about it. But, you know, we we plan these things out on the road map over time. But starting with with 11 dot 16 release, we have the global draft versions, which is a a part of a bigger new project. James, what what is that project all about? Yeah. So I think there's been a a perception that, the content versioning features inside Directus have been kind of a advanced feature. They're a little bit tucked away. They work a little bit like GitHub branches, funny enough today. But for, you know, content editors, that need to version content, that workflow for how you work with the draft, how that gets promoted or published into the, you know, the the the live item has been not super intuitive. So we started on this track to make that a lot more native. And the latest update brings, you know, a global draft version to any item that has content versioning enabled. So the moment you switch that on, you're gonna have a draft version inside that that item. That was something you'd have to create yourself before. And then with that, we've brought that into the visual editor as well. So if you're looking at the visual editor and you want to preview draft content, you can now do that, via the visual editor. So it's part of a foundational part to making all of these content editing workflows much more intuitive for you for your business folk who are managing content. And we'll see, you know, extensions of that over the next couple of releases, for sure, particularly in the v 12 release, to make that feel much more native, that whole publishing workflow of content. So practically, that means that today, the moment you like you said, the moment you like the moment you open an item, it's straight into draft. So then it's it's way more of that sort of one, two step. You make your changes through draft. You hit publish by the time you're ready. You don't have to manually switch, back and forth ahead of time for that to work. Now that allows us to start working towards way more powerful capabilities in the future as well, of course. So we're thinking about things like dedicated permissions for versioning or potentially approval workflows even or releases of multiple of these content items together. So this this first draft change is is one in a step of many, many changes all related to what we're calling the CEW project or the content editorial workflow project, internally. Awesome. That's right. Then another thing we shipped recently that fits really well in this sort of one two punch of you make a bunch of changes and you ship it out. Can you guess what it is? It's the deployments module. So we just shipped a new module directly in the studio integrated with Vercel, quickly followed up by Netlify by a community member. Thank you for that. Thank you. What what is that deployments module all about? Yeah. So it's it's something we we've even struggled with internally, our internal marketing teams that use Directus. You know, the sites are deployed on on Vercel or Netlify or, you know, other other hosting providers. And let's say you're managing some content inside Directus, you then have to leave Directus, you know, assuming you have access to that third party solution, to then go and deploy your site to reflect the the changes that you've made in your CMS. Now that's a little bit nuanced, whether you want all of your content editors to have access to that system, which is primarily about deployments, potentially not. But maybe you wanna give them the flexibility to still rebuild the site on demand. So this is really about bringing that functionality natively into director's core so that you can make those changes. And then, you know, you can go in and you can hit, trigger a build in in Vercel or Netlify. And then we'll give you the, you know, the the deployment status, the build logs, give you a link out to see the the the, the the site once it's built. So, yeah, I mean, all all covered by RBAC. So, you know, if you you want to delegate responsibility beyond the admin in terms of who can trigger deployments, that's all kind of covered by the existing, role based access control settings inside Directus. That's what it's all about. I mean, I think we'd love to extend this beyond Vercel and Netlify as well. So you probably got some ideas. Gonna say, like, with with most everything we've built in Direct is we've tried to do this in as most of an abstract that way as we could, which is why we saw Netlify flying relatively quickly. Now this is this is too good of a a segue not to use it. If people wanna request which one we should add as a third, where where did they do that? Well, I I guess you could come come on to here. Right? And you could still add the feedback here, just so it's, you know, tightly related to this project. But this is a completed project, so maybe the best thing to do would be to hit new request. Tell us that you want Cloudflare pages or something like that. And then, that's gonna come right to us. And, obviously, that's gonna be something that we're but we're already thinking about it. Right? For sure. For sure. Yeah. Alright. Onto a very different topic then. And this is a feature request that I opened back on GitHub maybe four years ago, if not five at this point. The ability to potentially filter within JSON fields. It is one that we've sort of toyed with. We've tried it out. We've done a PR in the past that didn't quite land, but there's updates on that front. James, what's the latest? There is. And they're currently showing is in progress, but, you know, part of this was actually released in in, like you said, the 11\u002F2016. But, yeah, this is really about bringing support to interact with, you know, JSON data in your database, at the API. So the first piece that we delivered in 11\u002F2016 allows you to select fields within a JSON blob very simply. So you don't have to bring the whole thing, you know, client side and deal with it yourself. That is nice, but it's clearly not the end goal. The end goal is to to bring full support, in the API for filtering, sorting, aliasing, across all of the different database vendors, of course, and then extend it, you know, to to the SDK as well. Make sure it's not just supported in the rest API. So we'll see a big big chunk of that, particularly the filtering drop in the next release. And I think that, you know, in subsequent releases, there might be additional things just to to get us to that final state. But, yeah, like you said, I think the original GitHub discussion maybe we can have a look. Got a feeling this was yeah. A little while ago. But lots of community support for this, so really happy to be able to to work on this. Shout out to Tim internally who's been working on this. It was actually a bit of a hackathon project that ended up getting rolled out, into the core. So It it was something we've all been wanting to have for a long time, so I'm glad we're getting to it now. Awesome. Yeah. Super exciting. What about something that's probably quite close to your involvement, which is we've had a bit of an AI related work stream over the last few months. Things have developed not just not just in the market, but also for directors. So maybe you wanna give us a few, a few thoughts on how how things develop. I might use this as a little bit of a a sneaky personal pitch, but if you happen to have caught my my recent keynotes at the at Vue JS Amsterdam conference or coming up at Vue JS Atlanta, one thing that we have been heavily focused on is to see how can we use the AI technology stacks, so LLMs and generative images and things like that, within the product in a way that actually makes sense for our users. Right? So the thing I'm personally always scared of is shipping a bunch of gimmicks that nobody then cares about, which, you know, hot takes, but it happens all over the place. So how do we use that technology then in a way that actually makes sense? So the first thing we did is implement that MCP endpoint that shipped, I wanna say, in 11\u002F13 or even '12. It's a little while back now. It's been out for a minute. We did it as a standalone package first to test the waters. That went really incredibly well. Then we moved it into core as a native feature that is just there by default. So that allows LLMs outside of the product to use the content and data within and but also take other system actions, like doing the data modeling or even setting up permissions. Although, make sure you confirm what it's doing. The second big step for us there was to move that experience into the product itself. So right now, we have that AI chat sidebar, natively in the product. So it's always available in the bottom right, and it knows the context of the page. Where are you? What tools are available? What can it, you know, what can it do both on the client and server side? So on the server side, we've implemented the same MCP tools that you had before from external LLMs. So that is things like changing the data model, reading or writing items, retrieving files, and some other system operations like that. The second big thing we started developing is sort of the client side tooling integration of that. And what that means is that the LLM chat sidebar can take actions in the studio on your behalf. So not just on the API, but in the studio as well. We're continuing to explore what that looks like. So right now, we're focusing heavily on exactly the e d assets and translations workflow. So that is really focusing on, you know, helping you do the content creation in various languages that you might not be native in on the fly, in line in the studio rather than doing it, you know, hidden away in the background. So a lot of very exciting stuff on that front. We're also doing a little bit of r and d in this sort of more agentic workflows in the background and background processes, but, you know, that is a little too early to to share too much of that. Nice. And I think since we released some of these capabilities, particularly the the embedded AI assistant, lot of feedback we got was around extending support. Right? I think we went live with Anthropic and OpenAI, but maybe you can add a bit on how we've looked at support beyond that and and what people are still asking for. For sure. Yeah. I mean, as as anybody who's been anybody who who stumbled into Twitter in in the recent week or so, I mean, you see these models, they they evolve so, so, so rapidly that it is near impossible to just pick one vendor and and be happy with it for, you know, years to come. So as with most everything else at Directus, like we just saw with, the other features we talked about as well around deployment, we wanna make sure we built this in a an agnostic a way as we possibly can. So we'd indeed shipped it with an abstraction with just on top of OpenAI and anthropic to start with. But then immediately, people started mentioning. It's like, oh, but what about Gemini? Or what about Grok? God forbid. Or what about an OpenAI endpoint that I self host, which is very interesting. So we started shipping, some of the big other vendors that you'd expect. So I think we we, well, not I think I know we added support for for Gemini pretty quickly after, but are now also really focusing in on, like, okay. What are the nuances of, like, an open AI that runs on Azure that you have full control over, or what happens if you run a Mistral AI model that you have self hosted? To really tie back into that data sovereignty play. Right? Because at the end of the day, the technology stack is really cool and exciting, but you might not be comfortable with sending, you know, that private data from your database over to some external company that you may or may not trust. So this is a really interesting next angle here for the way we treat AI within Directus that I think fits in really well in our sort of overall self hosted, data sovereignty play. Very nice. Very nice. So, yeah, you can you can add add an open AI API compatible, that's a hell of a mouthful, provider inside the director settings today if you wanna use the the AI assistant, with an alternative provider. Let's come back to the completed section. I know we're going jumping all over the place as we go, but I think that's okay. Yeah. I mean, this was an interesting one internally for the team, at least. I think collaborative editing was a was a capability that was that was developed suddenly before I joined Directus, but originally built as a extension. Is that right? That's right. And that was really to make sure that we, just as with the MCP endpoint, had a way to experiment with what that needed to look and feel like. So as you might imagine, with something as broadly used as direct as in terms of use cases, with that comes a lot of different hopes and dreams about how that collaborative nature of the thing works. Is everybody working on the same draft state that we just talked about for the CEW project, or are you working all locally, and does it sync up only when you hit save? And how does that then do do merge resolutions and and complicated things like that? So we shipped it as a plug in first to test the waters. That went really well. We learned a lot from that. Then by the time we were like, okay. This feels now like we know what this needs to look like in the product for real, we were able to move it back into core. And luckily, because, you know, extensions are built as very modular pieces, that are built in the same way that we built the core product, it was actually relatively straightforward to to move that in here as well. Nice. I think that one was added in in 11\u002F2015 maybe. But, yeah, that's now basically a core a core capability. So if you want to enable collaborative editing, you could do that in the project settings. Once you enable that, you're gonna see, you know, multiple avatars if you're collaborating over the same same item inside the studio. And you get things like field locking behavior as well. So if somebody's working in a field, obviously, you can't edit it while they're editing it. So, yeah, really nice, feature for for content folks, who want to collaborate together. So highly recommend switching it on and, of course, giving us feedback, if you experience anything that you think could be improved or anything like that. If you know where to find us now. Also, with that quick shout out, you know, we we often do use extensions as the the vessel to do experimental work. So if you're you're curious to see what is, you know, the newest of the new, do take a look at the extensions that are out there, both from us and and the community. We post a lot of experimental work on the Directus Labs GitHub organization that I think is worth, a quick look. Awesome. Maybe that's a good segue into something which we're gonna have to comment on because it's it's sitting right at the top. Certainly, the thing that caught my attention since I joined Directus, right, which is this one. And the reason I say that is because you you mentioned extensions, and you mentioned, you know, at the moment, this is something where I think people who are looking for a solution to configure as code or or gen more generally speaking, environment synchronization, they are having to look to third party extensions, and there are some good ones out there. I think that's For sure. That's something we can say for sure. So a bit of context on this one today. I think schema snapshot is all all or nothing. Right? You can synchronize, one environment to another, but it's all or nothing. And I think that that's not really providing the granular control that people need. I think they need to be able to do it resource specific, be able to exclude, include certain collections, and, of course, support things beyond the schema itself, roles, permissions, etcetera. Maybe we could comment here. I mean, I think I think this is a really big priority for us this year, and we wanna give visibility that this is top of mind. What I would say is at the moment, if you're struggling with this, look to the third party extensions. Some of the the third party extensions here, you know, the the director sync, underneath Traktor. Really good, fully modular, decomposes the schema into discrete files. You know, highly recommend that, if you need kind of selective syncing capabilities in absence of anything native. The migration bundle is actually a Directus Labs one. This is very UI driven, allows you to select resource types, push them to different environments. And then the Directus schema sync as well is another one that I'm aware of that that allows for sort of event driven auto export as well. So there are some great solutions out there. Right? But I think that one of the concerns is is some of these are, you know, they're they're not native solutions, and so we're really looking to bring kind of a first party experience here as well. Don't know if you you wanna add anything on this one, Reich. Well, I think the fascinating thing here the question is is I'm sure on top of everybody's mind is, what took you so long? Like, why has this thing been open for such a long time? It's been the number one or two. At least top three upvote of feature requests for, you know, as long as this project has been live. And I think it's interesting to dive into that context a little bit because there's there's two feature requests that come to mind that have been open and upvoted a lot. The second one, we'll circle back to, you know, I I would say put in the comments if you can guess which it is. But config as code, it's one of the ones where there's just such a tremendous wide range of opinions and hopes and dreams. Right? Even different use cases as well. Some people wanna use it as a sort of way to move from a dev environment to a prod environment, which is very valid. Some people wanna use it more as a sort of backup and restore approach that you can go back in time to a previous state of your project. Some people have been telling us they wanna use it as a sort of template for new projects. Like, if you run an agency, you just wanna, you know, spin up multiple copies of the same underlying template. And all of those different use cases, they all kind of require the same solution with a twist. So they're all slightly different, and they all have their own requirements and and differences, which is why this has been in in research phase for a long, long time while we just capture and ingest all of that information. So over the now years, we've been talking to a lot of different people about what this means, and what those different use cases are and and outline how it all comes together. And we have a pretty good plan now into how this, this could actually look like for real as a native feature. So that is super exciting and something, you know, I look forward to having. Cool. Have we covered the completed? Do we want to look at other things on here that are either in progress or coming up? I mean, when it comes to the completed list, there's there's a lot more to look at here on the road map itself. In the interest of time, you know, I don't wanna spend the rest of the whole day or even this week just going through them item by item. If you do have questions about any of these other stuff, by the way, a, you know, where to find this now on the road map itself, but, also, we have the community, of course. Right? So we have community.directus.io. If you have questions about anything you hear today, anything here on the road map, feel free to to put a post up there as well. We we actively monitor that. I'm more than happy to chat with you, about any anything and everything, frankly. So find us there. I think, you know, a couple of small things that are probably worth calling out on the to do list is the MIME type restrictions on file interfaces, relatively tiny thing, but it's something, you know, people have been asking for, for quite some time. So we're very glad that we've been able to to to put that in. We did a we did a revision to revisions, an update to how, you know, the comparison looks like if you if you look, to compare the current state of your item with a a previous state. So we we changed that from from the little sidebar you might have seen, with the red green changes into more of a side by side view that is a lot more in-depth and allows you to explore, you know, the things that changed. Other than that, we did also finally add bulk file and folder downloading. So in the file library, you could select multiple things at once. Just download them all as a as a folder instead of having to go one by one. It's the little things. It's the little things that are huge quality of life unlocks here for the platform. You know? So oftentimes, things like that, they're a little bit too small to mention anything like this, but it's definitely worth shouting out, I think. For sure. The the other one that comes to mind is the, external third party JWT support. I think this is something we saw a lot of feedback around how to manage that, how to validate a third party JWT translated into direct us accountability object. And I think we exposed some u utils there to to make that much easier, and there's a there's a really great reference guide. So if you are looking to, you know, integrate sort of for machine to machine purposes with Okta and things like that, then, you know, there's a there's a great reference tutorial, which hopefully is, like, flashing up on screen or something right now, that that I'd recommend people check out as well. And it's another one of those things. Right? It's like, from the outside looking in, it's it's just hard to really know what that means and what that unlocks. But that external JWT validation means that you can have your users log in using something like Okta or Auth0 and then use that same token you already have from that external service as the token indirect is, which is, you know, not everybody might need that, but when you do, you really do, and there's really no other workaround. So, again, I'm very glad that our extension service combined with some of these utilities that we provided are now allowing you to to unlock that that otherwise blocker. Good stuff. I think beyond that, looking at kind of, you know, what's in progress now, I think we've we've touched upon a lot of these already. Like we said, the the global draft was the kind of foundation towards this draft and publishing workflow, having that really intuitive experience, and incorporating things within that, like auto save when you're editing a form, which kind of relates to this one. Right? You know, you wanna save and stay. Well, if you have auto save, well, that kind of becomes somewhat redundant. So looking to solve some of these problems that exist in the to do with, you know, some of the solutions that are also in progress right now. Absolutely. I I teased it a little bit before when I said top three, most upvoted things. Save and stay button, definitely one of the three, but we we have to touch on the elephant in the room, which is renaming collections and fields. You want it. We want it. We all want it. Everybody has wanted it from from a long time. This is one where it's not so much the yeah. There it is. Triple digit. There it is. The big one, the the light will of this team. The the, where where the config is code or even the save and state default state is one of the ones that takes a lot of research because there's so many different opinions and so many different ways of approaching it. Renaming collections of fields feels like a very dumb one in comparison. Right? It's like you have it or you don't. There's really not a lot to figure out for that. So you might be wondering, like, what the hell takes you so long to to do that for the same reason. And this is quite frankly, you know, system design thing from from back in the day. So we have, when we make that change in the database well, of course, it's a very destructive change in the database that is connected, so there's a third party tooling problem potentially. But, But, also, there's a lot of internal references that need to be updated, some of which, can be a bit under the hood, for things like layout options and and other references that are otherwise hidden. So we've we've seen, quite a few different experiments on this topic, recently in in extensions, which, again, thank you for that. It's it's great inspiration. Make sure to check those out. But we also recently started experimenting internally with, like, okay. How could this come together in a way that doesn't immediately break everything? Right? So how can we work on API aliasing, for example, to unlock some of the the requirements for this without breaking the connected database and its connected services that we might not know about. Alternatives as well, of course. Like, what what are the options that we do all of those updates in the system tables as one giant transaction in case, you know, something goes wrong and you have to undo it? All of that is to say is do know that there's not a day that I wake up and not think about renaming collections of fields. You you you find me in person at conferences and it's the first thing you bring up and and do know that I've I've heard you loud and clear. And it's something that's very, very top of mind. Good stuff. So we expect to hear more about this one, you think, this year? For sure. I mean, you're gonna hear me bring it up every single time, if if anything. So you're gonna hear about it. You're gonna hear about it. Now we're we have some some very active experiments in flight now to see how we can bring this to life in a way that doesn't completely break everything or is a huge breaking change to migrate into and all that that kind of stuff. Because, of course, you know, it's it's it's one thing to say we now allow you to rename everything, but the migration into the new version takes, you know, a week to do by hand. That's not good enough for us either. So bear with, you know, there's quite a lot of technical work to be figured out here, but do know that we're we're actively talking about it. It's front of mind. Front of mind. Good stuff. Beyond or behind all of this. Right? We've spoken a lot about a lot of stuff today, but maybe to think, beyond just what's visible on the road map here. Few rumors on forums, few things being hinted at over the last year. People are naturally gonna be curious about what that means. If you know, you know. If you've seen things in the forums, you might know what we're speaking about. But can you tell us anything about that, right, is there anything we can let people know about? Well, I can say we have been teasing and and sometimes leaking, you know, who you are. Some of these some of the information behind this. But, yes, the the rumors there are true. We have been hard at work behind the scenes on something brand new as well. So this is gonna be a separate thing from Directus altogether with more of a back end as a service focus than we've had in the past. It's his own image, inspired by Directus and using the learnings that we have, but aimed at a way sort of larger scale, multi data source, deployment paradigm. I don't wanna overshare too much yet before people get mad at me, but we are putting out a a sign up link if you wanna learn more. So we're gonna do some early sign ups for alpha release for a sort of private testing phase. We're very excited about this, and I wish I could just share, you know, a lot more than that. But be assured, we're gonna be sharing a lot more in the next league week, about this project. Very nice. Very nice. I think that's a small small teaser for now. And like I said, there should be a resource for people to go and, sign up and and and and get onto some kind of wait list for something. Look forward to hearing more about that. Alright. With that all being said, I I know we mentioned it a couple of times today, but if you have any other feature requests or ideas about what this road map should look like or what you find important or don't, that's also very valuable information. Know where to find us at roadmap.tractors.io. That gets you straight in touch with James and yours truly. For everything else, any questions, any concerns, any other teasers, find your way to community.directus.io. We have a wonderful discourse server over there, that we actively moderate and manage, and that is incredibly active within the community. So I highly recommend find your way to those two resources, and we'll see you on the Internet.","0a212673-7f3c-4be5-8bb2-cf71df4a9aea",[570,571],"ab4d84a8-5507-4a27-a392-52c6af41a007","b02696e6-fb11-47cf-bcc4-b7378353b257",[],{"id":16,"number":17,"show":4,"year":18,"episodes":574},[20,21,22,23,24,25,26,27],1781213188992]