The Best AI Coding Tools to Use in 2025 | Colin Matthews

Colin Matthews and Khaled compare eight AI coding tools for 2025: Bolt, V0, Lovable, Replit, Cursor, Windsurf, Firebase Studio, and Magic Patterns. They test each across different tasks like converting designs to prototypes, building games, and professional engineering work to see which handles what best.
It's kind of funny like as time has gone on, the tools have seemingly converged in their functionality. So, you know, at one point in time, like, you know, only one of them had a Figma import or only one of them had a Supabase integration, but now they all can really support all the same features.
And so this is funny because Google has the best coding model right now, but I guess their tool is underwhelming.
One thing you'll probably notice is that all V0 applications kind of look similar or the same. And it's kind of not that hard to tell when an application was built with V0. This is Firebase Studio, so there's nothing I can't move. There's a, there's a red box over here. This is it, this is the whole thing. So yeah, there's, I can't do anything. Applet has like this kind of intro screen. It has a mute and unmute button. I couldn't figure out if there's actually any audio playing, to be honest. I couldn't get it to work. But theoretically I guess it's there. Controls and so on. And then we have like this, this thing here. So this to me was actually incredibly impressive.
As of April 2025 was the current best tool for text to prototype. Okay, welcome everyone. My guest today is Colin Matthews. Colin is a friend of mine who has taught over a thousand students on how to prototype apps with AI. And in this interview we're going to Discuss the best AI coding tools that you should use in 2025 by use case, from simple front end prototypes to full production apps. So welcome Khaled.
Yeah, I would be here. It's my second time and I'm sure it'll be a good one.
Okay, so let's make this like super practical, man. So I thought about just trying to get us to pick the best tool overall, but it's kind of hard. It really depends on the use case.
Right.
Like we talk about. So I came up with like five different use cases. So it's like simple text to like front end prototype using a Figma design, convert to a prototype, building a JavaScript game, building a full stack. So like front end, back end, personal app and then 900 of us are professional engineers, but professional engineering. And I think you actually went through the effort to actually pull up demos for each of these use cases.
Yeah.
So why don't we talk about them one by one. So I'm going to stop sharing and then maybe you can share to show your demos.
Sure, that sounds great. Yeah. So we're going to start with the text to prototype, right? Yeah. Cool. So for the text of prototype one, you can see that we have a couple different examples. It's all going to be the same prompt. So you can see at the top here I have clone LinkedIn. We're going to use the same prompt for all of them. And this is all like the first shot, meaning I didn't change anything, I didn't iterate over time. I just kind of let the tool do its thing. Usually, obviously if you're prototyping something, you might put in more than one prompt. And then, yeah, we have bolt, v0, lovable and replit for this first set. And then we kind of have different tools as we go through the different uses cases. So.
So this one is Bolt, right?
Yeah, yeah, yeah, that's right. This is Bolt. And yeah, we'll just kind of iterate through these real quick. So honestly, this one's a little bit hard to judge. I'll just flip through them first and we can talk about which one's best afterwards. So this is bolt, this is V0, this is lovable. And then this one is Replit. And obviously a little bit hard to tell which one is best. They all implemented something that looks like LinkedIn. Right? There is one kind of big difference here with Replit being again, it did both the client and the server side, and so it actually produced more code. That could be a good thing or a bad thing, because if you want just the ui, having more code actually means you have more code to maintain. Even in the prototype, you have to make sure that all the changes work. So for just visual prototyping, I usually don't use Replit just for that purpose, but for the rest of them, they bold, V0 and lovable. This is just client side code, visual prototypes. That's it. Got it.
Yeah, it looks like the design is pretty similar with each other. Yeah, it looks like they all look pretty similar. I mean, so. So reppla actually has a database or.
Yeah, yeah. If we take a look at the code here, you can see that we have like the client side code. So that's what we're seeing in the ui. And then we also have some server side code, so we have API routes. We could theoretically make updates or make changes. And then right now I didn't actually add a database to this project, but you know, adding a database is as simple as clicking the database button, adding a database, and then you're good to go. So, yeah, it has way more complexity than the other ones here.
Okay. And I do Notice that for V0, they had a slightly different design, I guess.
Yeah, yeah, that's a great call out. So V0, as we kind of mentioned, has a lot of defaults when it comes to styling. So they're going to use Shads and ui, which is a UI library. They're always going to use Next js, which is kind of like a development framework. And so one thing you'll probably notice is that all V0 applications kind of look similar or the same, and it's kind of not that hard to tell when an application was built with V0. I think that's less true for the other ones, like both Lovable and Replit. They don't have such distinct styling all the time. And again, that could be a good thing or a bad thing. If you like this look, then it's great because it's gonna be consistent. If you don't like it, then obviously it can be a little bit troublesome to kind of get something that looks more custom.
Yeah, personally, like, you know, after prototyping a couple times, I'm. I'm kind of tired of the chassis and UI thing. Like, I. I wish there was an option to pick different ones.
Yeah, yeah, agreed. Yeah. Usually in Bolt. So I use Bolt relatively frequently and I'll have it just create components for me from scratch and it'll still implement some like, base UI libraries sometimes for like the buttons and stuff like that. But I find it easier to kind of like do custom stuff within Bolt. You know, they actually do support not just Next js. Like if you want to use different libraries or systems, you can do all that within Bolt. So it's a little bit more customizable.
And let's take a look at Lovable. Like, one thing I learned about Lovable, I mean, this looks. I just think Bolt's UI looks a little bit better than this. Right. For this use case.
Yeah.
But another thing about Lovable is I realized that you can't actually change the code directly. You have to hook up to GitHub or something.
Yeah, that's right. Yeah. So they have this kind of code preview here and you can see at the top it says read only if you want to update the code. Set up sync with GitHub. I believe they recently shipped the feature for maybe it's in beta or something like that, where they are trying to make it so you can edit it. But yeah, I would agree that there are actually lots of times where looking.
At the code candidly, this kind of Sucks, right? If I want to change some string or something, I have to click it up.
Yeah, exactly. Like if we just go to like, I don't know, the index page or let me see if I can find something here. Like if I want to change this text here, you know, grow an exchange with your network, I can't, I literally can't change it right now, which is really annoying. Right. And you can kind of prompt your way through that. They do have the visual selector, right? So you can click edit and kind of go through that whole process. But I think you'll find. Yeah, go ahead.
What is that? That is actually pretty unique to lovable, right? That edit button. This episode is brought to you by Vanta. Whether you're a startup founder navigating your first audit, or a seasoned security professional scaling your GRC program, proving your commitment to security has never been more critical or more complex. That's where Vanta comes in. Businesses use Vanta to build trust by automating compliance for in demand frameworks like SoC2, ISO 2701, HIPAA and more. And with automation AI throughout the platform, you can proactively manage vendor risk and complete security questionnaires up to five times faster. Getting valuable time back. Vanta not only saves you time, it also saves you Money. A new IDC white paper found that Vanta customers achieve $535,000 per year in benefits and the platform pays for itself in just three months. Go to vanta.competer to meet with the Vanta expert about your business needs. That's vanta.com Peter. Yeah, it's like a visual editor thing.
Yeah, so exactly. We can kind of click. Let's say it's like John Doe here. We can just change the text here to myself like so that's pretty unique, that type of editing. But in terms of like the UI selection, they actually now again, I kind of mentioned this. They all converge, they all have this little selector guy now. So if I refresh this one here, we should be able to use the Inspector to select UI elements like this. We just can't change the text we get. It's a prompt based on it.
Okay, but you can probably tell AI to change it for you or something.
Yeah, exactly. Like, like so. Right. So slightly different. But honestly like for most use cases, it's pretty much the same thing.
Got it. Okay, so what's the very verdict, man? What's the current as of April 2025, what's the current best tool for text to prototype?
Yeah, personally I still think it's Bolt. I think Bolt gives you the most flexibility. I think Bolt kind of has some good defaults. And then when you kind of want to go off in your own direction, Bolt doesn't really stop you from doing that.
Yeah, I think so. I also think the speed actually really matters when prototyping. Right. Because you want to get the image fast and show it and make iterations fast. So speed is probably one of the most important things when it comes to prototyping for me.
Yeah, for sure. Especially because you type something in and then it does it not quite how you thought and then you have to go backwards or change it or something. If you have to wait like 30 seconds between or a minute between every single prompt, it's not a great experience.
Got it. Okay, so now let's talk about Figma to prototype.
Sure.
I mean, figma should build this stuff themselves, but in the meantime, let's talk about which tool is the best.
Yeah, for sure. I think there's a figma conf coming up soon, right? In a month or so. So it'll be interesting to see if they release something for this. But yeah, this is my Figma mock here. This is actually a public template that I just grabbed off the Figma marketplace. So if anyone else is interested in kind of replicating this, you can find the same thing if you'd like. But it's pretty straightforward. Right. It's literally just a table, some left nav search bar, nothing too complicated. And so, yeah, up at the top here we have a couple different tools. So I did both Figma imports as well as screenshots just to show the differences. So we have Bolt V0 and lovable for the Figma imports. And again, most tools at this point support Figma imports. At a certain point in time it was only some of them, but now they're pretty consistent that they all support that.
Yep.
Cool. So we'll start with Bolt. Here is our Bolt copy and it's close. Ish. There's some things that aren't quite right. Like, you know, like this little padding or shadow effect here is kind of strange. There's like no padding here on employees. Like it's obviously not responsive, Right. Because you can see it going off to the far right hand side. So it's not responsive. We also have like these little Apple indicators inside the mock, which is part of the design. So like, I guess that makes sense, but it's also somewhat strange. And yeah, like as you scroll down, you can see like the left nav doesn't extend to the bottom of the page and we have all this bottom padding here for some reason. Got it. It's okay. I don't know. What do you think?
I mean, let's look at the other ones. Let's look at VVL.
Yeah. So V0 actually works a little bit differently. And this is one interesting thing about Figma Imports is Bolt and Lovable Both partnered with third party companies. V0 does it themselves, but as far as I can tell they do it based on a screenshot and so they all work differently. So this is the V01. I would say like this is the best UI, but also doesn't really look anything like the mock.
Yeah, it's like chassis.
Yeah, exactly. So it's like V05 almost. Right? Like, yeah, it's all functional, it's responsive. We have all the UI elements making sense, but it's really not anywhere close to what we started with.
Got it. Yeah.
And then last one is Lovable. Lovable seem to struggle with this one a little bit. So you can see we have some weird left nav stuff going on here. We only have one record in our table and then some of the other stuff seemed okay up the top here. But yeah, honestly not. Not fantastic either.
Interesting. Yeah. So yeah, I mean looking at all three of these things, I probably have to go with Bolt again. I mean, yeah, I think the closest to the design.
Yeah, I would agree. Yeah. The only thing with the Bolt one that I will add is, and again this is a bit more technical, but the code itself is a little bit strange. So you can see they actually have like a screen section and then they have sections within the mockup wrap. All of this content is actually mimicking the structure of the Figma file as.
You can see the layers.
Yeah, yeah, yeah, exactly. So it's a little bit strange because usually what you want to have for any type of like front end code is you want to break it up into reusable components. Right. So like we'd want the left Nav to be its own thing, the search bar, the table, all that good stuff. And that doesn't always happen when you have the Figma import process. So that's just a heads up that sometimes you can get a easy first step with the import, but then continuing down the path of extending it can still be tricky.
And also most Figma files that I've seen don't have clear labels for the layers. It's just like 1, 2, 3 or some random string. So I'm not sure how much it can Take that to make the actual files.
Yeah, so definitely something to pay attention to.
Okay.
Yeah.
So let's look at the screenshots now.
Yeah, yeah, exactly. So this is actually like a somewhat viable approach. Obviously, again, it doesn't really look that much like the mock, but if you think about just took a screenshot of something, threw it in, and you want to test an idea, it's not awful. So this is the Bolt one, and then here's the Lovable one. I actually think the level came out way better from this screenshot than it did from the Figma mock.
Yeah, it's a lot better.
Yeah. Which is kind of interesting. Obviously, from this, I would say, like, lovable has Bolt beat on the screenshot here, but yeah, it's worth trying both approaches. Just try with a screenshot and see how it goes. And then the last one I have here is this other tool we actually haven't talked about so far with Magic Patterns. This is a startup that I've been helping a little bit, and you can see they did a pretty decent job based on the screenshot as well. So, yeah, there's lots of other tools also available for this.
Yeah, well, why don't we talk about this tool a little bit? Because you must be crazy to enter this market right now. I think Magic Patterns has some unique features, right?
Yeah, yeah, exactly. So one of the interesting things actually about this space and why I started doing a little bit of, like, advisory work is because all the tools are converging on, like, the same thing, but I didn't really feel like any of them served product teams that well. I feel like we're kind of like trying to get it to work for our use case, if that makes sense, rather than the tool being built for us. And so there's a couple of, like, features that they've shipped recently that I thought helped with that problem. So, like, one example of that is, yeah, they have like a feedback collection UI now, so you can configure questions. And if I just like, pop this up in a new link here, we should be able to see that. So we see like, you know, you can configure kind of like regular product feedback, ask questions. Right. Ratings or whatever you think you want there. And then also another one, which is kind of odd to me is you can require a password on the link, which seems like it should be the default for all of them, but it's not. So what that means is when you publish with Bolt or lovable or v0 to a public URL, it's a public URL. Right. People can just access that link. So yeah, they built in this kind of more secure password protect feature here where you can do that.
That's a no brainer. Right? Because a lot of times I'm prototyping something that I haven't launched yet.
Yeah, agreed. I think it's honestly very strange, especially as it's. I mean like I helped them kind of with this feature and it took them like a week to ship it. Yeah. So it's very strange to me that no one else has done this so far. And then yeah, they have some other kind of interesting things. Like probably one of the more interesting ones is the ability to put this on a canvas and then put different chats side by side. So this from like an organizational perspective is actually pretty useful because you can see like I've imported this design here and then if I want to test a different version of it, I can just fork it, get the copy and then hop into this one and have like, you know, the kind of the side by side view here of like this is my new one here. I can just pop into it.
Oh really? Oh, like it just copies the code too.
Yeah, exactly. It copies the code. Gets you like that side by side view. Right. So if you want to have more than one different iteration of the same idea, you can just put them side by side. And this is actually something I don't know about you, but I've struggled with is like my bulk chat history is insane because I just have like a million different chats. So keeping organized can be a bit of a struggle.
That's actually really smart, man. Because when I use both of these tools I always want to make a few variations and I guess maybe I'm too dumb too. Is there a way to. Because I always have to revert to checkpoint or something to get the previous variation, which is a pain in the ass.
Yeah, I mean the tools do support a similar workflow of creating a fork. So if I hop into here, I mean, I'll show you how it works in Bolt. It's super complex. Well, maybe I'll do v0 because it's easier. So in v0 if you click this little fork button here, you get a copy. Right.
Okay.
The problem is though that now I have these two copies in my chat history and that's kind of it in terms of how it's organized. And so that's, I think, where there's some value in this type of approach here.
Yeah, you want to see this stuff like on the same Screen.
Right.
So you can.
Yeah, yeah, yeah, exactly.
All right, cool. So let's go back. So let's go back to our Figma to prototype verdict. Which one is the best? Or maybe Magic Patterns is the best since you're PMing it.
Yeah. So I think for the Figma import, I think Bolt still has it. Honestly, it's still not perfect, but I think it's the closest. And then I think for the screenshot reproduction, I mean, out of the set, maybe lovable, honestly, in terms of the closest to the ui, but I think Magic Patterns did an all right job as well.
Okay, got it. Yeah. It's kind of funny because I remember Lovable Marketing a lot about their Figma import, but it's kind of funny that the screenshot actually works better.
Yeah.
For this use case at least.
Yeah. One funny thing I've noticed actually about the marketing side of this is these teams ship extremely quickly, but there's a ton of edge cases that I feel like don't get handled. And so the feature is out there in the world, but it's not necessarily super great. And so I think, like, a good example of this actually is Bolt with the mobile apps. I don't know if you ever tried to build a mobile app with Bolt, but in my experience I've tried it and more often than not, like maybe 50% of the time it falls apart on me and I'm more technical than probably the average person. So, yeah, that one's a little bit tricky.
Yeah. For mobile I probably should use Replay or something.
Yeah, agree.
But yeah. Okay, let's move on to the next use case, which is a JavaScript game. I think you actually had a really awesome use case for this one.
Yeah. So I tried to do a 2D Zelda game, which is a little ambitious, especially from a single prompt. As I mentioned, the only thing that I tried to fix was if there was an error. Right. That was it. But otherwise I kind of just left it as it is. I actually got two functional games, which was surprising to me. The tools that we used here were Firebase Studio, we talked about a little bit previously. And this is one you see on the screen here. And then I also use Replit and then finally Windsurf and Cursor.
Let's show Firebase Studio first.
Yeah, this is Firebase Studio. So there's nothing I can't move. There's a red box over here. This is it. This is the whole thing. I can't do anything. And as I said, like, I really wanted to try to make this fair. So I didn't try to fix anything. I just let it do its thing. I use the exact same prompt for all of them. So this. This was the result for Firebase Studio. Yeah, not. Not great.
So you need some improvements.
Yeah, they do have one kind of like, weird kind of cool feature though. So if you click on this button here, it opens it up in excalidraw, the. The UI and you can draw on top of it and then use that as a prompt to go back in. It's a super cool idea, but also like, I'd prefer that, you know, the regular prompting works before they. They add stuff like this.
Yeah, this looks like a Bells and Wei.
Yeah. Yeah, exactly. Yeah. So pretty neat. But for now, yeah, we'd rather just have regular, you know, prompting work.
Got it.
Yeah. Cool. From there we have Windsurf. So with Windsurf, I actually used the 4.1 model, the new model from OpenAI. And so this is our again, single shot. It came out okay. Like, I. I can attack. That's what I'm hitting space here. But I can't move. Also, the enemies don't move. There's a tile set, though, that's kind of cool. And yeah, I mean, it's. I could probably clean this up if I needed to, but again, I. I wanted to. To leave it for the sake of fairness.
Okay.
And then next up we have Cursor. So I used Sonnet for this one. And I'll just refresh the page here so you can see that I have the ability to move. I have like this kind of pixelated tile set background. There is collision. Right. So I can't like move through. Well, except for that I shouldn't be able to move through objects. And it also randomizes the tile set, which is kind of neat. You can see here, right? Yeah.
And there's like enemies.
And there's enemies and there's an attack and a health bar for me. And for them I can't die, but you can see my health bar kind of going down there at the top. So, yeah, I mean, it came out kind of reasonable, to be honest, for a single prompt.
And just to make sure your prompt is just like make two dzall, then that was it.
Yep. I didn't do anything else.
Okay.
Yep.
Okay.
And then last but not least, for sure. So we have Replit. Replit has like this kind of intro screen. It has a mute and unmute button. I couldn't figure out if there's actually any audio playing, to be honest. I Couldn't get it to work. But theoretically, I guess it's there. Controls and so on. And then we have this thing here. So this, to me was actually incredibly impressive.
Yeah, this is very impressive.
Yeah. So we have this enemy, for some reason is locked in this kind of prison here, but we can go in and get them. And then we have again, collision with some objects here. We have a tile set that is not randomized and then the panning and all this stuff. So, like I said, I was very pleasantly surprised with the result of this one. Yeah, this is.
This is very impressive, man. It also shows you where you're pointing.
And then.
And then. And then you can attack.
Yep. Directional attacks. Yep.
Okay.
Wow. Yeah. Yeah. So, yeah, I think.
Yeah.
Good.
How long did it take for it to make this thing?
Yeah, I think it was about 10 minutes or so. Seven to 10 minutes, something like that. So not. Not terrible. That's. I guess one difference with replit, especially with the newer agent, is that each prompt will take like seven to 10 minutes, potentially in terms of the iteration. So it's not a quick experience, but it can do a ton of work in one request.
I have to give credit to replit Asian. I think it got a lot better. It includes some of the best practices. It asks you for clarification. It takes screenshots. It's a lot better than before.
Yeah. I think right now Repl Dot's the only product that I would really consider to be a real agent. Obviously Cursor and the other ones have an agent mode, but really the only agentic thing they're doing is deciding on what context to send and then potentially giving you commands to run. But mostly they're just editing files, writing code, editing files. Replit will do literally everything. It'll create a plan for you, it'll host it for you. It'll set up a database for you. You can do anything, really, through the agent. So, yeah, it's pretty cool. Yeah.
This is awesome. I mean, like, cursive agent is just like, you know, yoholo, just like do just like make all the changes to everything.
Yeah, yeah, exactly. Yeah. So they do also still have the assistant mode. They kind of hidden it. They used to have it more visible in the ui, but you can see now they've added this, a warning that it works best for users who are comfortable with, you know, basically more technical ideas. The assistant is very similar to the other tools. So it's like very small iterations where the agent is going to be like those massive iterations, like building this whole game based on one prompt.
So this is actually kind of funny here. So, because I know all the people on Twitter are like, vibe coding, using basically cursor and maybe Windsurf. I don't hear a lot of people building games with Replit, but based on this example, Replit is actually the best.
Yeah, I think Replit is definitely up there. Also, the ability to host very easily is great too, because I can just hit deploy and it's on the Internet versus, like, with cursor, you're going to sync it to GitHub and then figure out your hosting with like, Netlify or something else. Like, it's. There's a much higher barrier, I think, for average people to use cursor than there is to use Replit.
Yeah, and also like, like, sometimes, like the local and the remote can get out of sync. Like, for this one, you just have to, like, just have one thing, right?
Yep. Yeah, yeah, exactly.
Okay. All right, so let's get the word. This is kind of a controversial pick, but let's get the word to Replit for building a game.
Yep, I agree.
Okay. And then you also have a personal app example, right?
Yeah, exactly. So again, we used a couple. Again, we used a couple different tools here. So I used, you know, Firebase Studio, Replit, and then Curse and Windsurf once again. So actually, maybe we'll start with Firebase Studio just for fun. So here's what we got. I don't know what's going on over here, but we got the word goals.
So hang on, what was your prompt to get?
Yeah, so I actually gave it like a more comprehensive prompt. Yeah, so I gave it user stories, I gave it the data model, and I gave it some mock data as well as the kind of technology stack and so on. So. And the components that I wanted, like what, what the UI elements would be. So I gave it more of like a proper starting point. But yeah, we just. We just got goals.
Okay, well, I. I guess the goal is to make this work. I mean, yeah, if you're a Google PM watching this, then yeah, best of luck to you.
Yeah, I don't really know. And also, like, it's very strange to me that they have this button here, like, edit the code. I feel like the average user doesn't want to click this button and hop into a different environment that's independent of the prompting environment, where now I'm in a code editor. This is the IDX product I was mentioning earlier. Okay. It's just strange, right? You have to switch back and forth in between them with this button.
I mean, that logo looks like a poo. Man. I don't know what's going on.
Yeah, it's just all very strange. So anyway, yeah, I don't think Fiber Studio is going to win this one. Okay, here's Replit. So again, same specific replit. Again, it does a great job to be honest, with like these types of tasks. So we have, by the way, the context for this was it was like a task tracking app, but more focused on tracking your input rather than the output. So it's not goal focused, it's more like, are you doing the things you're supposed to do? And so we have like a calendar view. We have, you know, it tracks the. When we've completed tasks. We have the different categories. I can log that I completed this. So I can say, I don't know, whatever I want. Log that in there. Yep. Recent activity, create new categories and then like navigation as well for all these different things, the stats like this is. This is almost a complete application, to be honest. There's very little. Like you could probably ship this as it is. So, yeah, super impressive.
Wow. Okay.
Yeah. And then here, I think this one was Cursor. No, this one was Windserve. Sorry. Because they're both local hosts. I gotta remember which one was. This one was Windser. So again, same prompt. We have some navbar stuff at the top, but it doesn't actually work. And then there's actually nowhere to enter anything. It just has some locked data but nothing to really do. Here again, this is with GPT 4.1, same prompt. And there were actually a couple of errors that I had to kind of iterate through in order to get to this point from that initial prompt.
Yeah, this one's weird, man. What's this?
Brush practice.
What does that mean?
Yeah, so it tried to be clever or something. So brain is. Is like thinking work, brush is creative work and book is learning. I don't know, like brush your teeth. I don't know about this one. And then, yeah, the last one was. Was cursor here. So honestly, like pretty decent overall. We can log stuff. The UX or UI here is a little bit strange, right? Like the. Just the contrast on the page, but that's a pretty simple fix. And yeah, we can log that there. We have the filtering for the categories. And again, this is kind of reasonable. There's not much else going on here. It's not a crazy complicated application, but it works. So that's it.
The UI looks a lot Better than Windsurf?
Yeah, yeah, for sure.
Okay.
Yeah, yeah. Again, this has to do with the model as well. So it's a combination of probably like Windsurf as Well as Sonnet 3.7 versus GPT 4.1. So this one was 3.7 Sonnet and then this one was GPT 4.1.
Oh, interesting. Because people are on Twitter are saying like 4.1 is better now than Sonnet, but I guess not, not quite on this example.
I think, I think it's hard to say like definitively what's. What's best. A lot of it is personal preference as well. Right. But 4.1 from what I've seen so far can do a better job of like some of the agentic stuff like tool calling or can be like, you can give it negative prompts like don't do this thing. And it actually doesn't do it rather than doing it because you've mentioned it. So there's some new capabilities I think that they've kind of built upon that are useful for developers. But I don't know in terms of like one shot applications, if 4.1 is going to be the best.
Yeah. You shouldn't expect to one shot stuff in Cursor or Windsurf. It's not designed to one shot.
Yeah, exactly. Yeah. In general, I guess that's another thing is like all these examples are all one shot, but usually what you end up doing is spending a fair amount of time iterating. Right. Yeah. So this is a good kind of starting place. If you're trying to figure out what tool you want to use to get that first result, that looks great. But beyond that you might have different experiences with that iteration.
Okay. But I think I like, I mean, I feel like we have to get the award to replicate again just based on this example.
Yeah, I think so. Honestly like Replit did definitely put together like the most complex application that navigation works.
Yeah.
You know, like it has the stats page. Again, this is almost a functional app. Right.
And it has a database. It's saving this stuff.
Yep. Yeah, it has. You know, once again we have a client and a server and then we have our database schema here. I didn't actually host the database, but again it's a single click to set it up.
That's really impressive because it's actually. I don't know about you, but like it's very hard for me to get like a database and a server working in cursor. It's just like a pain in the ass.
Yeah, yeah. Agreed. Yeah, I think again, like, Replit has found themselves in this position where, like, they're almost the best at the middle, which is building functional applications that are small in scope. Right? Not. Not like production professional engineering with an existing code base. It's kind of this middle section. I just think, honestly, the demand for the middle section isn't as large as the demand for the other two sides. I think prototyping has a lot of demand and I think, you know, like, helping engineers has a lot of demand and then Replit, I think is great for like, hobbyists, people building their own apps.
Yeah, that's a good point. I mean, I guess it's pretty good at prototyping too, but it's just like slower, much slower than Bolt because it has to build everything else.
Yeah, yeah, exactly. If you're waiting like 10 minutes per request for prototyping, like, you're just going to give up. Right?
Okay, so. Okay, cool. So now let's go back to my slides. So maybe let me share.
Sure. Sorry, I gotta find it again.
All right, there you go. Let me share my. Okay. Okay, so now let's actually pick the favorites. Hopefully we share the same favorites, but I think from your examples is pretty obvious. So I think for. For text prototypes, probably both, right?
Yeah, agreed.
Okay. Both. Figment prototype based on our example is probably Both too.
Yep.
JavaScript games, probably Replit. Oh, shit.
Yep, Agreed.
This is Full stack. Personal app is probably Replit too.
Yep.
Okay. And we didn't talk about professional engineering, but I'm assuming it's either Cursor or Windserve. I guess I'm not really qualified to pick one.
Yeah, I don't know if either of us are, to be honest. I think maybe we could do it based on this. Cursor is by far the most popular by a large margin. And I do think that they have some advantages just in the UX of using the tool as compared to Windserve. Otherwise, as I've said, they mostly converge in terms of how they work.
Yeah, I think it's pretty, pretty neck and neck here, but I think something big is happening with Windhamism, Right? There's like, rumors that OpenAI will acquire them.
Yeah, yeah, for sure. I do think it kind of makes sense because one of the primary use cases that have come out of LLMs is code generation. I mean, that's what we're all talking about, right? Whether it's prototyping or engineering or your own game or whatever, it's all codegen. And so for them not to Have a distribution channel directly. Seems kind of strange, to be honest. And so, yeah, I think it makes a ton of sense for them to do that. And I don't think the terminal thing is going to be the winner.
Yeah. Okay, so this is like. So we can tweet this out later, but this is kind of our current consensus, and that's. Now let's talk about where this space is going. Right. This space is, like, super hot, man. I thought AI models are super competitive, but this space is even more competitive than AI models.
Yeah, yeah, agreed. Yeah, it's really interesting because, I mean, we talked about one of the kind of smaller players here that I'm working with, Magic Patterns, but there's actually probably like 30 other ones. So for every one of these big ones we've talked about, there's a bunch of other ones that are kind of trying to do the same thing. And I think the core problem is we went from category creation, which is all of a sudden you can use AI for coding, to where we are now, where it's saturated in, what, five months, six months? You can't even tell the difference between the tools anymore. And so I think the next stage here is actually just going to be that differentiation step. Right. How is V0 different from lovable, different from Bolt? And they're going to have to come up with some identity that they're targeting or Persona of who is the person who's going to use this tool. Because so far it's all been feature based. It's like, come here to generate code. Right. But now they can all do that.
So.
Curious what you think, though.
Yeah, I think a couple things. So I think your Magic Patterns demo is actually very good, because I feel like a lot of these main players are not thinking about the whole user journey. They're just thinking about generating code.
Right.
But, like, Magic Patterns, maybe because of your advice, they're actually thinking about, like, okay, if I'm going to do a prototyping tool, how do I get users to play with it? How do the passive protection? Like the thing about the whole. Whole, Whole thing.
Yeah, agreed. Yeah. Yeah. I think. I mean, it's actually funny. I started down the path of building my own, which we could talk about some other time, because I was trying to figure out how to do this all by myself. It's not as easy as it seems. And then I kind of came to the realization, I was like, I'm probably not going to compete in this space by myself. So I had reached out to them and thought if I Could kind of help someone build like the best PM tool, then I'd get what I wanted, which is the best PM tool. So that's kind of the journey we're on right now.
And so I do think like the, I do think the prototyping thing is very different from the professional development use case. So I think there probably will be like one or two winners in the prototyping space. And I think it could be one of the players we talked about or it could be like an established company, like a Figma or maybe Adobe or something coming.
I think one of the things we all kind of underestimate is just how much enterprises value working with vendors they've already vetted. Yeah, right. Like if, if you already bought Figma, even if Figma comes out with a worse product a year later, most enterprises are just going to pick figma. Yeah, right.
I totally agree.
Yeah, yeah, it's really hard on. Or Microsoft, Microsoft's a classic example of this. Right. Like Microsoft Teams, if you look at like the daily active users or weekly active users for teams versus slack. Right. Like teams blow slack out of the water. Even though a lot of people think teams is a worse product, it came out way later, but somehow it still has like way more market, market share because everyone already works with Microsoft, right? So.
And they just like bundle with all their other products, so.
Yeah, exactly. So I mean, it's kind of funny, but at the end of the day it turns out distribution is the thing that matters. Once, once like the AI stuff kind of gets commoditized, right?
Which, yeah, distribution and all the enterprise requirements. And like, do we agree that prototype is very much. And like, at least the money I feel like is in the enterprise side, you know, like consumers prototyping, maybe they'll do it like startups, but like probably mostly on the enterprise side.
Yeah, I mean, basically I think the ideal place to be is where Figma is. Right? So if you, if you had the Figma for prototyping, most of their money comes from enterprises. Like they have a free tier for, you know, I don't pay figma, I use Figma's product. So yeah, I think by far, like that's, that's the place to be. It's just kind of hard right now. And also there's this other kind of looming threat which is what happens when OpenAI ships their own version of prototype. Like, you know, OpenAI is almost like the Apple in this space of like they could just eat your use case at some point and ship their own thing based on what's popular.
Yeah, I mean, given how popular. So that's probably like trend number two, right? Like given how much money is going to this Cogen stuff, I feel like OpenAI and Cloud and you know, obviously Google are going to try to build their own thing or like acquire.
Yeah, yeah, agreed. Yeah, yeah, yeah. And then it'll be kind of a very similar layout or landscape to many other products that we have nowadays. Right. Like there's going to be the big players that are kind of established that most people use and then there'll be some specialized tools or use cases that smaller companies kind of take over.
But like on the professional development side, like there probably is going to be a winner. Right. Whether it's Cursor or Win serve or maybe, you know, OpenAI or something.
Yeah.
I don't know what IDs most developers use that are not AI. I guess they use just regular VS code.
Yeah. So like Visual Studio. Visual studio code or JetBrains is a company that just makes IDEs. They have a bunch of popular different IDEs depending on the language you're programming in. But yeah, yeah, I think honestly Cursor is far enough ahead that it's going to be hard for anyone to catch them.
It's going to be interesting though if like OpenAI buys windsurf. Right? I guess if they buy Windsurf. It's kind of weird if Windsurf offers like you can use Claude or some other model. Yeah, it's kind of weird.
Yeah, yeah, they'll probably, I mean, I would guess they'll probably take it away eventually, right? Yeah, after like a year or something like that. But yeah.
And like it's kind of like, it's kind of crazy how, how badly GitHub Copilot dropped the ball here. Because they used to be the most popular, right?
Yeah.
Basically just took over.
Yeah. Honestly, it all started with the diffs. So like the view in. In. In Cursor where you can actually see the, the files that's changing. Yeah. In real time, like the minus and plus. Because at the time GitHub Copilot was just doing like more tab based changes. So like you'd be writing and it would recommend something.
Oh, okay. Like in. In the code itself.
Yeah, in the code itself. But in Cursor kind of, I guess popularized the idea of having a chat in an IDE and then you type in something and it shows you what's going to change. And then from there we've gotten like more of the agentic stuff. Right. Where it's like figuring out what to change, running command terminals or terminal commands and all that stuff.
Yeah, Like, I almost never use the tab tab thing because I don't know how to write code. Yeah, yeah. So I always use the chat.
Yeah, I think engineers, I think, are more on the other side, to be honest. Uh, cause the chat is pretty dangerous. Like, it's like, here's 2,500 lines of new code, figure out what happened and do you want it or not? And it can take you just as long to go through that as it is to just do it yourself. Uh, so, you know.
Yeah, yeah, that makes sense. That makes sense. Yeah. So there's very clearly, like, there's like the, you know, not very technical people and then there's the actual engineers, like two very different use cases and products.
Yeah, exactly. Yeah. It's actually somewhat interesting to me that cursor became popular for non engineers. To me, it almost shows you the amount of pain people are willing to go through for the value. And there's a huge market there for non technical people in terms of just building a better product than an ide. Because one other point in time is anyone's been like, I'm going to launch an IDE to do my job or to do a task I'm not usually doing. People are usually scared of ides. Right?
Well, I mean, yeah, because PMs have an inferiority complex, man. We've been trying to learn how to code for a long time and never made me. You know, finally we can actually start building random crappy apps.
Yeah. And, and basically just like, oh, yeah, this is what it's like, right? Like I, I can chip stuff. Yeah. That's probably a topic for another day, but I've gone back and forth on the idea of like, can regular people build production apps with these tools? And like, if you go on, on X or Twitter, like, the answer is like, well, obviously yes. And you'd be dumb to, to, to not think so, but in my experience, like, I, you know, I've literally had hundreds of people go through my course, so like, start from zero and try to learn these tools as well as myself as someone who's more technical. And I think the answer is like pretty definitively no right now because as soon as you get beyond like the bare minimum level of complexity, the AI starts to fall apart and you really need to know what to do like yourself. And so basically, unless you've done it before without AI or you've at least gone through the experience of learning how to ship applications it's very hard to know how to fix stuff or what to do next.
Yeah, I guess you can. For non technical people. You can build prototypes. You can build very simple personal apps like the replay example we showed. But yeah, to actually build a proper app is very difficult. My engineering friends, they're using cursor to vibe code too. And if I'd be honest, their apps are way better than mine.
Yeah.
Because they actually know what you're talking about.
Yeah. It turns out all that technical knowledge is useful. Right?
Which is useful.
Yeah, yeah, yeah. A lot of it actually comes down to just prompting as well, which is like, you know, one good example is if you want to have more than one page. Like you have a nav bar. Right. With more than one page. If you just say to the. To the thing like set up routing or add routing. Routing is the keyword that is a technical word that refers to the ability to switch between, like navigation views.
That's right, that's right. Yeah.
Yeah, Right. But most people don't know that. And so if you're saying like, I want to have more pages that may or may not mean routing, depending on how the AI interprets what you're saying. When you say routing, it has a very distinct meaning that the AI understands.
Yeah, you need to understand all these. Maybe you need to have a separate window open with AI to translate your random requests into technical terms.
Yeah.
And then. Yeah, that's a really good point. Okay, so trdr, I don't think proper engineering is going to get this disrupted anytime soon.
Yeah, agreed. Yeah. Yep.
Cool. Well, so Colin, where can people find you? This is an awesome discussion. Where can people find your course or start learning this stuff?
Yeah, so on substack, I have a bunch of content on there, so you can check that out if you want to kind of get started. And then as mentioned, to teach a course on this topic. So actually both technical foundations, because I still believe that's important. So I teach that as well as AI prototyping over on Maven. So those are live cohort based courses about every month or so.
Okay, cool. All right, man. Well, it's always good to r with you, man.
Like for sure.
It's always fun. So let's keep in touch and hopefully people learn from this video.
Yeah, awesome. Thanks, Peter.
More from Peter

Dropbox VP's Best AI Workflows to Help You Take Back Time at Work | Morgan Brown

Canva Co-Founder: The AI Playbook Behind the World's Most Popular Design Tool | Cameron Adams

How OpenAI's Head of Business Products Uses ChatGPT to Save Time at Work | Nate Gonzalez

Complete Vibe Coding Tutorial: Build a Full Stack App in 30 Min with AI | Matt Palmer (Replit)

Complete AI Course (2025): Prompting, Evals, RAG & Fine-Tuning | Adam Loving (Meta)





