[{"data":1,"prerenderedAt":444},["ShallowReactive",2],{"footer-primary":3,"footer-secondary":93,"footer-description":119,"mcp-showcase-10-mins-tiktok-clone":121,"mcp-showcase-10-mins-tiktok-clone-next":177,"sales-reps":192},{"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},"7df39746-4a7e-4916-ba9a-71c1fa291944","10-mins-tiktok-clone","1138963281","Bryant and Ben try to build the project of Ben's dreams using the MCP, in 10 minutes or less!","95397771-2625-415b-a579-1335736d00ce",12,5,"2025-11-20","Building in 10 Minutes or Less: TikTok Clone","\u003Cp>Speaker 0: Alright. Welcome back to another episode of one app in ten minutes. This is a extra special season or, extra special show. Normally, this is 100 apps, one hundred hours. Today, we're doing everything in ten minutes.\u003C/p>\u003Cp>That comes with a lot of hype and A\u003C/p>\u003Cp>Speaker 1: lot of pressure.\u003C/p>\u003Cp>Speaker 0: This extra special episode. We've got mystery app with Ben. So mystery app on two levels. One, Ben, our CEO, had no idea he was being pulled into this. And two, I've got no idea what he wants to build, but we're gonna see if we could do it in ten minutes.\u003C/p>\u003Cp>Ben, welcome to the show.\u003C/p>\u003Cp>Speaker 1: Thank you, Brian. I'm very excited to mysteriously be here.\u003C/p>\u003Cp>Speaker 0: Yes. Alright. So the name of the game today, ten minutes to plan and build, no more, no less. You might wanna be thinking about what app we're gonna be building now. I'm gonna tell everybody else how we're making this possible.\u003C/p>\u003Cp>So I've got a blank instance of Directus set up. I've also got our Directus MCP server connected to Claude AI, and that is the the secret sauce that we're gonna be using today to try and go much faster. So, alright, what do you what do you wanna build today, Ben?\u003C/p>\u003Cp>Speaker 1: My my first thought is, like, a content like a like a TikTok.\u003C/p>\u003Cp>Speaker 0: TikTok.\u003C/p>\u003Cp>Speaker 1: It's just, like, an easy Look at that. TikTok clone. TikTok clone.\u003C/p>\u003Cp>Speaker 0: With the owner. This CEO. Alright. 10 on the clock. Alright.\u003C/p>\u003Cp>Next up, you know how this goes. I know you've seen the show. We're gonna start the clock. We're gonna talk about what functionality we need, and then we're gonna go. Alright.\u003C/p>\u003Cp>Clock is running. Alright, Ben. What do we need out of, a TikTok clone?\u003C/p>\u003Cp>Speaker 1: Oof. We need to we need a feed, like a FYP, like a little just getting through getting through the content, getting through the videos. Need to be able to interact with those, so I guess give it a thumbs up. So, like, a little a favorites toggle.\u003C/p>\u003Cp>Speaker 0: Like a likes. Mhmm.\u003C/p>\u003Cp>Speaker 1: And then comments. I don't know what else is\u003C/p>\u003Cp>Speaker 0: Comments and probably like a post. Right? The Yeah.\u003C/p>\u003Cp>Speaker 1: I guess the content itself is like a video, the author. So I guess they should all be attached relationally to an author, and then a description, a time stamp, posted time stamp.\u003C/p>\u003Cp>Speaker 0: Okay. Alright. Let's let's give this a shot. Right? We're gonna just copy paste this.\u003C/p>\u003Cp>We're gonna go to our trusty AI. You know, excited to be able to maybe separate fact and hype here. So, let's build a TikTok clone inside Directus. We want the following functionality. Personalized feeds, posts with likes and comments, and let's just use what?\u003C/p>\u003Cp>The direct Us users collection. Yeah. Mhmm. Let's use I was absolutely driving Reich crazy on another episode with typos. So let's use\u003C/p>\u003Cp>Speaker 1: Is it apostrophe missing a typo?\u003C/p>\u003Cp>Speaker 0: Yeah. There we go. Let's use direct users as the user's collection and reuse off there. Alright. We're gonna hit go, and we're gonna see what happens.\u003C/p>\u003Cp>Speaker 1: I can I can vouch for the fact that I had no clue what this is gonna be, so you definitely didn't? So there's\u003C/p>\u003Cp>Speaker 0: no Oh. Oh, no. Is this a oh, boy. Alright. We're just gonna add to the difficulty level here.\u003C/p>\u003Cp>It looks like I wasn't originally connected to the MCP. So we'll just refresh and go again. How we doing on time? Seven minutes forty seven seconds. Alright.\u003C/p>\u003Cp>We\u003C/p>\u003Cp>Speaker 1: burned through a lot on that on that hour.\u003C/p>\u003Cp>Speaker 0: No pressure. Right? If if one hour wasn't enough drama for you, let's do it all in ten minutes. So My water's\u003C/p>\u003Cp>Speaker 1: empty. We're still over there.\u003C/p>\u003Cp>Speaker 0: Alright. So let's see. We've got the direct assist assistant system prompt here. It's fetching the schema. Obviously, this is a blank instance, and then it's looking for the directest users collection.\u003C/p>\u003Cp>Alright. So now we can see that the AI is trying to go in and and create these collections inside direct us. And it looks like we've got posts, we've got likes, we've got comments, follows, hashtags for post discovery.\u003C/p>\u003Cp>Speaker 1: Relational\u003C/p>\u003Cp>Speaker 0: hashtags. And it looks like it's got a junction table for posts and hashtags. Mhmm. Cool. And, I I don't think you've had a ton of experience with the MCP yet other than our like, the video updates.\u003C/p>\u003Cp>Only my content. So the it it approaches this very systematically, and then it will go in and create the collections. And it looks like it has only created one collection at a time. Alright. So this is new behavior to me.\u003C/p>\u003Cp>Previously, it's done all the collections and then the relations, but we we should be getting the same effect.\u003C/p>\u003Cp>Speaker 1: Like that time excuse there, Brian.\u003C/p>\u003Cp>Speaker 0: Yeah. Yeah. Yeah.\u003C/p>\u003Cp>Speaker 1: Yeah. Absolutely. Yeah. Yeah.\u003C/p>\u003Cp>Speaker 0: Alright. So Oh, wow. So we've already got the likes. We could see the posts. Got a caption, a video file, a thumbnail, user ID.\u003C/p>\u003Cp>Is this all does this line up with what you would expect out of out of this bin?\u003C/p>\u003Cp>Speaker 1: Yeah. I mean, my design brain is is, like, thinking of, like, a little bit of form layout, but I'm impressed that it's doing, like, half in full width, and it's kinda doing a really good first pass.\u003C/p>\u003Cp>Speaker 0: Here's our awesome video.\u003C/p>\u003Cp>Speaker 1: And, I don't have any. So let's see. That was my first concern is, like, you're not gonna have any, like, MP fours at the ready.\u003C/p>\u003Cp>Speaker 0: We've got tons. Recdus MCP assets. What do we got? Blog post workflow. We could test the the TUS upload protocol at the same time.\u003C/p>\u003Cp>Speaker 1: So, Meta, are you uploading an m c p p video for the m c p video?\u003C/p>\u003Cp>Speaker 0: I was trying to. It looks like, some I'm getting some errors. So that's part of the fun of this. We just keep refreshing and and seeing more content or more data model show up. So we got post.\u003C/p>\u003Cp>Let's try this again. I'm gonna link this to my admin user. Here's our awesome video, And let's upload a video from device, see what it got. MCP assets. Do I have a video that is actually small enough?\u003C/p>\u003Cp>It looks like 30 megabytes is all I've got here.\u003C/p>\u003Cp>Speaker 1: It feels like that that can work. Except I'm getting a issue.\u003C/p>\u003Cp>Speaker 0: Oh. Oh. No stress. Alright. Let's just try an image for now.\u003C/p>\u003Cp>Oh, I've done something wrong with the images as well.\u003C/p>\u003Cp>Speaker 1: I think TikTok has images, doesn't it?\u003C/p>\u003Cp>Speaker 0: It it it does. It looks like something has gone wrong. I had reversed relationships. Okay. So now it's filling in the other relationships.\u003C/p>\u003Cp>And, unfortunately, I don't think it's gonna allow us to do this without a file, but we could solve for that really quickly.\u003C/p>\u003Cp>Speaker 1: I know. I'm googling sample m p four file. I like cityscapes and all that on the mind I've seen. I think it is something that I've done here. Thirty seconds, 1.5 megs.\u003C/p>\u003Cp>1.5 megs. Schema.\u003C/p>\u003Cp>Speaker 0: It's like Add to proceed.\u003C/p>\u003Cp>Speaker 1: Does this not know we are on a\u003C/p>\u003Cp>Speaker 0: okay. So I spotted the issue, and that's a good point to bring up that this is really cool functionality to be able to prototype this quickly, but it's not a it's not a silver bullet. It looks like the MCP had tried to tag the wrong folder that did not exist inside the instance, and that's where the issue was coming from. So we could try this again. Here's our test post.\u003C/p>\u003Cp>Let's add admin user. Just going to I\u003C/p>\u003Cp>Speaker 1: Slacked your URL if you wanna try doing it from URL. Okay.\u003C/p>\u003Cp>Speaker 0: Alright. We'll try it from the URL. There we go. We've got the video file uploaded. We can set this to publish.\u003C/p>\u003Cp>We will save our post. And now that the MCP has done its thing, we got two minutes and forty seconds Infinite. To, let's just create create some test posts and sample content for each collection. Cool. Alright.\u003C/p>\u003Cp>In the meantime, Ben, what is great about Directus and how fast you could prototype like this?\u003C/p>\u003Cp>Speaker 1: I mean, this is this is insane. Like, with all the things that we're encountering here I mean, even just the boilerplate stuff of getting the prompt right, trying to find just a sample video file. Like, I you just I feel like you can just, like, mess around. And the worst case scenario, you just command z it and then start again, or at least get, like, a good 80% of the way there.\u003C/p>\u003Cp>Speaker 0: We got one minute and thirty six seconds. I think one of the the coolest things to showcase here is that we have a ready to go API. Right? And not just, I need, like, one API. We've got all the APIs for what we need on the back end of this thing.\u003C/p>\u003Cp>Speaker 1: I love that it's doing all the colors and iconography too. Like, that to me is it just takes so much time. Like, oh, okay. What what, like, material symbol icon should I use for this or that? Like, that plus the colors and all the form layout.\u003C/p>\u003Cp>Like, that's\u003C/p>\u003Cp>Speaker 0: Yeah. So let's go in and create a a like here. Here's our post. Cool. They created should be populated automatically.\u003C/p>\u003Cp>We got follows. We got comments. We can add a comment to the post. Test comment. Alright.\u003C/p>\u003Cp>User ID. Commenting on my own\u003C/p>\u003Cp>Speaker 1: I got a user. Who said who said test comment?\u003C/p>\u003Cp>Speaker 0: There we go. Alright. So thirty seconds left. I I feel like, you know, we didn't obviously do anything on the front end here, but now we we've got these APIs with a a little bit more time. We could probably slap together a front end, and have something up and running in under an hour, which, you know, the namesake of the show is is insane to me that you could do so much with DirectUs in an hour.\u003C/p>\u003Cp>But being able to get here in ten minutes, The entire back end is,\u003C/p>\u003Cp>Speaker 1: like, the the schema. We've got, like, everything sort of configured the right way. We got the full API, REST, GraphQL.\u003C/p>\u003Cp>Speaker 0: That's it. Ten minutes is up. Well, Ben, any kind of final words on Directus and AI before we we wrap this episode up?\u003C/p>\u003Cp>Speaker 1: I mean, it's just it's super exciting. Like, it's the confluence of two big things. Like, AI is just, like, variable, ephemeral, like, crazy new emergent technology with all this potential, but it's kind of a little errant with all the craziness that can get thrown into the mix. And then you've got this, like, super stable, reliable, resilient back end platform of directors. I think, like, at the intersection of those two things is is, as Jonathan would say, there there's magic there.\u003C/p>\u003Cp>Yeah. No. This is this is awesome.\u003C/p>\u003Cp>Speaker 0: And with that, we will end this episode. Thanks for joining us, and stay tuned for more.\u003C/p>\u003Cp>Speaker 1: Thank you, Brian.\u003C/p>","Alright. Welcome back to another episode of one app in ten minutes. This is a extra special season or, extra special show. Normally, this is 100 apps, one hundred hours. Today, we're doing everything in ten minutes. That comes with a lot of hype and A lot of pressure. This extra special episode. We've got mystery app with Ben. So mystery app on two levels. One, Ben, our CEO, had no idea he was being pulled into this. And two, I've got no idea what he wants to build, but we're gonna see if we could do it in ten minutes. Ben, welcome to the show. Thank you, Brian. I'm very excited to mysteriously be here. Yes. Alright. So the name of the game today, ten minutes to plan and build, no more, no less. You might wanna be thinking about what app we're gonna be building now. I'm gonna tell everybody else how we're making this possible. So I've got a blank instance of Directus set up. I've also got our Directus MCP server connected to Claude AI, and that is the the secret sauce that we're gonna be using today to try and go much faster. So, alright, what do you what do you wanna build today, Ben? My my first thought is, like, a content like a like a TikTok. TikTok. It's just, like, an easy Look at that. TikTok clone. TikTok clone. With the owner. This CEO. Alright. 10 on the clock. Alright. Next up, you know how this goes. I know you've seen the show. We're gonna start the clock. We're gonna talk about what functionality we need, and then we're gonna go. Alright. Clock is running. Alright, Ben. What do we need out of, a TikTok clone? Oof. We need to we need a feed, like a FYP, like a little just getting through getting through the content, getting through the videos. Need to be able to interact with those, so I guess give it a thumbs up. So, like, a little a favorites toggle. Like a likes. Mhmm. And then comments. I don't know what else is Comments and probably like a post. Right? The Yeah. I guess the content itself is like a video, the author. So I guess they should all be attached relationally to an author, and then a description, a time stamp, posted time stamp. Okay. Alright. Let's let's give this a shot. Right? We're gonna just copy paste this. We're gonna go to our trusty AI. You know, excited to be able to maybe separate fact and hype here. So, let's build a TikTok clone inside Directus. We want the following functionality. Personalized feeds, posts with likes and comments, and let's just use what? The direct Us users collection. Yeah. Mhmm. Let's use I was absolutely driving Reich crazy on another episode with typos. So let's use Is it apostrophe missing a typo? Yeah. There we go. Let's use direct users as the user's collection and reuse off there. Alright. We're gonna hit go, and we're gonna see what happens. I can I can vouch for the fact that I had no clue what this is gonna be, so you definitely didn't? So there's no Oh. Oh, no. Is this a oh, boy. Alright. We're just gonna add to the difficulty level here. It looks like I wasn't originally connected to the MCP. So we'll just refresh and go again. How we doing on time? Seven minutes forty seven seconds. Alright. We burned through a lot on that on that hour. No pressure. Right? If if one hour wasn't enough drama for you, let's do it all in ten minutes. So My water's empty. We're still over there. Alright. So let's see. We've got the direct assist assistant system prompt here. It's fetching the schema. Obviously, this is a blank instance, and then it's looking for the directest users collection. Alright. So now we can see that the AI is trying to go in and and create these collections inside direct us. And it looks like we've got posts, we've got likes, we've got comments, follows, hashtags for post discovery. Relational hashtags. And it looks like it's got a junction table for posts and hashtags. Mhmm. Cool. And, I I don't think you've had a ton of experience with the MCP yet other than our like, the video updates. Only my content. So the it it approaches this very systematically, and then it will go in and create the collections. And it looks like it has only created one collection at a time. Alright. So this is new behavior to me. Previously, it's done all the collections and then the relations, but we we should be getting the same effect. Like that time excuse there, Brian. Yeah. Yeah. Yeah. Yeah. Absolutely. Yeah. Yeah. Alright. So Oh, wow. So we've already got the likes. We could see the posts. Got a caption, a video file, a thumbnail, user ID. Is this all does this line up with what you would expect out of out of this bin? Yeah. I mean, my design brain is is, like, thinking of, like, a little bit of form layout, but I'm impressed that it's doing, like, half in full width, and it's kinda doing a really good first pass. Here's our awesome video. And, I don't have any. So let's see. That was my first concern is, like, you're not gonna have any, like, MP fours at the ready. We've got tons. Recdus MCP assets. What do we got? Blog post workflow. We could test the the TUS upload protocol at the same time. So, Meta, are you uploading an m c p p video for the m c p video? I was trying to. It looks like, some I'm getting some errors. So that's part of the fun of this. We just keep refreshing and and seeing more content or more data model show up. So we got post. Let's try this again. I'm gonna link this to my admin user. Here's our awesome video, And let's upload a video from device, see what it got. MCP assets. Do I have a video that is actually small enough? It looks like 30 megabytes is all I've got here. It feels like that that can work. Except I'm getting a issue. Oh. Oh. No stress. Alright. Let's just try an image for now. Oh, I've done something wrong with the images as well. I think TikTok has images, doesn't it? It it it does. It looks like something has gone wrong. I had reversed relationships. Okay. So now it's filling in the other relationships. And, unfortunately, I don't think it's gonna allow us to do this without a file, but we could solve for that really quickly. I know. I'm googling sample m p four file. I like cityscapes and all that on the mind I've seen. I think it is something that I've done here. Thirty seconds, 1.5 megs. 1.5 megs. Schema. It's like Add to proceed. Does this not know we are on a okay. So I spotted the issue, and that's a good point to bring up that this is really cool functionality to be able to prototype this quickly, but it's not a it's not a silver bullet. It looks like the MCP had tried to tag the wrong folder that did not exist inside the instance, and that's where the issue was coming from. So we could try this again. Here's our test post. Let's add admin user. Just going to I Slacked your URL if you wanna try doing it from URL. Okay. Alright. We'll try it from the URL. There we go. We've got the video file uploaded. We can set this to publish. We will save our post. And now that the MCP has done its thing, we got two minutes and forty seconds Infinite. To, let's just create create some test posts and sample content for each collection. Cool. Alright. In the meantime, Ben, what is great about Directus and how fast you could prototype like this? I mean, this is this is insane. Like, with all the things that we're encountering here I mean, even just the boilerplate stuff of getting the prompt right, trying to find just a sample video file. Like, I you just I feel like you can just, like, mess around. And the worst case scenario, you just command z it and then start again, or at least get, like, a good 80% of the way there. We got one minute and thirty six seconds. I think one of the the coolest things to showcase here is that we have a ready to go API. Right? And not just, I need, like, one API. We've got all the APIs for what we need on the back end of this thing. I love that it's doing all the colors and iconography too. Like, that to me is it just takes so much time. Like, oh, okay. What what, like, material symbol icon should I use for this or that? Like, that plus the colors and all the form layout. Like, that's Yeah. So let's go in and create a a like here. Here's our post. Cool. They created should be populated automatically. We got follows. We got comments. We can add a comment to the post. Test comment. Alright. User ID. Commenting on my own I got a user. Who said who said test comment? There we go. Alright. So thirty seconds left. I I feel like, you know, we didn't obviously do anything on the front end here, but now we we've got these APIs with a a little bit more time. We could probably slap together a front end, and have something up and running in under an hour, which, you know, the namesake of the show is is insane to me that you could do so much with DirectUs in an hour. But being able to get here in ten minutes, The entire back end is, like, the the schema. We've got, like, everything sort of configured the right way. We got the full API, REST, GraphQL. That's it. Ten minutes is up. Well, Ben, any kind of final words on Directus and AI before we we wrap this episode up? I mean, it's just it's super exciting. Like, it's the confluence of two big things. Like, AI is just, like, variable, ephemeral, like, crazy new emergent technology with all this potential, but it's kind of a little errant with all the craziness that can get thrown into the mix. And then you've got this, like, super stable, reliable, resilient back end platform of directors. I think, like, at the intersection of those two things is is, as Jonathan would say, there there's magic there. Yeah. No. This is this is awesome. And with that, we will end this episode. Thanks for joining us, and stay tuned for more. Thank you, Brian.","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},"4f76549a-cebc-439b-98da-cc0568e708a9","Ben","Haynes","8d3aa9f0-f76f-4c77-82fe-0bab6d40ef41","CEO at Directus",[157],{"url":158,"service":145},"https://directus.io/team/ben-haynes",[],{"id":161,"number":162,"year":163,"episodes":164,"show":173},"49af1154-dd24-49c1-a1fd-fb2da0a4484b",1,"2025",[165,166,167,168,122,169,170,171,172],"f1b56b45-9398-41c1-becd-1d08d15e593d","629c73cb-a886-4db1-9e45-a604316de145","3bf8ea55-3ff8-4dc8-937b-093ca713b8a9","f1c9f6ee-8760-4719-8834-e4da28f9b3eb","437dea6b-a229-449c-9437-3f6620c2898d","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":169,"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":191},"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,"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.","7ea951b9-ee5d-456e-8e38-ea63fc3010f0",[189,190],"6dcc99c9-1ea6-46e3-a22e-8b730be473a3","8e8ddf61-cf6f-4a94-99fd-57c07f3b26b8",[],{"reps":193},[194,250],{"name":195,"sdr":8,"link":196,"countries":197,"states":199},"John Daniels","https://meet.directus.io/meetings/john2144/john-contact-form-meeting",[198],"United States",[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,248,249],"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":251,"link":252,"countries":253},"Michelle Riber","https://meetings.hubspot.com/mriber",[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,440,441,231,442,443],"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",1773850441891]