📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Dont' Sleep on GPT-5.2, It's a coding BEAST!

James Montemagno15:14

Transcription

GPT5.2 just landed. It's available kind of across the entire Microsoft ecosystem. And we're going to give it a spin today inside of GitHub Copilot and VS Code. We're going to build out an entire application and sort of my standard test and see how it performs not only in the code that it generates, how it thinks about it, and how it designs it.

Uh, there seems to be a new model every day. So why does GPT 5.2 matter? Well, it's really fast, which I appreciate, of course. Uh, it is really good at heavy reasoning and longer context windows and it provides really accurate outputs which I I obviously really appreciate. So when I'm coding, it's really good with high performance on large code bases. Has that long context handling, stronger reasoning, and multi-step planning too, which I really, really appreciate it.

So let's go ahead and dive into VS Code and we're going to build out this sort of application that we do pet venue sharing for. I've been using in a bunch of my videos and uh, let's give it a spin. All right, let's get into it.

So, you should see GPT 5.2 in your model selector. It's in preview. So, if you are in business or enterprise, make sure you go enable that on github.com. So, I'm going to ask it based on this idea for this sort of pet venue application to create a product requirements document. But I also want it to keep it pretty high level. Don't go into the weeds too much. and then created in markdown. So I've attached the file here and this is the same idea that I give every single model just so I can understand and see the PRD that it creates.

So I've always really appreciated the GBT models specifically for being able to break down these types of tasks, these big PRD files where it's parsing a bunch of text. It's understanding the requirements for it and then putting it all together. So it's done a bunch of thinking here. It's making sure that I don't have a PRD or looking for other PRDs, which I do appreciate. Okay, maybe there was a PRD that was already in there and now it's, as you can see, drafting a high-level PRD. So we're seeing the sort of uh research and thinking that's going on here and we actually did see some of that thinking happening in real time.

Okay, so it created our PRD and everything is happening in real time here and gives us an overview. So let's take a look. Summary, goals, love a good non-goals. That's also very important. Uh, the target audience, the key problems, core value proposition. You can do this kind of for anything as well. By the way, if you're not doing like PRDs or spec-driven development, definitely give that a look.

Okay, I'm going to take this PRD and I have a standard prompt that I've been using for all of these different models and these different iterations. I just like to see the output and standardizing as best as I can is the way to do it. So, I'm really looking for a landing page first in this prompt that's desktop and mobile specific, light, dark modes. I want pink hues, nice fonts, emojis, hover animations, and I'm just telling it here in this Blazer Web Assembly app that I've given it some photos and pets and venues and to update the existing home.razor.

So it's going to go to work here. It's creating a bunch of to-dos and it's using a bunch of sub-agents to read a bunch of different files. So I do like that. So five tasks that it's going to complete and yeah, we're seeing some thinking happening here. So it's defining browse venues. It's understanding the page venue. It's considering if it should include an add a venue option. Uh, in here I did tell it only a landing page. So hopefully it does. Uh, we'll see. At least hopefully it should. You know, the PRD does describe the pages that are on it. It's breaking down the interop that it's going to need. Uh, here. And then I did tell it to run. I think somewhere in this file perhaps uh it's telling it to run after it builds, but it anyways, it figured out that it does need to build it. So it's managing the to-do items. And we can see I think it's thinking. Uh, this is one thing that I've noticed with the GPT uh 5.2 models is sometimes with the GPT models, they do like to kind of stop and you got to give it a little nudge to keep going. But in this case, we can see on the bottom right that it is running. So it's doing its thing. And we can even see the Copilot little spinner there. But yeah, it just created and updated the home.razor. And now it's going to add a bunch of CSS, I think. And we can see now we have the thinking going on here. And it's starting this next task of the order of operation.

So I did mention this pretty quick. I think in this run that I did, it's maybe like 10 to 12 minutes total if I remember here and that's pretty on par. Uh, I have enjoyed the speed of the GPT models in general. Uh, and specifically more recently the Codex models that I've been using have been really, really fast. Okay, so it's it's thinking, it's doing things. And again, this is real time. I'm not going to edit anything uh down there, but yeah, huge CSS file. So 600 lines of CSS. Appreciate you. And now it's creating new files. I do appreciate that it's creating the files and all the code is there. So that's also very nifty, too.

