Lenny's Podcast: Product | Career | Growth
00:26:57 · Lenny Rachitsky, Zevi Arnovitz
[00:26:57] S0: Let's come back to that. [00:26:59] S1: Cool. All right. So this is Claude coming back. I have a comprehensive understanding of the code base. I thoroughly analyzed StudyMate live codebase and understand the current system, feature quest and key areas that it's identified. Usually I'd spend a lot of time going over this because this is super, super important, but just for the sake of development right now, we're going to brush through this. Now Claude basically comes back after it's gone through the code base and understood the way it currently works. It's basically telling me what the current understanding is. So it's talking about how the app is set up at the moment, how the data is structured, what it understood from the feature quest, and what it has identified as key areas, and then it asks me some questions. So it's asking about the scope, it's asking about the data model, the UX/UI of the feature, how it should be validated, how it should be graded, what changes need to be happened to the AI system prompt and all kinds of questions about the app. I've prepared answers to all these questions beforehand because I don't think we all want to sit through this. So I'm just going to paste that in and we'll see what Claude says. [00:28:08] S0: Awesome. I love it. And I love just scanning those questions I was asking. It's like such smart, sophisticated, important questions instead of just, "Cool, here I go, I'm going to build it."
00:28:18 · Zevi Arnovitz
[00:28:18] S1: Yeah, and I think this is the big difference between just vibe coding and going along with the vibes and really building serious apps. I spend a lot, a lot of time going back and forth and understanding. Also, a very cool /command that I haven't showed yet is learning opportunity, which basically when something is really difficult for me to understand, I'll do /learning opportunity and then talk about what I want to learn. And this basically primes Claude and says, "I am a technical PM in the making. I have mid-level engineering knowledge. I understand architecture and basically I want you to explain what we're currently working on using the 80/20 rule." So this is a great way to learn. I would definitely take this and every time you kind of see something that you don't fully understand, I would definitely use this to learn. Great. So Claude basically comes back and says how it understands the current data model and how it's going to implement. Yeah, so it's ready to create the plan. So basically what I'm going to do now is I'm going to go and do /create plan and while Claude is doing this, I'm going to show really quick what this looks like. So basically, these plans are from a template that I found on Twitter. I forgot who it was, but it was just a template that really resonated with me. And it's basically saying, based on our exchange, create a markdown file that will be the plan, include clear, minimal, concise steps, track the status. So this basically has like status trackers on each task that Claude updates as it's going through and it will have a TLDR, some critical decisions that we've made and the plan itself. So Claude has finished writing the plan, so we'll be able to look and see exactly what the plan is. So it has a TLDR, it has the critical decisions we've made and the tasks broken down. And this is a perfect plan and it's also a really good way to write this because a lot of times, I'll use different models to execute certain stuff. So Cursor has an amazing model called Composer, which is superfast. So a lot of things that are not that complex, I'll use Composer. Gemini 3 that just came out is unbelievable at UI. So a lot of times, I'll split the plan into backend and front end, and then I'll have Gemini just read the plan and do the front end. So having this as a markdown file is really good.
00:30:44 · Zevi Arnovitz, Lenny Rachitsky
And also going forward, it's really good to have within the app so that later on, if an agent is writing code in a certain area, I can see what's already been done there. So what we're going to do now is we're going to execute the plan. So now I think we're going to do this with Cursor just because Composer is so freaking fast. So what we can do is basically just say execute and then we can tag the file. And Composer is ridiculously fast. So that's it. It's off. It basically understands what the plan is and it's going to go ahead and start writing the code. [00:31:20] S0: Let me ask you a question while this is happening. [00:31:22] S1: Awesome. [00:31:23] S0: I have many questions, so this is a good time to ask a few of them. You said that Lovable and Bolt and other apps in that space are just not enough to build really serious apps and you have to move to Cursor to do that. Tell us more about that. Just what's the limitation you ran into with those products and why you switched to Cursor?
00:31:42 · Zevi Arnovitz
[00:31:42] S1: I started using Cursor and Claude Code a few months ago and I haven't looked back, but at that time, these teams have been moving like crazy. So I don't want to say I wouldn't trust them. I don't know what the current state is. But for me, it was basically the issue of I felt that Bolt was being very opinionated on how I should do things. And I felt like my knowledge has gotten to a point where I can graduate and be more in control. By the way, I think that the main difference between all these tools is basically the harness. So the models are all the same models. I'll run Claude within Cursor, I'll run it within Claude Code, and it's also the models that Claude is also the model that is underlying Bolt and Lovable, but basically, Bolt and Lovable will add a bunch of levels in the middle that will take all kind of guesswork and hard decisions out for the user. So the user doesn't have to make these hard decisions. So it's also very easy to build, but the flip side of that is that you have less control. And basically Claude Code is just taking Claude and shoving it straight in your code system and giving it full tools and to do whatever it wants, but also with that comes a lot of decisions that you need to make. So I don't know if you can't build really amazing production apps using Bolt or Lovable now, but I think basically if you want the most cutting edge abilities of the models and you want to be able to make all the decisions on your own, it's probably best to be on one of these tools.
00:33:13 · Lenny Rachitsky, Zevi Arnovitz
[00:33:13] S0: What I'm feeling and hearing is that planning work that you did, that's the stuff that Lovable, Bolt, and would you put Replit in that bucket too? [00:33:21] S1: Yeah, for sure. Lovable, Bolt, Replit, Base44. [00:33:21] S0: v0. [00:33:24] S1: Yeah, v0, all same bucket. [00:33:27] S0: So essentially, they're doing that planning for you. And as you said, they're very opinionated. They try to make it easy. So it's just like, "Here's how to do it. Here's the way we think is best for people." And what you're saying is once you're trying to get a little more serious about it or want to go in a different direction, you don't have the power to change how they plan. So Cursor lets you do that. [00:33:49] S1: Yeah, I don't want this to come out like I'm badmouthing them. Base44, let's say. [00:33:53] S0: No, absolutely. [00:33:53] S1: Yeah. Base44 does an amazing job at basically taking all the complex guesswork out of building product and just allows you to just go with the vibes and build, but it will do sign in with Google for you and it will do a database, but then you don't have decisions on what database am I using. Do I need sign in with Google this way or another way? It would just do it out of the box. So that's basically the trade-off there. [00:34:16] S0: Awesome. Shout out Maor, the founder of Base44. [00:34:20] S1: Yeah. Maor Shlomo. Yeah. He's amazing.
00:34:20 · Zevi Arnovitz, Lenny Rachitsky
[00:34:20] S1: Yeah. Maor Shlomo. Yeah. He's amazing. [00:34:23] S0: Okay. I just love how this is like the way you're like flinging, what's the word? Slinging models like Gemini 3 for frontend. I love that you've never written any code and you're just like, "Cool, use Gemini for this and Claude for this. And I'm just working on Cursor, talking to this CTO, helping you build stuff and build significant product."