A new program for the community helping to push Directus forward.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Bye.