All right, then it's going to do a build and run. So let's see if it was successful or not and see if it one-shotted it. I appreciate a oneshot. So it's now running in the terminal. And this is now just .NET running and building on my little MacBook Air here. So let's take a look at some of the code that it generated. Interesting. I put the navigation inside the homepage. You know, there is only one page. I told it to make a landing page. Um, but here, yeah, it's added a bunch of links into our HTML. Uh, so that looks pretty good there, too.

All right. So, it's look like it's also running .NET test. All right. I appreciate you for for testing testing it. I don't even know if I have any tests, but sure. I guess it ran and then hopefully it should be done. Uh, and then we should be able to launch it here as well. So, inside this this folder, by the way, if you are super curious here, is that it just has a blank uh file, new Blazor uh web assembly application. I can just run here. So, I don't know what it's actually thinking about. So, this u maybe are some improvements to the prompting uh that will need to have happen um down the road, but so far we're in about 4 minutes.

All right, so it completed it and it gives us our output. So, maybe it was summarizing. All right, everything looks good. And I do appreciate that it says no test executed in this repo because I have a blank test file. So, that's great. All right, let's run this puppy and see what happens. So, now again, we're just kind of uh building it. could have asked me to to run it, which would have maybe been appreciative of, but uh hopefully we get something that looks pretty nice.

All right, let's see what we got here. All right. Well, this looks actually really stunning. I love the pink gradients. I love this. Uh, I don't know what's happening over on the right hand side, but I do love the little cards, animations, dark mode, fire. Love it. Little getting started button there. Nice cards. Lots of emojis. I do appreciate it. And I like that it incorporated images from both pets and venues across. Oh, little Q&A. I like that. That's nice. But just about the MVP we put together. Browse venues. Contribute. Oh, a nice little footer as well. This maybe one of the better footers that I've seen in a long time. I also, it's maybe hard to see, but you're actually seeing uh on that navigation bar uh a bunch of translucent kind of like um see-through there, which is really cool. I also like that it put little anchors there. That's very nice.

Okay, let's have it do a more complex task. Uh, so, what I wanted to do now at this point is to um add a venue page. and ideally also venue details. So the reason that this is important when we think of this reasoning is that I want it to um understand how to fan out the rest of the application as I would as a developer so it could just mock out all the venue uh things but I also wanted to create mock data. So ideally what I wanted to do is start to create some interfaces, understand um how to structure the data, use modern C#, ideally add the new pages in the right place, use proper navigation uh on it. And I didn't ask it to write tests, but ideally it would maybe do that.

So here's going to go through some thinking. Again, it's using sub-agents to read a bunch of files, and it looks like it's planning it out in general. So this is looking pretty good so far. So I have pet images. That's good. Okay, cool. So we're going to have uh small venue model, mock data service, DI, create venues, venues with an ID, and wire it all together. I love it. And I love it's just creating all these pages, pop. So that's really nice that it's going through and creating all of those pages here. And when it creates those pages, I am 99% sure that is also just creating all the the code that's in it as well. Um, and these should be smaller files. You can see that files changed or 59 lines of code. So these are just data models. So no pages yet. Um, but it's looking pretty good in general. Uh, I like that we have an IVenueService, venue rules, venue review, venue amenity. I thought about the venue itself and what this mock data service was going to be. There we go. So here's that mock uh service. It's really big. Venues page now. And then ideally we get the venues details as well because I did ask it. So let's see if it goes ahead and figures that out for us. That would be ideal. But here, this is actually working a lot faster and a larger um problem across many files. So, it looks like it's in place. They're going to register the DI. Very cool. That's looking good there. And then let's see if it builds up.

So let's go ahead and zoom out and see all the files that have been created here. So it's editing the home, the program.cs, and hopefully we get something here as well. Again, no edits to this video. Uh, no speeding up or anything like that. You know, I usually try to do this in under 10ish minutes to kind of give it a real a good to go. We can see that it's still thinking because we can see that the stop buttons there. So maybe it's doing a summary of the changes that it did. Maybe there's a little improvement there um that the team can land on and some of the the iteration on these models. And what you'll see is if you run this model again, probably in a week or two, you'll see that the results are going to be a little bit different. And also the interactions are going to be a little bit different too.

