00:00.47 James Welcome back, everyone, to Merge Conflict, your weekly developer podcast, where in the last week, Frank and I shipped collectively 28 new applications to the App Store. How's it going, Frank Kruger? 00:09.44 Frank collectively uh yeah hi how you doing uh i think collectively you mean you did 27.95 and i did 0.05 i believe that that's how collectives work and all that james you have been super productive um just making me jealous over here envious forget which one's which 00:28.73 James not sure. As you collect and tiny tools, as Scott Hansman likes to say with this tiny tool town. Have you seen tiny tool town? 00:36.55 Frank Yeah. You know, I saw him tweeting about it, but I forgot to actually check it out. I like the name. Scott's good at naming things. um And then i I let my imagination run wild. I just imagined that between you and Scott, you had just generated like a thousand tiny little console apps or something like that. That's what I imagined. 00:57.02 Frank What really happened, James? 00:57.24 James Yeah, you did. I mean, so Tiny Tool Town is like the GeoCities of little tiny personal apps, for one, you know, which you and i both have collectively done. 01:05.05 Frank Okay. 01:07.70 James ah And yeah. 01:08.09 Frank Did you ever have a Geocities site? I'm sorry. 01:10.04 James Oh, yeah. 01:10.29 Frank Sorry to derail you. 01:11.33 James Oh, had an Angel Fire and a GeoCities and um Homestead, I think was another one. 01:12.12 Frank OK. 01:15.27 Frank Mm-hmm. 01:18.23 Frank Ooh, OK. You're ahead of me. I had Geocities. I just hadn't thought of that name in a long time. It was nice to hear from you. OK, so Scott reinvented Geocities. 01:24.95 James I have... Geocities for developers. Now, I evolved i evolved quickly out of Geocities because then i I was doing some PHP, as one does, and I was ah working on Gray Matter, which was an early CMS. 01:32.27 Frank Mm-hmm. 01:43.24 Frank Got it. 01:43.33 James We talked about this on the pod probably a thousand times. An early CMS, ah kind of, it might have been before WordPress or, you know competitor to WordPress, but the whole idea was you deployed it to your server, so I had a you know, a GoDaddy server, or FTP server, and then you'd upload it and you modify it and you set it all up and there was scripting and chmoding and all those things. 02:02.14 James But you could customize it. And the cool part is that you could ah basically make your website and then put the little tag in your website to say, here's where I want, you know, the, the, the feed to come in. 02:16.36 James Like, here's where I want the, the blog content to come in and handle the deep links for you. 02:16.83 Frank Classic. Heck yeah. 02:21.00 James So I would go into Photoshop and I would make my, my layouts that I have. 02:24.79 Frank Yeah. 02:25.08 James They're all custom. i was doing tons of custom graphic work and they're all 800 by 600, 640 by 480. And then I would go and I would CMS and have these blogs. And and we had, uh, um, 02:35.90 James blog rings remember blog rings for you and your your friends you would collectively be in a ring of sign the guest book yeah a little counter saying how many people are inside uh so yeah we're there so so scott built tiny tool town uh and it has a bunch of tools that you can submit and it's got a bunch of tiny tools and i have a bunch of tools there i have i have uh yeah 02:38.36 Frank Oh yeah. Sign the guest book. Yep, yep. 02:56.02 Frank Wait, wait, wait. Is it an app store? You know I'm addicted to app stores. Can I sell stuff? Can I sell my tiny tools? 03:03.42 James Not yet. ah 03:04.73 Frank Come on, Scott. Come on. 03:05.75 James But... 03:06.05 Frank Think of the little devs out here. You know, some of us got to make a dollar. 03:10.62 James But you you ah collectively could... i think that it's got to be it's got to be free, fun, and open source. 03:20.41 James Now, that does... 03:20.63 Frank Freemium and fun and open source. 03:23.06 James It does... Nothing about the freemium in there, but... ah But I've put on like, you know, PDF diff, the podcast metadata generator, the the post helper, the readme badge creator. 03:31.70 Frank Nice. OK. 03:35.42 James i did the Oh My Posh configurator. I did. i have two new tiny tools. One's called tiny clips. And then also the tiny tool submitter ah because Scott has you fill out this form. 03:46.59 James That's like fill out all this metadata. 03:47.05 Frank Mm-hmm. 03:48.73 James And i like, Scott, one does not fill out a form. 03:53.08 Frank that can easily be generated by GPT-04, whichever one's cheaper these days. 03:59.12 James 4-1, 4-1, baby. it's it' It is a solid, I can read text and I can put text in this other area. 04:00.82 Frank Or one. but 04:05.23 James So I created the tiny tool submitter ah ah and I used the copilot SDK because what I want to do is I want to be like, hey, I'm in my repo. 04:08.71 Frank Sweet. 04:12.93 Frank OK. 04:17.56 James And then I created a.NET 10 tool. So you can do DNX, tiny tool submitter. 04:21.23 Frank Mm-hmm. 04:23.38 James It downloads it automatically. 04:25.14 Frank that interesting 04:26.02 James runs it and it'll parse your entire readme, your repo, all the things. Look for licenses, look for things. And then it will give you a ah URL that will then pre-populate all of his thing. 04:31.99 Frank Nice. 04:35.96 Frank Love it. 04:37.66 James And I made that in.NET and then somebody was like, oh, like they they ported it over to JavaScript. Like if you don't want to install.NET, then do this. i was like, okay, fine. 04:45.07 Frank Oh, my God. 04:46.20 James So they did it. And I was like, and it was like install bun. i was like, I'm not installing bun. i was like, so I went into Copilot and I was like, hey, Copilot, convert this to JavaScript. And it's like, took literally legitimately two minutes. 04:56.28 James And then I was like, cool, make a CI pipeline for NPM, got my token and I published it. 04:56.89 Frank Yeah. 05:00.64 James And i was like, boom. So now when you go to submit, this is kind of cool. TinyToolTown.com. there's i've I've been mostly working on his submit your tool page because he now has page themes and you can now preview the theme right there, which is cool. But then underneath you'll see submit your tiny tool. So you got your tiny tool for.NET and you got an NPM package. You can DNX or NPX, tiny tool submitter. 05:25.58 James Bingo, bango. You got your tiny tool. You are off to the races. So, and then it just submits it. So I think his whole tiny tool thing is all about what we're just talking about, right? 05:35.64 James Which is, it's a someone someone once said apps are dead and I said app apps are thriving. 05:37.44 Frank Yeah. Oh, yeah. 05:41.00 James apps It's never been a better time to be an app developer of one. 05:41.91 Frank oh yeah 05:44.82 Frank never Never a better time to fall behind as an app developer either. 05:45.98 James User one. 05:49.34 Frank um i know we're not going to make this the whole subject of the podcast, but I have to quiz you because I got you here and it's easier than reading a document. you You're my agent, by the way. I call you Agent James. 06:01.05 Frank um Agent James, ah can so can I post like Mac apps on here also? In particular, Mac apps that Apple would never let me put on the App Store because Apple has lots of rules and I don't follow rules. 06:14.14 James I wouldn't see why not. I submitted my tiny tool, my tiny tiny clips. 06:17.21 Frank Okay. 06:17.34 James It's a Mac app. can put any app you want. Anything. 06:19.74 Frank So, a binary. Are you actually uploading a binary or are you just pointing it at your own distribution page? 06:25.97 James You point it to GitHub. 06:27.70 Frank Yeah. Okay. No big deal. 06:28.63 James it It's like it's like every every tiny tool gets a tiny page, and then that tiny page... That's it. 06:35.81 Frank Gotcha. 06:36.34 James Yeah, well, I also did, i also, to Scott, I was like, yeah anyone can submit this. I'm like, anyone can submit a tiny tool. And if you're like me, you will probably put the minimum amount of effort into it unless you're using the tiny tool submitter. 06:49.85 James So what I did is if you go to a page, if you go to like the tiny tool town and then go to browse, you can type in, you know, Montemagno in there, James, you'll see all my tiny tools, but you can click on any of them. And then you'll also see, if you scroll down, Copilot says, and there's AI generated like um blurbs with emojis about the tool. 07:10.58 James Because when I first submitted, i really didn't submit anything good. So I made a tiny tool to create tiny AI summaries using the co-pilot CLI. So Scott has integrated that into his work stream that when people submitted, it'll go and generate a tiny summary on it as well, which is great. 07:29.40 James So and all my tiny tools have different tiny themes. ah that he has in there so you can and I had Copilot assign that. So yeah, so I, ah you know, it's all about the time. The problem is updating the tiny tools and keeping them up to date. 07:42.07 James And that is the the next the next the next key. And I know GitHub just released agentic workflows, but I'm not quite there yet. I need to go deeper into those. 07:52.70 Frank Yeah, it turns out running an app store is a lot of work. ah There's a lot of little details. 07:55.51 James Yeah. 07:56.58 Frank like we're We're always complaining about that last 20% it takes to upload an app, but app stores need all that stuff. like you Just wait till he starts forcing to upload banner graphics and icons in six different sizes. 08:07.83 Frank Then then we'll know. Scott's really made it. 08:10.59 James Yeah, he has a, 08:10.63 Frank start Yeah, have to fill out the privacy notices, the age rank. 08:16.07 James he's got a tiny tool that ah they'll go through and it'll find the first image in the readme. However, you know, that's, you know, not that it's dangerous, but it could be dangerous. So you gotta have some content moderation. and and And I think if you go to his repo, he's got a bunch of agents running, talking about agents that are that are automating and and talking, is this a good review? Is this that? Is this whatever? You know, so, 08:38.78 Frank Okay. Yeah. So i think um I think the thing here is that we are just running more apps than ever. um we We keep talking about how like the the barrier to entry used to be, do I really want to spend a day getting a very bad prototype of this app up and then a week to get it to the point where it's actually a usable app and it's David Vogelpohl- stable to the point where I can actually use it. I always make the joke, the what is the the cobblers children have no shoes. it's It's that old programmer thing like we often, even though we're the ones who can write apps we never do because we know how much work they are. David Vogelpohl- But. 09:18.18 Frank AI has kind of changed that. Now whatever terrible idea i have on the morning, i usually spend eight hours yelling at an agent and after that eight hours I usually have a working app or something like that these days. And so it's it's pretty cool to actually make a distribution channel for those. um Boy, it makes me wonder if there's going to be a lot more of these little app stores popping up because Like you said, there's just going to be an explosion of apps. 09:45.53 Frank I mean, it's becoming so easy now. And not everyone wants a web app. I know, I know you can host a web app, but I don't need 8,000 servers to maintain and all that. I still like app apps. 09:57.56 James Yeah. And I did make an app app. I made a Mac app. 10:00.50 Frank Okay. 10:01.07 James but Did you, can you believe that I made a tiny Mac app and I made ah i made a Mac app that only lives in your toolbar. Can you believe that? That's wild. 10:07.80 Frank I love toolbar apps. I hope that that's a little bit of my influence on you, just trying to convince you. 10:14.16 James A tiny bit. 10:15.34 Frank It's going to be bad, though. The toolbar is already getting full. I'm looking up at my at my menu bar. 10:19.41 James So, so much stuff, so much stuff. 10:20.13 Frank Yeah. Yeah. 10:21.98 James It's like, it's literally half of my screen. 10:22.10 Frank ah 10:23.82 James It's so big and I'm on an ultra wide. I'm on an ultra wide people. 10:26.62 Frank Oh, no. And are you are you committing the ultimate heresy, which is you put color up in there? I hope your icon is black and white only. Don't you dare put any color up there. 10:38.07 Frank The stupid co-pilot has this little green checkmark that it puts up there. 10:41.72 James It does. 10:42.94 Frank And I want to and uninstall it just because of that stupid checkmark. I cannot stand that green checkmark just sitting up there mocking me. 10:48.66 James tell the team. I'll tell the team. I'll tell the team. I'll tell the team. 10:50.78 Frank Oh, I filed a bug report. I'm like, get rid of that color. Have you ever used a Mac in your life? You do not put color in the main menu bar. 10:57.18 James You know, right now, and by the way, right now, and this is a great, great point from Mr. 10:58.15 Frank Yeah. 11:03.09 James Frank Kruger is on both of our screens because the video camera is being used. The little like you are being you're you're you're being projected or captured. 11:11.06 Frank Yeah. 11:12.67 James It's like blue. i have like display a link manager or whatever. I have a thing in display link because I have the projector and it's like the blue thing. And what is it? Why is it? Why is it? It's literally so bold in my face. 11:25.90 James It's interesting that too, because i have the Microsoft Defender app on it as well. 11:26.17 Frank Yeah. 11:30.89 James And it has just a checkbox that's white. So they did it right. Interesting. Yeah, no. 11:34.81 Frank Apple has this terrible, ah sorry, or get our chance to complain about Macs here for a minute. 11:35.40 James Yes. 11:41.46 Frank There's this really weird thing where if you have software that's using the video camera and you make it full screen, which should hide the main menu bar, it still puts a little tiny green dot up there. 11:46.81 James yes 11:51.76 James Yeah. Yeah. Mm-hmm. 11:54.46 Frank And this was introduced one or two Mac OSs ago. 11:54.52 James yeah 11:59.22 Frank maybe even just this one and I think it is the worst most terrible thing on the planet like yeah I get that privacy thing of like we all don't have integrated webcams so most webcams don't show a little green dot so you know it's recording but for Apple to just put a green dot on my screen in an area where a there should be no color but b there should be no dots my god yeah It drives me nuts. 12:23.23 James Blasphemy. 12:24.47 Frank You're trying to like watch a full screen video and you just happen to have a webcam running for whatever reason because I'm always recording myself. I'm that vain. I'll admit it. And now there's just a green dot sitting up there. 12:35.19 Frank ah ah James, is there anything worse? 12:37.96 James There's a green dot right now. And then also that Siri icon. So colorful. So colorful. 12:42.87 Frank You can turn that one off. I did. Anything with color gets turned off. 12:44.81 James Oh, can you? Oh, that's nice. 12:46.14 Frank Yeah. Get out of there. 12:46.90 James Okay. 12:47.42 Frank Get out. Get out, Siri. 12:47.90 James ah 12:48.42 Frank What are you what are you doing? 12:49.56 James and No, 5.3 Codex ah made an icon that is just the normal icon. 12:54.09 Frank OK. Yeah. 12:56.76 James It might just be a built-in icon. I don't know what it did. 12:59.00 Frank yeah 12:59.19 James But it it has as an icon that's built in. And yeah, so i I think tiny tools are about this. 13:02.14 Frank okay 13:04.46 James They're about you build things for yourself. You know, over the weekend, I built this insulin tracker. I'm always building insulin trackers. I built this native.maui app for iOS and Android. 13:17.02 Frank yeah 13:17.79 James And Heather and I are using It's on the App Store. on the App Store yet, but it's in TestFlight to go onto the App Store. And we're testing out. we're doing a bunch of stuff. It's got file image uploads, doing a backend and stuff. We talked about it. Yep. 13:27.39 Frank Collaborative, you have multi-user working on the same data. 13:30.73 James Yep. 13:31.19 Frank I love those kinds of apps. 13:32.91 James Yep. same data, no user accounts, just you get a GWID when you boot up the app, you're good. 13:35.86 Frank awesome 13:38.55 Frank See episode 120 or whatever when we talked about. 13:38.90 James That's all get. 13:42.71 Frank No user accounts, GUIDs everywhere. 13:45.14 James You know, some people say you're a cog in the machine. I say you're a GWID in the machine. So, um yeah. so So I was sitting there the other day And I, ah this was ah the new version of Visual Studio Code 109 had an update. 14:02.02 James They did an update mid-release. trying to do these weekly updates to Stable. 14:05.42 Frank Hmm. 14:05.94 James And they came out with a ah few new features like steering and slash commands for skills. So they're kind of like prompts, which is really cool. And a few other things. And I record a lot of videos and I just happen to be on my Mac. 14:21.59 James And I often will boot up QuickTime because it's an easy way to do it. Or I'll open up Camtasia or open up OBS. had to open up an app to to do a screenshot. 14:31.58 Frank resistance 14:32.95 James Now I can command shift five, whatever it is. And ah the whole thing opens. It's a big deal. And the thing goes over here. And that is fine. But I said, you know what, it'd be really nice if I had something that I could very quickly take a screenshot with a region. 14:43.08 Frank Yep. 14:49.53 James I could very quickly do a video or maybe even record a GIF because I need those options. 14:53.75 Frank yeah 14:54.62 James And I said, wouldn't it be great if also it just lived in the toolbar? so I had like, you know, keyboard commands, obviously. so I could like shift command, whatever. um But what if I could also open like editors? 15:07.31 James Because I'm often recording videos and I often need to speed them up. So wouldn't it be cool to speed them up or do annotations on top of them, right? 15:11.70 Frank okay 15:14.51 James The workflow today is take a screenshot, open the screenshot, go into the Markdown tool, save the file, do a thing. What if that was all just in one app? What if it was just integrated into a beautiful little app? 15:24.79 Frank Or 10. or 15:25.78 James So I made tiny clips so you can make tiny clips of things on your desktop, tiny clips. 15:30.10 Frank love Oh, I'm terrible. See, I knew about the name, and I knew were talking about Tiny Tools, and yet I still didn't put two and two together or Tiny and Tiny together. Of course. 15:40.56 Frank You made Tiny Clips. It's a Tiny Tool called Tiny Clips. 15:42.13 James Tiny clips. 15:43.64 Frank ah Lovely name, by the way. 15:43.67 James Tiny tool. 15:45.56 Frank I hope Scott doesn't come after you for copyright there. 15:48.22 James Trademark. 15:49.73 Frank Trademark copyright. Oh, that's funny because um you you said you wanted to open editors, and it looks like you're not opening a video editing software. You wrote video editors, which... 16:01.62 James I just built it. 16:02.90 Frank This is Mac, so there's actually really nice media APIs like AV Foundation and AVKit are amazing. 16:06.71 James and ah 16:09.38 Frank but 16:09.43 James So good. And I was like, I was like, I know these APIs. I know that there's good APIs. So, you know, those Mac APIs play no games, you know? 16:15.29 Frank Yeah. 16:17.84 James So i like, okay, yeah. 16:18.01 Frank Yeah. Okay, this is this is a really cool app. um I hope you'll share the source code with me because I actually end up writing, talking about tiny tools, I write tons of tiny little video editor things that I never release because they're usually specialized to what I'm doing. 16:33.34 Frank you You tend to think more generally. um You're better at that than I am. But um I'm always curious about the details because, like, I'm Recording the screen on the Mac, the APIs are varied. You can go by window, you can go by app, you can go by monitor, you can go by the whole desktop. And so it's not so much like, um is it hard to record the screen? It's more hard, like, how do you design an app to record the screen? Like, do you present all those options and anything? Anyone who's ever tried to share their screen in, like, Discord or something knows this pain, like, this a crazy dialogue that comes up and has you, like, select exactly what you want to record on, all that stuff. 17:16.06 Frank So I'm curious how you made decisions there, because this could easily feature bloat into the ultimate capture tool ever. And that's what I would do. And I would never release it because I'd get so caught up in that. And then the fact that you put editors in, I would get totally caught up. 17:30.90 Frank Let me give you an example. I like to train neural networks. And i used to love training neural networks that generated like images and 3D models. Well, it's 2026, so now I'm trying to get into video generation also. But for training data, you need to like I need to create like little clips of videos because I can't train on the general problem of video. I need like this kind of clip, that kind of clip. And so I go through my video collection, and I pull out clips. And I wrote like a cute little editor that opens a video file and lets you select multiple regions and lets you tab through a few like frames at a time um and you can select things and then there's nice export options and it'll dump all that stuff out. 18:11.44 Frank I probably spent like four days even with an AI working on it, like fine tuning the UI. So it felt like really good and everything. And then comes along, James comes along and writes an app that does screen capture it lives in the menu bar and has all the streaming capability built into it. So I'm curious how you widowed down the design surface because I think there's just so many options an app like this could have. 18:38.10 James Yeah, this is fascinating ah because I took a different approach to this application. i have this ah general mentality, which is a new paradigm that I ah use, which is ah plan, implement, review. 18:52.95 James And I use three different i used three different models for plan, implement, review. 18:53.31 Frank OK. 18:57.85 Frank Love it. 18:58.94 James And you can now set up default. In VS Code, you can set up default models for each mode. So in in in in handoffs. So for example, you can have a default agent where you just go and switch manually to agent. You're like, oh, maybe I want Opus or maybe I want Sonnet 4.6. 19:16.44 James um But when I go into plan, I default to 5.2. If if a new 5, normal, just baseline. 19:20.47 Frank OK. Interesting. Yeah. Yeah. 19:23.96 James Because these models, a base level 5.2, it's not implementing the code. 19:28.73 Frank Right. 19:28.85 James I am planning a feature. Now it has to understand high level, the code, but really if the ai is generating good you know doc you know generating good ah comments and plans and designs, it can parse the idea of what's there. 19:38.78 Frank Plants, designs. Yeah. 19:43.41 James It's not going into implementation details. That's for the implementer to decide. Think of it as a PM handing over our ideas to a developer to go implement. 19:48.15 Frank Mm-hmm. 19:51.91 Frank Yeah. 19:51.98 James So five, two is my PM, okay? 19:56.02 Frank Let me interrupt you just because I love interrupting you. I did accidentally use 5.2 once as a code generator. 19:58.77 James Yeah. 20:02.54 Frank Don't do that because it just gets way too promiscuous. it just I'm like, hey, maybe I'm thinking about this feature. It's like, okay, I'll be right back with you. Just going to go generate 30 source files and completely finish this plan. 20:13.98 James Yeah. 20:14.78 Frank for It gets a little ahead of itself. So I highly recommend not using plain 5.2 for actual code. 20:21.06 James That's why there's codecs. They're both 1x multipliers. 20:22.87 Frank okay 20:22.90 James So you might as well use the one that you want for coding and the one not for coding to not code. 20:23.61 Frank yeah 20:27.54 James So then you can say when I hand off to implementation, switch another model, and I now use, I go back and forth between Opus 4.6, but more recently, it used to be hand off to Sonnet 4.5 because I just love Sonnet um for coding. 20:42.01 Frank For coding, that's what we're, yeah, so you just went from plan to coding. 20:45.80 James Yeah. to plan to code. 20:46.71 Frank OK, one step. 20:48.34 James um But now my default is 5.3 codex. So I think that it is very, very good in established codebases. 20:52.13 Frank Cool, OK. 20:58.36 James um I really enjoy Opus from from scratch where there's like not a lot of codebase, like build this thing, buth blah, blah, blah. 20:58.87 Frank Yeah. 21:05.59 James And then once the codebase is established, 5.3 codex is very good model. 21:06.09 Frank I'm with you. 21:10.25 James But then what I do um once I implement is I get a little promiscuous And say, hey, Opus and or Gemini 3 Pro, go review the file, review the plan in the same window. 21:20.76 Frank Oh, wow. 21:24.73 James i say, review the plan, the implementation of that plan, and then you know give me a detailed to report and analysis of any high, medium, or low things that I need to improve. 21:36.86 Frank OK, this is before coding. 21:37.27 James Yeah. 21:37.96 Frank So you just used, let's say. 21:38.97 James No, after coding. No, no. 21:40.57 Frank Oh, OK, so 5.2 plan-ish, let's say. 21:43.42 James Implement with 5.3. Yeah. Implement with 5.3 codecs, generates the code. 21:45.87 Frank Yeah. 21:47.90 James And then I'm still in agent mode, but I have a custom agent that is called review and it automatically switches to Opus 4.6. And I have another one for Gemini 3 Pro. 21:58.49 Frank Crazy, crazy. So you're using Opus? You're using your 3x credits for review, huh? 22:04.59 James Yeah. 22:04.73 Frank I feel like, i guess I'm the bad manager. I'm like, oh, anyone could review. So I'd use the dumber. I would use the smartest model I have for the coding and then a dumber model for the review. But I do like the idea of using multiple models because they all do have their own biases and weirdnesses. So I do like that mix up. 22:23.03 Frank um have you Have you tried reviewing the plan with a different model before coding? Because that's where I thought you were going to go with this. 22:32.02 James I haven't actually. That would be kind of cool to do. Maybe review even with like a codex model or a so or a sonnet model to say, hey, listen, this is this. 22:42.13 James Is there any implementation details that need to be documented beforehand? 22:44.99 Frank Mm-hmm. 22:46.19 James That's a pretty good idea, actually. i might try that as well. You know, and the main reason that I use... 5.3 codex because it's very, very fast. um Codex 4.6 is also fast, but I mean, there's fast, but I'm not i'm not ah whatever that multiplier is paying for that. 23:02.04 Frank Yeah. 23:02.78 James But the I prefer to have my code written better faster with a review that takes a little bit more time. I'd rather the review take longer and be more in depth than sometimes the code because that's actually how I work. 23:11.54 Frank This is funny. 23:17.08 James I slang code personally and it's not very good and then I review it later. But I think the code the code that I've been getting out of 5.3 Codex has been fantastic. 23:21.72 Frank this is funny 23:26.09 James Almost one-shotting everything And usually it's like, it's a little ah my minute detail. 23:29.26 Frank Yeah. 23:33.05 James Sometimes Opus will be like, oh, but like the terminology that you used here actually may not mesh. And I think maybe it should be this other way. 23:43.26 James There are some intricacies, but then sometimes it's a little bit more finessed in there. 23:45.78 Frank yeah 23:47.64 James So the multiple models I think is underrated and especially... um doing back-to-back audits of the of reviewing the code changes i think with different models is quite impressive 24:00.71 Frank It's funny, I had to unofficially implement your technique, the James technique. I was rocking Codex because someone on Twitter named James Montemegno was talking about how Codex is great and you don't need Opus anymore. so I'm like, I'm going to believe James and I'm just going to use It's so hard to A, B test these things, right? Because you've got to like reset the code and rerun the experiment. And they're all stochastic anyway, so there's always room wiggle room and all that. So anyway, I just decided the only way to really understand these things is force myself to use one kind of model for the day. 24:35.16 Frank And then like usually by the end of the day, I'll decide, am I happy or sad that I had to use that model all day or something like that? Anyway, if you want to stress test an AI agent, have it implement drag and drop. 24:49.53 Frank My God. In general, these AI agents are terrible at native UIs. not terrible, but they're not as good at native UIs as they are at web UIs. But drag and drop, I found in particular, they're all across the board terrible at. And I'm going to say probably just because there's not a lot of code on the internet for them to learn from. a lot of devs don't do native code and a lot of native code devs don't bother with drag and drop. So I think the sample size is just small. So they're all terrible at it. And I had this day where I just had codecs just 25:24.73 Frank At first, I'm like, hey, go implement drag and drop. It's like, I got you, bro. I'm going to go do it. gives me what sounds like a good plan. I'm like, start implementing, baby. And it goes and does it. And officially, it worked. 25:39.16 Frank But it had to be the worst drag and drop implementation I'd ever seen in my whole life. Like it was ugly. It wasn't using any of the native stuff. It was rendering its own like drag icon and all that stuff. 25:49.64 Frank And then on top of that, no, I mean, that's mostly it. It was mostly just, you could tell it was a lot of hacks versus the correct way to implement it. So I'm like, hey, Codex, it's kind of hacky, go fix it. And then it spins. 26:00.60 Frank I'm like, no, that's still not right. And then it does like weird mouse tracking overrides where it's actually to monitor. I'm like, no, you can't do that. And it's like, okay, bro, I'm going to do gesture based and all this stuff. 26:12.33 Frank I'm like, no, you can't do that because now the keyboard doesn't work. you know but There's details to how drag and dropper is supposed to work on an operating system. So finally, i had to like turn off Codex and bring Opus in and be like, yo, know I'm really sorry, Opus. 26:25.23 Frank This code is a mess, but can you come back through here and figure out what the heck happened and clean it all up? 26:29.56 James Yeah. 26:31.64 Frank um And it's funny. like I know how to implement drag and drop, but I've gotten so used to using these agents. and I'm just like, don't make me code this. like That just feels like the the last straw. Like, man, if I have to hand code drag and drop one more time in my life, I... 26:46.85 Frank I'm done. But fortunately, Opus was able to come through and clean it all up. So it's funny that like accidentally I fell into your system of it was essentially doing a code review and a cleanup step afterwards. 27:00.79 James i had that I had that as well. So like this app, I went through this process of you plan, implement, review along the way and kind of snapshotting the features. So i think that was unique with this. is actually start with a blank folder. 27:11.95 James So I didn't create a project, didn't do anything. 27:14.26 Frank Danger zone. 27:15.29 James Danger zone. I did give it a few sample repos. I was like, hey, I recently created this Mac app. Like, you know, I also want to see a pipeline. Like, here's kind of the base that I want. and I started really, ah really basic with the app. 27:27.11 James A lot of people are like all about, can I one prompt shot an entire app from scratch? and I think that's fine. 27:33.03 Frank No, you cannot. 27:34.42 James you you You can't. ah 27:36.94 Frank I'll just set it. 27:38.01 James So I started very simple and I said, i would like a toolbar app that has three functions, take a screenshot, record a video, record, you know, record a GIF and puts it onto the disc. 27:49.33 Frank Nice. 27:50.98 James And I said, this is not going This is going to be a non sandbox app. Go to town, blah, blah, blah. 27:55.13 Frank Oh, real. 27:56.03 James Yep. 27:56.31 Frank Sweet. That's a nice ah luxury to give yourself. 28:00.86 James I did. ah And ah that, that didn't necessarily bite me in in the butt, but I should have said I may want to not sandbox it in the future, but I was like, go, 28:10.39 Frank Screen capture, by the way, can work with sandboxing, no problem. It's allowed. 28:14.03 James Well, we'll get there because I got it on test flight already. 28:16.28 Frank OK. Yeah. 28:17.04 James So I... so i ah So I went down this and it it pretty much one-shotted it ah pretty good. And ah did some did some research, did some planning. You know, I think that these APIs as well are are pretty standard. they're They've been around for a while and they're they're out there. There's a lot of new accessibility, you know, settings with pop-ups and dialogues or screen recording, but besides that, good to go. 28:42.23 James And it pretty much did it right away. And it didn't you know give me information or options, just had defaults for like, the screenshot video, the GIF, like what the defaults were. 28:53.37 James And then I said, Okay, let's make a little settings page that pops up when you go to blah, blah, blah, give me some settings. And then boom, boom, boom. Now we have FPS. Now we got this stuff. Now we got that stuff. 29:02.10 Frank I 29:03.03 James So I was like, I was pretty happy with that. I was like, I could just ship and I used it right away. And I was like, Yeah, but like, what I'm noticing is that especially when I take a um a video is that I have to hit the start button and then my mouse moves over. 29:19.07 James I was like, man, I just want to trim, just want to trim, you know? 29:20.22 Frank hate it. Yeah. Just a small feature, just a little trim. 29:24.57 James Yeah. 29:26.04 Frank No big deal. 29:26.07 James Just a little trim. So I added the the trimmer in there. So, and then I was, I want to trim gifts and and then this, and it pretty much one-shotted video playback trimming. It gave me a little slider on both sides. Now. Yeah. 29:39.32 Frank ah I'm sorry, I don't want to interrupt. Talking about how cool the Apple APIs are, the built-in AV player view has built-in trimming UI support baked into it. 29:51.66 James I 29:52.10 Frank I'm curious if the AI knew about that or did it write its own crazy trimming controls? 29:57.78 James i don't know. 29:58.78 Frank Hard to say, hard to say, who knows? 29:59.13 James That's ah hard to say. 30:01.54 Frank I'll look through your code. 30:01.98 James are do they height 30:02.78 Frank But okay, I'm just PSA. If you ever do need a quick trimmer, it's actually baked into the native video player control if you're doing this in the nap. 30:11.90 James i don't I don't think it is. I think it created its own. It's very good. 30:15.54 Frank Of course it did. 30:16.86 James Uh, I think it did. It's very nice. And then, and then, so I started to build these out. So every single, uh, plan here, I was starting to, to basically just do what I just said, which was plan, implement, review along the way. 30:28.38 James So i was like, bu bum boom bu bu bu so it was like plan, you know, one minute, implement one minute, you know, review one minute. So i was like, boom, boom, boom. 30:36.12 Frank Okay. 30:36.38 James The first, after the first rev. And then as I started using the app, I did this all in VS Code, all in VS Code. And I generated instructions. 30:46.52 James I said, make sure you build, you know, Xcode build after every single rev, blah, blah, blah. 30:49.27 Frank Yeah. 30:49.96 James Look at the logs. 30:50.14 Frank Okay. 30:51.26 James I ran it from Xcode. That's still the easiest in my opinion because you get all the debugging, all this other stuff. 30:56.23 Frank Yeah. 30:57.42 James And... um 30:58.06 Frank The console output, lets let's just say, because like the the error reporting in Mac apps is atrocious. 31:04.15 James Exactly, exactly. 31:04.22 Frank So you really need to see that little Xcode debug console to know like if anything's going on. 31:10.46 James Yep. 31:11.46 Frank Yeah, it's terrible. 31:11.70 James Yeah. um My favorite is actually the edit screenshot um because you don't need to trim it, but you can crop it. And it one-shotted cropping, rectangles, circles, arrows, lines, drawing, text, redaction, ah ah image picker, color picker. 31:25.62 Frank Saw that. 31:29.08 James And then also you can move the things ah on the screen. 31:33.10 Frank It's amazing. 31:33.37 James They're overlays. And now you can... 31:34.58 Frank It's really amazing. 31:36.22 James Now... 31:36.62 Frank It's weeks of work. You know, just a couple years ago, that was weeks of work. and it just It's amazing. 31:42.97 James Now, the thing that took the longest, to your point, is actually the arrows and lines. They were, ah for the longest time, able to go down and to the right, but never up and to the left, ever. 31:47.87 Frank I'll 31:54.12 James Never. 31:54.50 Frank be happy. 31:54.72 James They just did not want to flip over that axis. And it took, that one took like five or six minutes. And then that one, Opus did come in and then figured it out and then switched back over. But once I did it, I was like, document that. 32:06.36 James um But it's very good. It's great. It is absolutely bananas. um that I have. It has a whole cropper. It has undo capabilities. it is silly. And then i added scaling. I added formatting. I added, um you know, compression ratio for JPEGs on it. um You can copy it to clipboard. You can save it. You can do a bunch of stuff. I'm not saying it's the perfect UI, but it's pretty dang good. 32:29.11 James um 32:30.66 Frank got onboarding screen. 32:30.78 James and 32:32.14 Frank I've learned that much. 32:33.43 James I added a new getting started screen wizard that goes on with it. ah I added recently um you know for the playback. So you can do 1.1, 1.2, 2.5 speed on your videos and gifts as well Um, I, I also, cause I did ship it through GitHub actions and sparkle, which we've talked about before. 32:58.42 James the nice thing is i already had a sparkle implementation for baby smash that works. So I said, copy, paste this, do this. And it did. Um, and then i put it out into the world and I made a video, ah funnily enough, you you can't make a video of tiny clips with tiny clips because it hides the tiny clips UI from 33:21.16 Frank good. It's good. 33:21.75 James that Which makes sense because when you do a video recording and you select the area on the screen, it actually does, it can record your desktop and your microphone now. 33:22.05 Frank It should. 33:30.62 James And then when you hit record, it does a three, two, one countdown and then starts recording the area and it has a little countdown. 33:31.00 Frank Yeah. 33:34.79 Frank Yeah. 33:37.36 James So it doesn't want to record any of that UI. So it, 33:40.28 Frank Sometimes it does three, two, one grant permission dialogue. I should put that out there. 33:45.10 James oh yeah. 33:45.12 Frank But I'm sure that's just a one-time thing. 33:48.02 James Yes, it is. Well, if you go through the getting started wizard, it will ah guide you through enabling all permissions. 33:54.71 Frank um it's really great I'm using it right now I just made my first gif I don't know what a gif is but I'm able to make a gif um though I do have a question I I um I stopped recording where did my my gif gif go is it somewhere could be anywhere okay nice okay 34:01.59 James Okay. Yeah. 34:11.29 James Um, so go into your settings. It'll tell you where it's it's saving to. I don't know what version you installed. Yeah. 34:19.51 Frank Oh, OK. 0.12 or something. Oh, it went to the desktop. That's where all files go. 34:25.60 James Yeah. 34:25.70 Frank that's what I should have known. 34:26.33 James went right Went right to your desktop. Now you can change that in the settings, obviously. 34:28.34 Frank yeah 34:31.22 James um That's where the, the ah it goes to the desktop for the non-sandbox version. And then it goes to your movies or pictures for your other ones. 34:41.37 Frank Oh, I see. Yeah. 34:42.78 James But you can, um you should, it should be on by default, which is open editor after capture. 34:42.97 Frank Yeah. 34:48.58 James And then that will give you the editor. Sometimes it doesn't go, it might be behind your browser. So, but sometimes it depends on where you're, what you're clicking on. 34:56.12 Frank Oh, right. Sure. 34:58.21 James Yeah. 34:58.71 Frank it's It's there. It's there. You're right. Too many windows. 35:00.85 James Yeah. 35:02.27 Frank i be User error. a little bit of your, you should bring that window to the foreground. 35:06.04 James and I've been, yeah, I've been battling with a Mac OS screen bringing to foreground. 35:06.23 Frank But 35:11.67 Frank no, that is 100% what we used to say in the Windows world, owner-drawn trimming controls. 35:12.09 James So. 35:16.18 James Yeah. 35:16.67 Frank That is classic. 35:17.11 James Yes. 35:18.11 Frank Beautiful. 35:18.55 James Pretty good. 35:19.27 Frank Yeah. 35:19.70 James Yeah. So, yeah. 35:23.93 Frank This is fantastic. i um I can't seem to figure out how to put like an arrow on my newly created gift GIF 35:31.26 James Not on the GIF, but on the screenshot. 35:32.25 Frank But just screenshot. 35:33.91 James go to down do it do it Do a screenshot and then see the UI. 35:37.09 Frank OK. I see. 35:38.78 James That being said, i could... technically do that, but it might be for the whole thing. Yeah. I don't want to get too crazy with it. 35:46.30 Frank we 35:47.77 James You know what I mean? Yeah. 35:49.40 Frank Well, that's kind of what I was saying in the beginning. It's like, where do you draw the line in an app like this? 35:53.27 James Yeah. 35:53.36 Frank like It's two seconds away and you're creating Final Cut Pro or something, you know if if if you just go too far. 36:00.01 James Yeah. So when, when I, when I first came out with it, I said, I want to do this. Now I also built, you can go to tiny, tiny clips.app. I own a domain. Uh, 36:10.12 Frank Of course. Did you have an MCP server buy you a domain? 36:11.23 James this is a, this, 36:14.62 James Uh, I should have, this is an app. Uh, this is a website that, uh, codex, uh, built and then Gemini three pro did a UI code review and enhance the UI a little bit. Um, so I got a little bit of way to go, but it's just HTML and CSS. It's wild. Um, and it was really cool. Actually, codex, um, did this really cool thing where in the gallery, it it generated, it created Python scripts to generate like artwork that I can put into the app store. 36:43.00 James Like on the very bottom, it's yeah. 36:43.26 Frank Oh, fantastic. 36:45.14 James Tiny clips.app. Anyways, it's there. It's a website that exists. And then I made the video. did the whole thing. It's there. And then I wanted to put on the app store. And this is complicated because I wanted to, um i wanted to, this is the next plan I did. 36:58.94 James I said, I want it to be sandbox. And I said, do an analysis. Can I sandbox this app? And I said, yes, but you need to, you need to change these few things like going to the desktop app. 37:03.45 Frank Yeah. 37:07.80 James So it devised an entire plan basically to create another profile. um The Xcode, know, build profiles scheme, scheme, scheme. 37:16.12 Frank Scheme or profile? Okay. Scheme. 37:19.10 James i don't know what it's called. 37:19.43 Frank Scheme. 37:19.94 James that did generate It generated for me. A scheme ah for the MAP, the Mac or M-A-S, Mac App Store, the MAS. 37:27.38 Frank Yeah. Moss. 37:28.44 James ah So I have Tiny Clips MAS and yeah. 37:31.86 Frank Moss app. 37:33.03 James Moss app. So it pretty much one shot of that as well. And what that ended up doing was it had to do all the stuff that we had talked about. 37:36.81 Frank Dang. 37:40.01 James Remember when I used to make, I made that, uh, I was making that one Mac app that had to do with like files and stuff. And has like the bookmarks and all the the stuff that have to do for like saving files and stuff. 37:52.26 James What was I even building? 37:53.30 Frank yeah Yeah, saving files isn't so bad, but um opening files that people selected and then reopening them later is tricky because you have to create a a bookmark to the yeah URL, which is this weird data thing with the security permissions kind of baked in to that data thing. 38:04.81 James Yep. 38:09.09 James Yep. 38:10.26 Frank It's funny, I was just working on that the other day because as Mac developers, you are constantly creating bookmarks to URLs. 38:16.16 James Bookmarks. 38:16.94 Frank It's just what we do all day long. 38:17.60 James Yep. Oh, I was doing that for my stream timer. That's right. Bookmarks. So you can save the file. So now you can save the files wherever you want on it. 38:23.38 Frank Yeah. Mm-hmm. Mm-hmm. like 38:25.61 James And ah and it did it. It did this whole thing. And um it was actually really interesting. It was able to get it on test flight and there was this crash. for some reason, some API didn't one shot it. 38:38.74 James And I went down and I said, Hey, I installed the, the, the release test flight version. And it just seems to be crashing on this thing. And I'm running on my local machine. 38:49.97 James It's like, Hmm, let me look at the code. Like when you think, I don't know. and then it was all like, and it was like the user. And I was reading the logs. Like the user said they're running on their local machine. It's like, I wonder if there's logs on the machine. It's like, literally assets off. 39:01.66 James It's like, I wonder if there's crash logs. 39:03.37 Frank I wonder. 39:05.05 James And it literally went and found the crash logs for the app, diagnosed the crash logs, and then fixed the bug, whatever it was. 39:08.25 Frank ah 39:12.39 James And like, it was wild. 39:13.55 Frank Creepy. 39:14.39 James It was crazy. It was very cool. um So yeah, so I just got it on TestFlight. 39:17.17 Frank Yeah. 39:19.66 James I put a link up on the Twitter on there and I'm going to release it soon if Apple accepts it. But yeah, I've just been kind of going to town. It's open source on GitHub. And i think it's really interesting because it's a tiny tool that this is a tiny s film i'm going to use every single day. 39:31.94 James So to me, this is like, i because I use Control-Shift-4 almost every single day, Command-Shift-4 to snip. 39:37.39 Frank Yeah. Shift, yeah. 39:39.06 James um But now I need to do shift command five. 39:42.81 Frank Do you have a system wide? Shift command 5. 39:44.81 James What's that? 39:46.33 Frank 5 for screenshot, 6 for video, 7 for gif gif. 39:47.02 James Yeah. Check this out. Hold down option. 39:53.62 Frank Oh, boy. oh think I think my whole computer just crashed. No, I'm just kidding. I didn't notice what happened. What happened? 40:00.79 James Open the toolbar. 40:01.24 Frank Oh, I see. i see. Full screen, so I don't have to select a rectangle. Pro move. 40:08.25 James and that's it for a food That's pretty good. 40:08.29 Frank you You're officially Mac developer when you're hiding features behind the option key. 40:12.34 James yeah then So I was in plan mode and it's all like, how do you want to present this to the user? And it was like, it was like, do you want to have another entry? Do you want to have a setting? Do you like, do you want to? 40:23.10 James And it it was really like add option, add, add option key hold down, like native apps or whatever. it was like, like power, like, like Mac power users or something. 40:30.20 Frank Yeah, you're like, heck yeah. but 40:33.41 James And I was like, yes, that's the one that I want. Um, 40:36.38 Frank Absolutely undiscoverable. And yet once people learn it, you just do kind of remember it, sadly. 40:42.41 James Yeah, it's there. So there you go. You can hold it down and you're good to go. 40:44.66 Frank Fantastic. Oh, the reviewers are not going to find that. 40:47.10 James So. Yeah. 40:50.01 Frank That's a good way to hide features too from everyone. 40:50.93 James Yeah. Yeah. 40:54.73 Frank Sounds great. um I think I will try your plan code review technique. That sounds pretty solid. I tend to do the reviews myself. um i'm I'm still old-fashioned that way. I like to read over the code. That's why I still use VS Code and none of the CLIs, because I still think VS Code has the best reviewing what changed. I like seeing those little squares with the dot in them show up. I don't know what that icon is supposed to represent, but it's a square with a dot in it. And I go and look at all those files, and I page through those. I like to do that. That's why don't use those CLIs. don't know how anyone, I guess they're not control freaks like me. like 41:35.13 Frank how How do coders use those CLIs? Do they just don't care? It's weird. Anyway, I 41:41.35 James Oh, well, you can you can you can now like do slash ID and like review it'll bring up VS Code and like show you the diffs and everything inside the ID. 41:48.85 Frank Okay, then you just start in VS Code. Anyway. um Cool. you know i I use a slightly different technique. um I'm interested. 42:00.22 Frank You didn't one-shot the whole app. Did you just do your plan code review in the early days? 42:02.96 James No. 42:06.54 Frank I'm sure you did file new template in Xcode, or did you let it go from scratch too? 42:11.35 James go to town, bro. Figure it out. 42:12.82 Frank Wow, you who you roll the dice more than I do. So my... 42:15.93 James said, figure it out. 42:16.50 Frank my 42:16.85 James and and and And the cool part in plan mode, even for that, it asked me, do you want an Xcode project? 42:20.81 Frank hah 42:22.09 James Do you want the Xcode workspace? Do you want it to just be files that you compile? And I was like, I want this one, right? And it just kind of did its thing. So, yeah. 42:30.14 Frank Okay. I use a different technique even for my tiny app things. um I spend a lot of time now nailing down my design in an agents.md file. 42:44.06 Frank And I have a general policy of I like to keep working at it until basically I've filled up the context window. once it says its Once it says it's summarizing the conversation, I'm like, OK, we've probably thought this app through enough. 42:57.62 Frank But I like to really nail down the design and have a discussion and check through everything. 43:01.70 James Mm-hmm. 43:03.42 Frank And that's been giving me a lot of confidence because what I found, I think I said this on an earlier podcast, and you just said it earlier too, When you have an existing app, it seems to be ah you can trust the AI a lot more because it can look at other code. It gets a feel for how you like to code things. It knows the architecture of the app. 43:20.12 Frank But in those early moments of app development, I still am a bit of a control freak. I like to know exactly how it's going to model things, where it's going to put things, what technologies it's going to use. And so I personally spend a lot of time, I would say, and by a lot of time, I mean a few hours, um really doing a nice thorough agents MD. 43:40.69 Frank And it'll probably get trimmed later because I don't need to inject it into every prompt and all that kind of stuff. 43:41.26 James Mm-hmm. 43:45.89 Frank I used to do this in like the readme. I used to start with like, let's start with an app store description and then we'll build out the technology and all that. But I've evolved my own process to building out a beautiful agents.md file. 43:57.32 Frank Once I have that, then I do the plan code thing. Plan code, plan code. um Plan code review, though. I think that that's a nice thought technology. Now, at least give that a swing on the next round. But I also appreciate multi-model support. 44:13.14 Frank Good stuff, James. 44:13.64 James Yeah. Thank you. I appreciate that. Yeah, that's my go-to is just kind of here's what where I go with it and and go to town. I've been doing that um with almost everything that I do in this app. 44:29.52 Frank OK. 44:30.39 James I'm thinking um like right now, for example, i was realizing actually if you do shift command five, it actually still brings up the Apple one, so the Apple one in there, you know, so it's hard to rest. 44:46.14 Frank Yeah, it's hard to override Apple keys. I'm not even sure if you can, to be honest. 44:50.71 James So I'm going to tell it, I'll go find some key combinations in which it's unique. Right. So maybe control command one or two or something. i don't know. 44:59.13 Frank do some competitive analysis, see what other capture software uses. 44:59.32 James So i'll yeah. Yeah, can you do some analysis of default hotkeys? It looks like the ones we have are used already macOS apps built in. 45:18.33 James So to go and do it. So now, again, I could just tell it to do that, but i actually want to review it too. And like, is that what I want? 45:23.93 Frank yeah 45:24.25 James Is that what I not want? X, Y, Z. So it's going to go and find it. Right. And then it's going to go use some sub agents and go do some research and it'll find some Apple docs and do a thing. Right. And if you have you know docs and other things, it'll go find it. 45:35.13 James So I think that's just my general. plan, not for every single thing that I do. Like obviously but if I'm fixing a bug that I find and I know where it's at or I kind of know what's going on, I'll just kind of point it at it and do it. 45:45.56 Frank Yeah. 45:47.54 James But in this case, this is a bug, but I'm like, yeah, I'm not really sure. I needed to go figure out the current hotkey schema. I needed to figure out and like look on the internet and find some things like go do it. 45:57.58 James Right. So it'll go off and do it. 45:59.06 Frank Yeah. 46:00.10 James And then I'll switch to five, three codecs and let it go to town. 46:04.17 Frank Well, want to challenge myself. And by that, I'm going to challenge all the listeners also. 46:06.48 James Mm-hmm. 46:10.05 Frank What was the tinytools URL? 46:13.98 James tinytooltown.com. 46:16.09 Frank tinytooltown.com. Got it? um I'm going to challenge myself and everyone listening. We all have tiny tools sitting in our projects folder somewhere, and we know we haven't released them. 46:30.87 Frank I challenge you and me to go release one tiny tool town, tiny tool, somewhere within the next week. And tell us about it on the tweeters or write to us in the comments below. 46:44.75 Frank i think it'd be fun if all the programmers listening to this podcast would ah upload something. You know, that little app that you thought no one else is going to care about. It's not worth polishing for real public delivery. 46:58.07 Frank Polish it enough that Scott Hanselman will accept it. And that's all let's all try to upload at least one app this week. 47:05.17 James Yeah. Tiny tool nation. Let's do it. All right. Well, that is going to do it. um And in right into the show, show us your tiny tool. Give us the tiny tool.com URL of your tiny tool. 47:16.92 James um Leave a comment on our YouTube. ah Check out tiny clips, tiny clips.app. And of course, it's open source on GitHub. You can check out the code and go to there. And Yeah, go build some cool stuff. If you have an idea, even if it exists already, just go build it because why not? If it's just for you, then it's the perfect tiny tool for you. That's going this week's Merge Conflict. 47:41.78 James So until next time, I'm James Montemagno. 47:45.10 Frank And I'm Frank Krueger. Thanks for watching and listening. 47:48.44 James Peace.