[{"data":1,"prerenderedAt":442},["ShallowReactive",2],{"footer-primary":3,"footer-secondary":93,"footer-description":119,"mcp-showcase-10-mins-menu-app":121,"mcp-showcase-10-mins-menu-app-next":177,"sales-reps":190},{"items":4},[5,29,49,69],{"id":6,"title":7,"url":8,"page":8,"children":9},"522e608a-77b0-4333-820d-d4f44be2ade1","Solutions",null,[10,15,20,25],{"id":11,"title":12,"url":8,"page":13},"fcafe85a-a798-4710-9e7a-776fe413aae5","Headless CMS",{"permalink":14},"/solutions/headless-cms",{"id":16,"title":17,"url":8,"page":18},"79972923-93cf-4777-9e32-5c9b0315fc10","Backend-as-a-Service",{"permalink":19},"/solutions/backend-as-a-service",{"id":21,"title":22,"url":8,"page":23},"0fa8d0c1-7b64-4f6f-939d-d7fdb99fc407","Product Information",{"permalink":24},"/solutions/product-information-management",{"id":26,"title":27,"url":28,"page":8},"63946d54-6052-4780-8ff4-91f5a9931dcc","100+ Things to Build","https://directus.io/blog/100-tools-apps-and-platforms-you-can-build-with-directus",{"id":30,"title":31,"url":8,"page":8,"children":32},"8ab4f9b1-f3e2-44d6-919b-011d91fe072f","Resources",[33,37,41,45],{"id":34,"title":35,"url":36,"page":8},"f951fb84-8777-4b84-9e91-996fe9d25483","Documentation","https://docs.directus.io",{"id":38,"title":39,"url":40,"page":8},"366febc7-a538-4c08-a326-e6204957f1e3","Guides","https://docs.directus.io/guides/",{"id":42,"title":43,"url":44,"page":8},"aeb9128e-1c5f-417f-863c-2449416433cd","Community","https://directus.chat",{"id":46,"title":47,"url":48,"page":8},"da1c2ed8-0a77-49b0-a903-49c56cb07de5","Release Notes","https://github.com/directus/directus/releases",{"id":50,"title":51,"url":8,"page":8,"children":52},"d61fae8c-7502-494a-822f-19ecff3d0256","Support",[53,57,61,65],{"id":54,"title":55,"url":56,"page":8},"8c43c781-7ebd-475f-a931-747e293c0a88","Issue Tracker","https://github.com/directus/directus/issues",{"id":58,"title":59,"url":60,"page":8},"d77bb78e-cf7b-4e01-932a-514414ba49d3","Feature Requests","https://github.com/directus/directus/discussions?discussions_q=is:open+sort:top",{"id":62,"title":63,"url":64,"page":8},"4346be2b-2c53-476e-b53b-becacec626a6","Community Chat","https://discord.com/channels/725371605378924594/741317677397704757",{"id":66,"title":67,"url":68,"page":8},"26c115d2-49f7-4edc-935e-d37d427fb89d","Cloud Dashboard","https://directus.cloud",{"id":70,"title":71,"url":8,"page":8,"children":72},"49141403-4f20-44ac-8453-25ace1265812","Organization",[73,78,84,88],{"id":74,"title":75,"url":76,"page":77},"1f36ea92-8a5e-47c8-914c-9822a8b9538a","About","/about",{"permalink":76},{"id":79,"title":80,"url":81,"page":82},"b84bf525-5471-4b14-a93c-225f6c386005","Careers","#",{"permalink":83},"/careers",{"id":85,"title":86,"url":87,"page":8},"86aabc3a-433d-434b-9efa-ad1d34be0a34","Brand Assets","https://drive.google.com/drive/folders/1lBOTba4RaA5ikqOn8Ewo4RYzD0XcymG9?usp=sharing",{"id":89,"title":90,"url":8,"page":91},"8d2fa1e3-198e-4405-81e1-2ceb858bc237","Contact",{"permalink":92},"/contact",{"items":94},[95,101,107,113],{"id":96,"title":97,"url":8,"page":98,"children":100},"8a1b7bfa-429d-4ffc-a650-2a5fdcf356da","Cloud Policies",{"permalink":99},"/cloud-policies",[],{"id":102,"title":103,"url":81,"page":104,"children":106},"bea848ef-828f-4306-8017-6b00ec5d4a0c","License",{"permalink":105},"/bsl",[],{"id":108,"title":109,"url":81,"page":110,"children":112},"4e914f47-4bee-42b7-b445-3119ee4196ef","Terms",{"permalink":111},"/terms",[],{"id":114,"title":115,"url":81,"page":116,"children":118},"ea69eda6-d317-4981-8421-fcabb1826bfd","Privacy",{"permalink":117},"/privacy",[],{"description":120},"\u003Cp>A composable backend to build your Headless CMS, BaaS, and more.&nbsp;\u003C/p>",{"id":122,"slug":123,"vimeo_id":124,"description":125,"tile":126,"length":127,"resources":8,"people":8,"episode_number":128,"published":129,"title":130,"video_transcript_html":131,"video_transcript_text":132,"content":8,"status":133,"episode_people":134,"recommendations":159,"season":160,"seo":176},"437dea6b-a229-449c-9437-3f6620c2898d","10-mins-menu-app","1138952700","Bryant and Rijk try to build the project of Rijk's dreams using the MCP, in 10 minutes or less!","9019e6ad-9dd3-42ab-9840-b39bf58fc5b7",16,6,"2025-11-20","Building in 10 Minutes or Less: Menu App","\u003Cp>Speaker 0: Alright. Welcome back to an extra special episode of one app in ten minutes. I'm your host, Brian Gillespie, for Directus. Today, I honestly like, I I hope I'm not gonna get fired here, but, we are going to be building a mystery app with our CTO here at Directus, Reich Van Zanten. And I call this mystery app, and I say, hey.\u003C/p>\u003Cp>I hope I don't get fired in that, I've invited Reich to a call, but he has no idea he's gonna be on the show. And I call it mystery app because I have no idea what idea he's gonna throw out there or if it's even possible. Previously, the show was called 100 apps, hundred hours for this season or this spin off here. It is one app in ten minutes. The rules are we have ten minutes to plan and build an app.\u003C/p>\u003Cp>No more, no less. In this case, we're gonna be using what we do have at our disposal, which is Directus, claw.ai, and, Directus MCP connected. Welcome to one app ten minutes, Rick.\u003C/p>\u003Cp>Speaker 1: One app ten minutes.\u003C/p>\u003Cp>Speaker 0: For the audience, we are recording live. Did you have any idea that you're gonna be on this show today?\u003C/p>\u003Cp>Speaker 1: I had no clue. But here we\u003C/p>\u003Cp>Speaker 0: are. Amazing. Amazing. Alright. So I think you're already aware of 100 apps, hundred hours, one app, ten minutes, shortened time frame, leveraging AI.\u003C/p>\u003Cp>I've got mystery app here with Wrike. The world wants to know what what app are we gonna build today?\u003C/p>\u003Cp>Speaker 1: In ten minutes?\u003C/p>\u003Cp>Speaker 0: In ten minutes.\u003C/p>\u003Cp>Speaker 1: Oh, boy. Well, I could spend ten minutes thinking about an app, but that's not what I wanna do.\u003C/p>\u003Cp>Speaker 0: The most incredible cold opened ever, ladies and gentlemen. What a what a do you thought you were coming into, an afternoon meeting? Amazing.\u003C/p>\u003Cp>Speaker 1: Oh, one of many. One of many. Oh, this is I'm woefully ill prepared for this. Okay. We have ten minutes.\u003C/p>\u003Cp>Well, the time hasn't started yet,\u003C/p>\u003Cp>Speaker 0: has it? No. No. No. You got we gotta decide the app, then we got ten minutes to plan and build the thing, which is it is very ambitious in and of itself.\u003C/p>\u003Cp>Speaker 1: Yeah. I will say. Okay. Ten minutes. That makes it so much trickier.\u003C/p>\u003Cp>I was gonna say, I was recently working oh, maybe we can do a part of that. I was gonna say, I was recently working on sort of, like, a quizzing app.\u003C/p>\u003Cp>Speaker 0: A quizzing app. Okay.\u003C/p>\u003Cp>Speaker 1: Nights and weekends for, you know, getting, sending people a link. You could sign in. You can you can do a little quiz, and then we could check out the leaderboard. That is not a ten minute I don't ever at all. I'll tell you that.\u003C/p>\u003Cp>Oh. But maybe it is. Let's see here. Okay.\u003C/p>\u003Cp>Speaker 0: No pressure.\u003C/p>\u003Cp>Speaker 1: None whatsoever.\u003C/p>\u003Cp>Speaker 0: To give you context, we've already done a lot of the former 100 apps, hundred hours. So Expensify clone, Airbnb, Netflix. Like, already done all these things. Multi site CMS. All the all the expected fruit is is already picked off the tree.\u003C/p>\u003Cp>Speaker 1: You're not making it any easier. Wait. If this is a if if we're gonna be using AI to build this stuff, why don't we use AI to come up with what we're building in the first place?\u003C/p>\u003Cp>Speaker 0: Alright. Alright. Alright. I've got\u003C/p>\u003Cp>Speaker 1: I've got ten minutes.\u003C/p>\u003Cp>Speaker 0: Rike Van Zanten, our CTO, on an episode of one app, ten minutes. What should we build? Bum bum bum. I'm Curious to see if it calls the actual direct SMTP here, but I I don't think so. Real time dashboard builder.\u003C/p>\u003Cp>Oh, it it knows you. You're a known quantity. Clearly. Schema visualizer, webhook, ecommerce, headless ecommerce, QR code menu generator, team mood tracker, meeting room optimizer.\u003C/p>\u003Cp>Speaker 1: I think the QR menu one is actually not too bad of an idea. Right?\u003C/p>\u003Cp>Speaker 0: Because this is a restaurant.\u003C/p>\u003Cp>Speaker 1: Thing or you're going in, you're sitting down at the table, you have to scan a little QR code, you pull up a menu on your phone. So very remote. Where does this menu come from? Where does it go? Could be something.\u003C/p>\u003Cp>Speaker 0: Alright. Restaurant menu. QR code is doing everything.\u003C/p>\u003Cp>Speaker 1: Ten minutes where I create a new startup on the fly.\u003C/p>\u003Cp>Speaker 0: Restaurant menu, QR code, generator thingy. There we go. Alright. We're ready? We're starting the clock.\u003C/p>\u003Cp>What do we need out of this thing? Obviously Well,\u003C/p>\u003Cp>Speaker 1: we need menus. We need things on the menu. So we need menu items. We need ideally some sort of, like, allergy information for every menu item. So that is, like, ingredients maybe, or, like, allergy information, or components.\u003C/p>\u003Cp>Like, sometimes on menus, you see, you know, the menu item and then individual parts of what's in it. Right? Yep. So yesterday night, at least four times of what is in the Negroni. Just kidding.\u003C/p>\u003Cp>What else do we need? We need well, we're gonna be generating a QR code for every menu, I guess, because we're rendering out each menu on a separate page. So that makes sense.\u003C/p>\u003Cp>Speaker 0: That QR code?\u003C/p>\u003Cp>Speaker 1: Oh, we need a a sort of category for the menu item. Like, is it an entree, or is it an appetizer, or is it a dessert? And then on the menu itself, we probably need a similar thing for, is it a lunch menu, or a dinner menu, or some special event? You know, this is like a Christmas day, menu or something.\u003C/p>\u003Cp>Speaker 0: So what would that be?\u003C/p>\u003Cp>Speaker 1: I was already thinking Yeah. Type a menu. Yeah. Holiday special.\u003C/p>\u003Cp>Speaker 0: Holiday. Alright. Now, I've already set the audience up for this, but what we've got already is I've got a blank direct to sentence. We've got the Claude AI connected via the direct to MCP, and let's build the menu system. So I'm just gonna dump this in here.\u003C/p>\u003Cp>Again, we're on the clock. So, you know, we're just gonna oh, gosh. Okay. That's\u003C/p>\u003Cp>Speaker 1: Oh, no.\u003C/p>\u003Cp>Speaker 0: That's not even formatted properly. Okay. Allergy category for the menu. Flow for during QR code. Alright.\u003C/p>\u003Cp>This is the magic moment. Can you one shot a brand new startup in seven minutes and fifty five seconds? We'll see.\u003C/p>\u003Cp>Speaker 1: Well, in no context either. I mean, you're just you're giving it nothing. You're truly giving it nothing.\u003C/p>\u003Cp>Speaker 0: Absolutely nothing. Right? So the Directed MCP, we've got a bunch of tools that are preprogrammed into this thing. And you'll see, like, the system prompt here, which is basically just some information about, how the assistant should act. Then we have a tool that allows it to introspect the direct to schema or or not even introspect, just see the direct to schema.\u003C/p>\u003Cp>And here it's already gone to work. So I'm just gonna hit refresh over here on the left. And by the power of AI combined, we now have some stuff. So we can start creating a new menu. This is, Reich's special lunch menu.\u003C/p>\u003Cp>And is this, is this something that we would expect to see? I mean, how would you grade this? So we got the type of lunch. That's pretty solid. Is this active?\u003C/p>\u003Cp>There's the QR code for the menu. Uh-oh. Doesn't like that, does it?\u003C/p>\u003Cp>Speaker 1: Is it still create? Yeah.\u003C/p>\u003Cp>Speaker 0: It is still adding our relationships. So maybe that's where\u003C/p>\u003Cp>Speaker 1: I would I would do it a second until it's done, frankly.\u003C/p>\u003Cp>Speaker 0: Trying to get ahead of ourselves.\u003C/p>\u003Cp>Speaker 1: Because we only have so we only have so many seconds. But\u003C/p>\u003Cp>Speaker 0: There we go. Alright. So one thing that that I really like about this is just seeing, like, the volume of work that I would have to to do myself. Now it like, it's not that much work to spin up a back end with Directus. And the the visual, like, drag and drop the data model part of it is beautiful.\u003C/p>\u003Cp>But when you're watching a machine do all of this work for you, man, that's it's even better.\u003C/p>\u003Cp>Speaker 1: And, man, what can I say? What what is better than doing work is just not doing work.\u003C/p>\u003Cp>Speaker 0: Not doing any work. Alright. So we're gonna call this, like, special lunch menu. Now let's see if this actually works this time around. There we go.\u003C/p>\u003Cp>Alright. So we've got a menu. Looks like it's already added some menu items. How do you feel\u003C/p>\u003Cp>Speaker 1: about be seeing eating jumbo shrimp for lunch or Atlantic salmon for that, man.\u003C/p>\u003Cp>Speaker 0: Alright. We've got our ingredients. Looks like we've got an allergens. Okay. We got a preset there.\u003C/p>\u003Cp>And then we got our categories for appetizers, mains, desserts, beverages. What is this thing doing? Okay. It's\u003C/p>\u003Cp>Speaker 1: looking like I think it's building the front end for it now too.\u003C/p>\u003Cp>Speaker 0: Wow. It's actually building the front end. I didn't even ask that. But let's just let's check on the the flow progress. Right?\u003C/p>\u003Cp>We got five minutes left, which is, actually, I'm I'm surprised we're even here at this point.\u003C/p>\u003Cp>Speaker 1: But I'll say stop the clock because I'm seeing a menu on the screen right now.\u003C/p>\u003Cp>Speaker 0: Right. Is it is it actually calling Directus too? Oh, no. Of course. Yeah.\u003C/p>\u003Cp>Yeah.\u003C/p>\u003Cp>Speaker 1: Yeah. Okay. It's just gonna send that be too good to be true. Yeah.\u003C/p>\u003Cp>Speaker 0: Yeah.\u003C/p>\u003Cp>Speaker 1: Alright. So let's talk easy enough to do, though. This is one SDK call and you're in in business.\u003C/p>\u003Cp>Speaker 0: Yeah. So let's toggle this and see. Generate QR code for the menu. Okay. So we've generated the QR code.\u003C/p>\u003Cp>Looks like it might have missed a few steps. We generated a QR code. Is this even valid? What is the QR server?\u003C/p>\u003Cp>Speaker 1: I don't think I've ever seen this. Is that a thing? QR is a dummy. I think that's just a dummy, isn't it?\u003C/p>\u003Cp>Speaker 0: Yeah. Yeah. QR code, API. Can we get something really quickly? Yeah.\u003C/p>\u003Cp>Let's see here\u003C/p>\u003Cp>Speaker 1: another thing. We can oh, yeah. Maybe.\u003C/p>\u003Cp>Speaker 0: We're just gonna straight up vibe code. Gotta go back. Gotta go back. Gotta go back. Fix the flow to import the generated.\u003C/p>\u003Cp>Speaker 1: Oh, yeah. Stop making typos, Brian. We're on the clock. Come on.\u003C/p>\u003Cp>Speaker 0: The QR code generated QR code. Here's the service. What's the endpoint? What's the endpoint?\u003C/p>\u003Cp>Speaker 1: I can find it. I'm sure I can do it.\u003C/p>\u003Cp>Speaker 0: This is so much more fun with a partner.\u003C/p>\u003Cp>Speaker 1: Brian, let's go. Let's go. Let's go. Let's go. Come on.\u003C/p>\u003Cp>Come on.\u003C/p>\u003Cp>Speaker 0: Files. Come on. Import. Files import.\u003C/p>\u003Cp>Speaker 1: If we do as an import file operation, is that a thing? Is that even exist?\u003C/p>\u003Cp>Speaker 0: We do not have that.\u003C/p>\u003Cp>Speaker 1: We should.\u003C/p>\u003Cp>Speaker 0: Can you\u003C/p>\u003Cp>Speaker 1: build that in ten minutes? Same. We could.\u003C/p>\u003Cp>Speaker 0: Import file URL. Hit point. Oh, it's still building. Okay. It's reconnecting.\u003C/p>\u003Cp>Reconnecting. Alright. So it's doing some some type of work on our behalf here. QR code. Oh, no.\u003C/p>\u003Cp>Dun dun dun. Two minutes still. Alright. What do we what do we got here? Okay.\u003C/p>\u003Cp>Still not generating the QR code. Okay. Well, I think one thing we can agree on here\u003C/p>\u003Cp>Speaker 1: I mean, a QR code, you can easily generate on the client side. There's a bunch of libraries for that kind of stuff. So that that's the least of my concerns, frankly.\u003C/p>\u003Cp>Speaker 0: Least of the concerns. Alright. What other concerns do we have here?\u003C/p>\u003Cp>Speaker 1: Well, let's just quickly check on the data model. Right? Because we have we have menus, we have items, we have ingredients, we have the allergens on the ingredients. So all this is coming together really, really nicely.\u003C/p>\u003Cp>Speaker 0: Shall we, like, look at the API calls? Because, obviously, you're gonna render this on the front end.\u003C/p>\u003Cp>Speaker 1: Yeah. Did you give it a, like, public access or is it already?\u003C/p>\u003Cp>Speaker 0: I've just logged in. So we can make this let's let's yeah. Maybe showcase that really quickly. Alright. I can make all this publicly accessible just by going to our access policies and adding all these collections.\u003C/p>\u003Cp>I need faster fingers. There we go. Alright. We go back. Items, menus, fields.\u003C/p>\u003Cp>There we go. We've got our lunch menu. Oh, I forgot to add the the items to the menu. Can we do this? Where's the menu?\u003C/p>\u003Cp>Menu. Right? Special lunch menu. Add our existing items. Where we at?\u003C/p>\u003Cp>Twenty five seconds.\u003C/p>\u003Cp>Speaker 1: Hit save.\u003C/p>\u003Cp>Speaker 0: Items, menus, fields. Okay. I don't see the menu items. We need menu items dot asterisk.\u003C/p>\u003Cp>Speaker 1: There we go.\u003C/p>\u003Cp>Speaker 0: Junction table.\u003C/p>\u003Cp>Speaker 1: Items. Double star it. Double star.\u003C/p>\u003Cp>Speaker 0: Double star. No. Well, that's it. That's the ten minutes. We have built a menu generating app thingy.\u003C/p>\u003Cp>Ten minutes or less. How do we feel about this?\u003C/p>\u003Cp>Speaker 1: It's pretty cool. I will say. My favorite is the icons and the colors for the for the collection.\u003C/p>\u003Cp>Speaker 0: I so that again, like, this is all AI, you know, there's a lot of hype out there. But one thing that that I appreciate about the MCP that we built here is there's real value to this, in my opinion, of how quick can you prototype, how fast can you iterate on this. In ten minutes or less, completely fresh. No idea. There it is.\u003C/p>\u003Cp>Restaurant menu app down. Reich, anything, anything you'd like to add as we we close this episode, this chaotic episode, if you didn't need enough drama and one app in ten minutes bringing in somebody totally unexpectedly. Well, Reich, thank you for joining me for this. You know, again, I think this is a lot of fun, but again, it just goes to show how far and how fast you could get when you combine Directus and AI. That's it, folks.\u003C/p>\u003Cp>Make sure you stay tuned for more episodes of one app, ten minutes.\u003C/p>","Alright. Welcome back to an extra special episode of one app in ten minutes. I'm your host, Brian Gillespie, for Directus. Today, I honestly like, I I hope I'm not gonna get fired here, but, we are going to be building a mystery app with our CTO here at Directus, Reich Van Zanten. And I call this mystery app, and I say, hey. I hope I don't get fired in that, I've invited Reich to a call, but he has no idea he's gonna be on the show. And I call it mystery app because I have no idea what idea he's gonna throw out there or if it's even possible. Previously, the show was called 100 apps, hundred hours for this season or this spin off here. It is one app in ten minutes. The rules are we have ten minutes to plan and build an app. No more, no less. In this case, we're gonna be using what we do have at our disposal, which is Directus, claw.ai, and, Directus MCP connected. Welcome to one app ten minutes, Rick. One app ten minutes. For the audience, we are recording live. Did you have any idea that you're gonna be on this show today? I had no clue. But here we are. Amazing. Amazing. Alright. So I think you're already aware of 100 apps, hundred hours, one app, ten minutes, shortened time frame, leveraging AI. I've got mystery app here with Wrike. The world wants to know what what app are we gonna build today? In ten minutes? In ten minutes. Oh, boy. Well, I could spend ten minutes thinking about an app, but that's not what I wanna do. The most incredible cold opened ever, ladies and gentlemen. What a what a do you thought you were coming into, an afternoon meeting? Amazing. Oh, one of many. One of many. Oh, this is I'm woefully ill prepared for this. Okay. We have ten minutes. Well, the time hasn't started yet, has it? No. No. No. You got we gotta decide the app, then we got ten minutes to plan and build the thing, which is it is very ambitious in and of itself. Yeah. I will say. Okay. Ten minutes. That makes it so much trickier. I was gonna say, I was recently working oh, maybe we can do a part of that. I was gonna say, I was recently working on sort of, like, a quizzing app. A quizzing app. Okay. Nights and weekends for, you know, getting, sending people a link. You could sign in. You can you can do a little quiz, and then we could check out the leaderboard. That is not a ten minute I don't ever at all. I'll tell you that. Oh. But maybe it is. Let's see here. Okay. No pressure. None whatsoever. To give you context, we've already done a lot of the former 100 apps, hundred hours. So Expensify clone, Airbnb, Netflix. Like, already done all these things. Multi site CMS. All the all the expected fruit is is already picked off the tree. You're not making it any easier. Wait. If this is a if if we're gonna be using AI to build this stuff, why don't we use AI to come up with what we're building in the first place? Alright. Alright. Alright. I've got I've got ten minutes. Rike Van Zanten, our CTO, on an episode of one app, ten minutes. What should we build? Bum bum bum. I'm Curious to see if it calls the actual direct SMTP here, but I I don't think so. Real time dashboard builder. Oh, it it knows you. You're a known quantity. Clearly. Schema visualizer, webhook, ecommerce, headless ecommerce, QR code menu generator, team mood tracker, meeting room optimizer. I think the QR menu one is actually not too bad of an idea. Right? Because this is a restaurant. Thing or you're going in, you're sitting down at the table, you have to scan a little QR code, you pull up a menu on your phone. So very remote. Where does this menu come from? Where does it go? Could be something. Alright. Restaurant menu. QR code is doing everything. Ten minutes where I create a new startup on the fly. Restaurant menu, QR code, generator thingy. There we go. Alright. We're ready? We're starting the clock. What do we need out of this thing? Obviously Well, we need menus. We need things on the menu. So we need menu items. We need ideally some sort of, like, allergy information for every menu item. So that is, like, ingredients maybe, or, like, allergy information, or components. Like, sometimes on menus, you see, you know, the menu item and then individual parts of what's in it. Right? Yep. So yesterday night, at least four times of what is in the Negroni. Just kidding. What else do we need? We need well, we're gonna be generating a QR code for every menu, I guess, because we're rendering out each menu on a separate page. So that makes sense. That QR code? Oh, we need a a sort of category for the menu item. Like, is it an entree, or is it an appetizer, or is it a dessert? And then on the menu itself, we probably need a similar thing for, is it a lunch menu, or a dinner menu, or some special event? You know, this is like a Christmas day, menu or something. So what would that be? I was already thinking Yeah. Type a menu. Yeah. Holiday special. Holiday. Alright. Now, I've already set the audience up for this, but what we've got already is I've got a blank direct to sentence. We've got the Claude AI connected via the direct to MCP, and let's build the menu system. So I'm just gonna dump this in here. Again, we're on the clock. So, you know, we're just gonna oh, gosh. Okay. That's Oh, no. That's not even formatted properly. Okay. Allergy category for the menu. Flow for during QR code. Alright. This is the magic moment. Can you one shot a brand new startup in seven minutes and fifty five seconds? We'll see. Well, in no context either. I mean, you're just you're giving it nothing. You're truly giving it nothing. Absolutely nothing. Right? So the Directed MCP, we've got a bunch of tools that are preprogrammed into this thing. And you'll see, like, the system prompt here, which is basically just some information about, how the assistant should act. Then we have a tool that allows it to introspect the direct to schema or or not even introspect, just see the direct to schema. And here it's already gone to work. So I'm just gonna hit refresh over here on the left. And by the power of AI combined, we now have some stuff. So we can start creating a new menu. This is, Reich's special lunch menu. And is this, is this something that we would expect to see? I mean, how would you grade this? So we got the type of lunch. That's pretty solid. Is this active? There's the QR code for the menu. Uh-oh. Doesn't like that, does it? Is it still create? Yeah. It is still adding our relationships. So maybe that's where I would I would do it a second until it's done, frankly. Trying to get ahead of ourselves. Because we only have so we only have so many seconds. But There we go. Alright. So one thing that that I really like about this is just seeing, like, the volume of work that I would have to to do myself. Now it like, it's not that much work to spin up a back end with Directus. And the the visual, like, drag and drop the data model part of it is beautiful. But when you're watching a machine do all of this work for you, man, that's it's even better. And, man, what can I say? What what is better than doing work is just not doing work. Not doing any work. Alright. So we're gonna call this, like, special lunch menu. Now let's see if this actually works this time around. There we go. Alright. So we've got a menu. Looks like it's already added some menu items. How do you feel about be seeing eating jumbo shrimp for lunch or Atlantic salmon for that, man. Alright. We've got our ingredients. Looks like we've got an allergens. Okay. We got a preset there. And then we got our categories for appetizers, mains, desserts, beverages. What is this thing doing? Okay. It's looking like I think it's building the front end for it now too. Wow. It's actually building the front end. I didn't even ask that. But let's just let's check on the the flow progress. Right? We got five minutes left, which is, actually, I'm I'm surprised we're even here at this point. But I'll say stop the clock because I'm seeing a menu on the screen right now. Right. Is it is it actually calling Directus too? Oh, no. Of course. Yeah. Yeah. Yeah. Okay. It's just gonna send that be too good to be true. Yeah. Yeah. Alright. So let's talk easy enough to do, though. This is one SDK call and you're in in business. Yeah. So let's toggle this and see. Generate QR code for the menu. Okay. So we've generated the QR code. Looks like it might have missed a few steps. We generated a QR code. Is this even valid? What is the QR server? I don't think I've ever seen this. Is that a thing? QR is a dummy. I think that's just a dummy, isn't it? Yeah. Yeah. QR code, API. Can we get something really quickly? Yeah. Let's see here another thing. We can oh, yeah. Maybe. We're just gonna straight up vibe code. Gotta go back. Gotta go back. Gotta go back. Fix the flow to import the generated. Oh, yeah. Stop making typos, Brian. We're on the clock. Come on. The QR code generated QR code. Here's the service. What's the endpoint? What's the endpoint? I can find it. I'm sure I can do it. This is so much more fun with a partner. Brian, let's go. Let's go. Let's go. Let's go. Come on. Come on. Files. Come on. Import. Files import. If we do as an import file operation, is that a thing? Is that even exist? We do not have that. We should. Can you build that in ten minutes? Same. We could. Import file URL. Hit point. Oh, it's still building. Okay. It's reconnecting. Reconnecting. Alright. So it's doing some some type of work on our behalf here. QR code. Oh, no. Dun dun dun. Two minutes still. Alright. What do we what do we got here? Okay. Still not generating the QR code. Okay. Well, I think one thing we can agree on here I mean, a QR code, you can easily generate on the client side. There's a bunch of libraries for that kind of stuff. So that that's the least of my concerns, frankly. Least of the concerns. Alright. What other concerns do we have here? Well, let's just quickly check on the data model. Right? Because we have we have menus, we have items, we have ingredients, we have the allergens on the ingredients. So all this is coming together really, really nicely. Shall we, like, look at the API calls? Because, obviously, you're gonna render this on the front end. Yeah. Did you give it a, like, public access or is it already? I've just logged in. So we can make this let's let's yeah. Maybe showcase that really quickly. Alright. I can make all this publicly accessible just by going to our access policies and adding all these collections. I need faster fingers. There we go. Alright. We go back. Items, menus, fields. There we go. We've got our lunch menu. Oh, I forgot to add the the items to the menu. Can we do this? Where's the menu? Menu. Right? Special lunch menu. Add our existing items. Where we at? Twenty five seconds. Hit save. Items, menus, fields. Okay. I don't see the menu items. We need menu items dot asterisk. There we go. Junction table. Items. Double star it. Double star. Double star. No. Well, that's it. That's the ten minutes. We have built a menu generating app thingy. Ten minutes or less. How do we feel about this? It's pretty cool. I will say. My favorite is the icons and the colors for the for the collection. I so that again, like, this is all AI, you know, there's a lot of hype out there. But one thing that that I appreciate about the MCP that we built here is there's real value to this, in my opinion, of how quick can you prototype, how fast can you iterate on this. In ten minutes or less, completely fresh. No idea. There it is. Restaurant menu app down. Reich, anything, anything you'd like to add as we we close this episode, this chaotic episode, if you didn't need enough drama and one app in ten minutes bringing in somebody totally unexpectedly. Well, Reich, thank you for joining me for this. You know, again, I think this is a lot of fun, but again, it just goes to show how far and how fast you could get when you combine Directus and AI. That's it, folks. Make sure you stay tuned for more episodes of one app, ten minutes.","published",[135,149],{"people_id":136},{"id":137,"first_name":138,"last_name":139,"avatar":140,"bio":141,"links":142},"791e1503-1d88-463d-9347-0b9192933576","Bryant","Gillespie","9013afc8-e8d7-4182-9b18-44db08117bb9","Developer Advocate at Directus",[143,146],{"url":144,"service":145},"https://directus.io/team/bryant-gillespie","website",{"service":147,"url":148},"github","https://github.com/bryantgillespie",{"people_id":150},{"id":151,"first_name":152,"last_name":153,"avatar":154,"bio":155,"links":156},"23ebcf2c-4374-4f5c-8198-f8ad497fd856","Rijk","van Zanten","7ef9652f-3835-432c-a43a-c5fe13001f31","CTO of Directus",[157],{"url":158,"service":145},"https://directus.io/team/rijk-van-zanten",[],{"id":161,"number":162,"year":163,"episodes":164,"show":173},"49af1154-dd24-49c1-a1fd-fb2da0a4484b",1,"2025",[165,166,167,168,169,122,170,171,172],"f1b56b45-9398-41c1-becd-1d08d15e593d","629c73cb-a886-4db1-9e45-a604316de145","3bf8ea55-3ff8-4dc8-937b-093ca713b8a9","f1c9f6ee-8760-4719-8834-e4da28f9b3eb","7df39746-4a7e-4916-ba9a-71c1fa291944","95ed81c1-d6f4-4f12-817c-ca7aaeb9ac85","3ac5e6eb-111e-4bcf-b2ab-66e70712b3a8","1848dd2c-dbff-4361-9571-eb64a629c46d",{"title":174,"tile":175},"MCP Showcase","ec743a55-2bce-414f-aa55-2c3aa3b32b6b",{"title":8,"meta_description":8},{"id":170,"slug":178,"season":161,"vimeo_id":179,"description":180,"tile":181,"length":182,"resources":8,"people":8,"episode_number":183,"published":129,"title":184,"video_transcript_html":185,"video_transcript_text":186,"content":8,"seo":187,"status":133,"episode_people":188,"recommendations":189},"mcp-build-note-app","1138970580","Joshua Bemendorfer talks through his project: building a note-taking app.","51d2f9d1-b2b2-420f-bf86-e7c7dba6926e",9,7,"Community MCP Build: Note-Taking App","\u003Cp>Speaker 0: 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/p>\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/p>\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, 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, you can just dump that in a note and analyze it in future runs.\u003C/p>\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/p>\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/p>\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/p>\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/p>\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, all that.\u003C/p>\u003Cp>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.\u003C/p>\u003Cp>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.\u003C/p>\u003Cp>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.\u003C/p>\u003Cp>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.\u003C/p>\u003Cp>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.\u003C/p>\u003Cp>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/p>\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. And 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 going to use the turn concepts into full fledged articles prompt.\u003C/p>\u003Cp>That's going to 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 going to make any sense. This is going to 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/p>\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/p>\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/p>\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 it 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/p>\u003Cp>And here are some of the categories that'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/p>\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. 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.\u003C/p>\u003Cp>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 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.\u003C/p>\u003Cp>The future is gonna be fun.\u003C/p>","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, 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, 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. And 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 going to use the turn concepts into full fledged articles prompt. That's going to 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 going to make any sense. This is going to 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 it 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 that'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 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.","61b97ecd-ad99-4e38-9799-fd3fbfe95e44",[],[],{"reps":191},[192,248],{"name":193,"sdr":8,"link":194,"countries":195,"states":197},"John Daniels","https://meet.directus.io/meetings/john2144/john-contact-form-meeting",[196],"United States",[198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247],"Michigan","Indiana","Ohio","West Virginia","Kentucky","Virginia","Tennessee","North Carolina","South Carolina","Georgia","Florida","Alabama","Mississippi","New York","MI","IN","OH","WV","KY","VA","TN","NC","SC","GA","FL","AL","MS","NY","Connecticut","CT","Delaware","DE","Maine","ME","Maryland","MD","Massachusetts","MA","New Hampshire","NH","New Jersey","NJ","Pennsylvania","PA","Rhode Island","RI","Vermont","VT","Washington DC","DC",{"name":249,"link":250,"countries":251},"Michelle Riber","https://meetings.hubspot.com/mriber",[252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,229,440,441],"Albania","ALB","Algeria","DZA","Andorra","AND","Angola","AGO","Austria","AUT","Belgium","BEL","Benin","BEN","Bosnia and Herzegovina","BIH","Botswana","BWA","Bulgaria","BGR","Burkina Faso","BFA","Burundi","BDI","Cameroon","CMR","Cape Verde","CPV","Central African Republic","CAF","Chad","TCD","Comoros","COM","Côte d'Ivoire","CIV","Croatia","HRV","Czech Republic","CZE","Democratic Republic of Congo","COD","Denmark","DNK","Djibouti","DJI","Egypt","EGY","Equatorial Guinea","GNQ","Eritrea","ERI","Estonia","EST","Eswatini","SWZ","Ethiopia","ETH","Finland","FIN","France","FRA","Gabon","GAB","Gambia","GMB","Ghana","GHA","Greece","GRC","Guinea","GIN","Guinea-Bissau","GNB","Hungary","HUN","Iceland","ISL","Ireland","IRL","Italy","ITA","Kenya","KEN","Latvia","LVA","Lesotho","LSO","Liberia","LBR","Libya","LBY","Liechtenstein","LIE","Lithuania","LTU","Luxembourg","LUX","Madagascar","MDG","Malawi","MWI","Mali","MLI","Malta","MLT","Mauritania","MRT","Mauritius","MUS","Moldova","MDA","Monaco","MCO","Montenegro","MNE","Morocco","MAR","Mozambique","MOZ","Namibia","NAM","Niger","NER","Nigeria","NGA","North Macedonia","MKD","Norway","NOR","Poland","POL","Portugal","PRT","Republic of Congo","COG","Romania","ROU","Rwanda","RWA","San Marino","SMR","São Tomé and Príncipe","STP","Senegal","SEN","Serbia","SRB","Seychelles","SYC","Sierra Leone","SLE","Slovakia","SVK","Slovenia","SVN","Somalia","SOM","South Africa","ZAF","South Sudan","SSD","Spain","ESP","Sudan","SDN","Sweden","SWE","Tanzania","TZA","Togo","TGO","Tunisia","TUN","Uganda","UGA","United Kingdom","GBR","Vatican City","VAT","Zambia","ZMB","Zimbabwe","ZWE","UK","Germany","Netherlands","Switzerland","CH","NL",1773850444986]