Okay, so it looks like we have a build error. So that's fascinating. Let's see if it's going to self-heal or not. So it says resolving package issue. Oh, it looks like it's using some code that needs a package there. But it does look like that it hit this problem. It's identified the problem. Uh, however, it kind of stopped right there. So this is probably in time in which I'm going to need to bump it, I guess. So let's go ahead and just tell it to try to build and run again. So funnily enough, uh, when I was doing this, I didn't actually read the output that it figured out what it needed to do. But because I'm in the same context here, I think it's going to go ahead and do it. So here it's considering what it should do. And yeah, once I add a NuGet package, the I almost skipped, which is funny, but I guess I got to trust it. But yeah, the mock venue service is looking good over here. And let's see if it builds up and compiles for us. It's a little bit of a bummer that it didn't automatically add that for us. It should have for sure. That is for sure. But now it's going to run the task. I do have a task. So, it's cool that it identified that. I would have liked for it to do it in the first run there, but here it is.

Okay, cool. All right, so that's looking good. That little outline that you see, the little accessibility feature that I have on on my Mac OS. Um, so that's not part of the website, just there. But, oh, this looks beautiful. Little grid going on here. We have um um some filtering and sorting going on. Beautiful. So, I type in Seattle or or Portland or in here. That's really cool. I can filter on these different uh little things. Has a little clear button. Nice little details. Little reviews going on here. Lovely. I love it. That looks really, really nice. Uh, it looks like it's still running cuz I saw the hot reload go. So, I don't know if it's doing stuff. Um, I am noticing though that it doesn't seem to have the top navigation. So, that does seem to be a bummer. So, let's go ahead and tell it uh to make sure that we have the top navigation, right? So, that would kind of be important across the board. And we noticed earlier I kind of went through the code of the the home.razor, but I noticed that the navigation was in there. So, it didn't break it out there. It does look like it's still thinking. My assumption is that it is just finalizing any output, but that app was working just fine. So, there we go. Okay, cool. Perfect. All right, let's go ahead and tell it to do the thing or let's actually Okay. Yeah, it's still not not there. Okay, cool. Just was verifying it didn't magically do something. So, let's go ahead and let it let it let it rip here as well. So again, it has the entire context of this chat, which is really nice. And now it's going to revamp. It looks like the layout. Oh, that sounds good to me. I like it. All right, cool. It's figuring it all out and using the navigation manager. Perfect. I like that. Before it was just using links, uh, just HTML links, I believe. So, we should see this as well. So, let's go ahead and stop the the output and we'll have to rebuild and let it go. Uh, though maybe it would hot reload. Not going to risk it.

All right. So, so far we have about uh 1,200 lines of code change in just this uh build here. Um, almost 1300 at this point. Um, so let's take a look at the output here. Not sure what the C# extension is doing. It's being upset for some reason, but yeah, looks like okay, now navigation includes home, venues, quick links. So let's go ahead and run the application one more time. Just going to open up the uh program.cs and just run it from there. That's kind of how I how I do it. Let's keep everything. That looks beautiful. And let's just make sure it builds and it runs. Okay, here we go. Fingers crossed that we get a nice navigation venues.

All right, there we go. That's much better. And I love the the light. Now we can see the dark theme everywhere because we have that toggle. We can see that nice uh subtle um opacity that it put in there, which is really nice. And it really nailed uh this this look and feel and the subtle gradients. Purple gradients, of course, you know, it's AI uh in there, but I did tell it pink gradient. So that's on me for telling it pink, but I really like the dark mode. I think these toggles look really, really nice.

So I always like to investigate the code a little bit and take a look at it. Code's important. So let's take a look at what we have here. So if we go directly into our service that we have, we have an interface. That's nice because we're going to have not null at some point. Our models using sealed records. Interesting. All right. I like that it's using records. That's cool. Some nice enums. I like that it broke it out into individual files. I didn't tell it to do that. And then we have our main layout. And then our details as well here in our Razor. So it's looking really good. I I think that this is very impressive work from GPT5.2.

All right, there we go. I am very, very pleased with the results of GPT5.2. Now this was a very blank application that I had to build out and had to do some reasoning over and even when I asked it to refactor, it was able to really nail that refactoring. I think the thing that is really a highlight of the results here is when I added those venues and venue details and the amount of effort and work and planning that it put into not just the models using modern C# syntax, but also how it broke down the different components and pages and updated all the CSS and JavaScript along the way.

All right, have you given GBT 5.2 a try? Let me know in the comments below what type of results you're seeing and if you use other models too. I've been really exploring some of the Codex and the Codex Max as well and playing around with some of the other models. So, hope that you've really uh explored these models. I definitely try them. I love now spinning up different background agents as well in VS Code and letting it rip with different agents and work trees and seeing how it performs. So, let me know how it's been going in the comments below. Until next one, happy coding.

[music] >> [music]