Aakash GuptaHe Uses 7 Claude Code Agents to Build Apps with 0 Employees
EVERY SPOKEN WORD
95 min read · 19,413 words- AGAakash Gupta
AI agents are writing PRDs, designing in Figma, writing Jira tickets, and even shipping code, all from 1:00 PM at 4:00 AM.
- GMGabor Mayer
I set up these agents on a way how I would imagine in a real world I would work with a group of software engineering team members. If you build a good specification and you break it down appropriately, then you will have a much better quality end product.
- AGAakash Gupta
What breaks when you give AI agents too much context? And what's your honest take on CoWork and Dispatch?
- GMGabor Mayer
Why pudding is just the rebranding of unmaintainable, low-quality source code.
- AGAakash Gupta
Gabor Mayer is a product manager at Google who has spent the last five months building AI-powered apps using a team of specialized agents. And in today's episode, he's gonna walk you through his agent setup, and he's gonna show you how you can go from zero to actual app in the App Store in just a couple of hours. The gap between you and the other PM, in two years it's gonna be huge. If people wanna get started, where should they go?
- GMGabor Mayer
The best place to start, if you just want to do it for yourself, pull up your favorite AI, ChatGPT, Gemini, Cloud Code, and start asking questions how to do things.
- AGAakash Gupta
If you stay to the end, you'll see a live demo of Gabor's agent workflow and see how to set up your own agent team. Before we go any further, do me a favor and check that you are subscribed on YouTube and following on Apple and Spotify podcasts. And if you want to get access to amazing AI tools, check out my bundle, where if you become an annual subscriber to my newsletter, you get a full year free of the paid plans of Mobbin, Arise, Relayapp, Dovetail, Linear, Magic Patterns, DeepSky, Reforge Build, Descript, and Speechify. So be sure to check that out at bundle.aakashg.com, and now into today's episode. As PMs, we've been working in this model where we work with human developers, human designers. But what if Claude Code was your designer, your developer, your systems analyst? I've had plenty of episodes on Claude Code, but today's episode is different. It's not a PM operating system, it's a startup operating system. Gabor Mayer is a PM at Google who has been staying up till 4:00 or 5:00 AM every day, playing in Claude Code, and he has figured out how to create an entire startup inside Claude Code. Front-end engineers, back-end engineers, legal counsel. And in today's episode, he's gonna walk you through his agent setup, and he's gonna show you how you can go from zero to an actual app in the App Store in just a couple of hours. Gabor, welcome to the podcast.
- GMGabor Mayer
Thank you so much. Uh, I'm glad to be here.
- AGAakash Gupta
Gabor, you told me something pretty crazy, which is that you're not just using Claude Code for PM tasks. You're using it to replicate a company. You have a 15-agent team, CTO agent, design agent, coding agent. Can you walk us through your agent setup in Claude Code?
- GMGabor Mayer
Yes, absolutely. So, uh, I, uh, have actually... Now I just realized that it's 21 agents, apparently, according to what, uh, I can see on the screen. Uh, so the, probably the most important agent that I use is the system analyst agent. I set up these agents on a way how I would imagine in a real world I would work with a group of, uh, software engineering team members. So I have someone who looks after, uh, the brand. I have someone, uh, who looks into whether our code is maintainable. Uh, I have a CTO who looks after the more strategic technical decisions. I have designer agents. I have, uh, agents that implement, uh, the actual software, uh, the coding part of it. I have, um, an agent which takes care of the performance of the application. I have another designer agent. I have a product council which, uh, looks into how do we handle data, how do we store data, just to make sure that we are not leaving anything, uh, available for bad actors. Uh, we also have a, uh, product spec architect which usually checks for me whether our specification is well-structured and easy, uh, to understand. This will be important later. I will walk you through that. We have a test architect which designs how, uh, we guarantee the quality of, uh, the whole application. And then I have a UX flow architect. This will be very interesting when we are designing the clickable prototype, which is the basis of the app. We'll come back to the UX flow architect as well.
- AGAakash Gupta
Amazing. Can you show us inside one of these agent markdown files? Since you mentioned system analyst, I'd love to see under the covers what that definition looks like.
- GMGabor Mayer
Yes, of course, I can show you. This is my system analyst agent. So, uh, this basically breaks down product requirements, uh, and technical specifications, and it pretty much operates as you would expect from a system analyst. So if there's anything ambiguous, it asks you questions. Uh, it also takes care of dependencies, uh, so that they are properly documented. And I find that the system analyst agent is really a key player in my setup because the system analyst agent, um, is the one that I use to create both my documentation as well as, uh, my tickets for the development.
- AGAakash Gupta
Amazing. So that's the high-level view of the system, guys. Now we're gonna show you through a live demo, zero to TestFlight. Where should we get started?
- GMGabor Mayer
Yeah, let me walk you through how I build. And to make it more accessible for product managers who might not be fully comfortable using Claude Code just yet, let me start this whole process from the Claude app, the desktop app, or this is basically the consumer app that you can run on your mobile device as well. So, um, the way how I usually start building anything is that I start creating a, um, description of what I want to build. And the reason why I love to use the consumer app for this is because it allows me to use it even, let's say, while I'm walking my dog. I can put Claude into voice mode, and I can talk to Claude, and I can define new features. I can ideate what I want to build. So let me show you how I get started. At first, I will tell Claude to act like, um, it is a system analyst, and then I will ask Claude, uh, to listen and create the idea with me of a new application that we will build today. The application that we will build today is a, uh, AI chat application that helps ice hockey fans understand the rules of ice hockey better. Why exactly that? Because I was an ice hockey referee for twenty years, and I would have always loved if the fans and the players, uh, or even ourselves, referees, would have a better understanding of the rules and an easier way to find the applicable rules for some niche situations. So that's what we will build today. How does that sound?
- AGAakash Gupta
Sounds useful.
- GMGabor Mayer
All right. Cool. So the very first thing that I do, and again, you can do this on your, uh, mobile phone, open your Claude app or your favorite, uh, AI app, whatever it is, uh, ChatGPT, Gemini, um, you name it, and start by... Uh, and by the way, I will use dictation here. So sometimes I will talk to the camera, but sometimes I will talk to Claude. Now I will talk to Claude, and, um, I will set up a system analyst, and this is how I do it. So you don't necessarily have to define everything by yourself. You can use the, the LLMs and the gen AI to help you craft stuff. So, uh, look at this. Can you tell me what is the difference between a good system analyst and a bad system analyst in a software development team? And in general, can you define me the role of a system analyst in a software development environment? Please be as detailed as possible about everything that the system analyst does, and always point out what is the difference between a good and a not so good system analyst. So as the first step, I, uh, basically just ask for a definition of what a system analyst does. When I send in this prompt, it will now tell me what a system analyst does, and it will point out what's the difference between a good system analyst and a bad system analyst. Requirement documentation, um, requirement elicitation, stakeholder management, process and system modeling. So it, it describes you pretty well what are the things that a system analyst does.
- AGAakash Gupta
If you've enjoying this episode today, Mahes' classic whiteboard style, his awesome labs and demos, then you will love Mahes' cohort-based course. It has amongst the highest reviews on Maven, and I challenge you to go check this yourself. His courses are always rated four eight, four nine. That's because of the thirteen years in big tech at Microsoft, Google, Amazon, Meta. He's actually built the things. He's not just talking about it. And his course, everybody I know, my mentees have taken his course, have had a positive opinion of it because it is so interactive. You get the first principles that you're sensing from the podcast today. The coolest thing about his new course, Building OpenClaus and with Claude Code, is that you get a Mac Mini. So take advantage. Use the discount code that I have below in the description, so you get a discount on his course. Get your Mac Mini. Better yet, get your company to pay for it. He's going to teach you not just how to become a builder PM, but he's going to be in the trenches with you. As he said, he will even give you AI PM interview advice, so it's an all-in-one course to becoming an AI builder PM. Check that out on the link just below and back to today's episode. Today's episode is brought to you by Amplitude. Replays of mobile user engagement are critical to building better products and experiences, but many session replay tools don't capture the full picture. Some tools take screenshots every second, leading to choppy replays and high storage costs from enormous capture sizes. Others use wireframes, but key moments go missing, creating gaps in your understanding. Neither approach gives you a truly mobile experience. Amplitude does things differently. Their mobile replays capture the full experience, every tap, every scroll, and every gesture with no lag and no performance hit. It's the most accurate way to understand mobile behavior. See the full story with Amplitude.
- GMGabor Mayer
As the next step, I will tell the app to act like a good system analyst and help me define a product that we will build.For full context, um, I will provide the system analyst agent links to our documentation. So actually, let me explain how I store my documentation. So for documentation and why is it needed, I use the Atlassian JIRA and Confluence for documentation. Let's focus at first on Confluence. I use Confluence just because it's pretty much an industry standard in many companies, so I thought it's a basic choice. But you can use whatever, uh, software, um, documentation tool that you want. There are a bunch out there. Um, I picked this one because it also integrates through an MCP to Claude. So I, uh, went into Claude, I connected through the settings and connectors, the Atlassian MCP, and I hooked up, um, my, uh, Atlassian account. And now I have a completely empty Confluence space, and this is where our documen- our documentation will live. And I have a completely empty Kanban board where our software development tickets will live. Why do we need this development? The reason why we need this development, um, documentation is because if we document our decisions, our specification, and our software development steps really well, they will be replicatable and, and your app will be maintainable. A very typical mistake that many product managers or in general, people who vibe code do, that they go into a vibe coding app or setup, and they start by giving one prompt, and then they expect that at the end of that one prompt, there will be a completely beautifully done software on the other side. But this is the equivalent of you wanting to build a new house. You go to one guy, you speak to that one guy and tell the one guy, "Build me a three-bedroom house with two bedrooms." And then half a year later, you come back and surprise, the house might not be just how you like it. But instead, if you would have spoken to a team leader of a team, let's say an architect, uh, who has a, a complete team that builds the house and specified what you need, you probably would have had a much better outcome in, uh, the final, uh, house building instead of the mess that you got when you just spoke to one guy one time, right? And this is the same here. If you build a good specification and you break it down appropriately, then you will have a much better, uh, quality end product. So let me, uh, give the two links, the Confluence and the JIRA link to my system analyst agent and start talking to it as, uh, we are brainstorming around the app.
- AGAakash Gupta
So what I'm hearing is that the classic product management skill makes you a better vibe coder. Where do we go from here?
- GMGabor Mayer
So from here, I asked, uh, the Claude app to tell me what a good system analyst and a bad system analyst, uh, does. And now I will ask, uh, the system analyst or Claude to act like a good system analyst, and I will provide the system analyst the idea or the description of what I want to build. And I will also give the system analyst, uh, my Confluence page and JIRA just as a context that this is where we will save everything that we discuss. So this is, this is how I do it. Okay, please act like you are a good system analyst, and your goal will be to help me create a comprehensive documentation for an application that we will build. It's important that at first, I don't want you to start writing any documentation. I want you to ask clarifying questions until you have a complete, comprehensive, and full understanding of what we are building. Please ask as many clarifying questions as you need to, but ask questions one at a time because I might get overwhelmed if you ask too many questions at once. Also, I provide you a Confluence and a JIRA link that you can reach through the Atlassian MCP. These are the only Confluence space and JIRA boards that you can use. Please do not touch any other board or space or project through the Atlassian MCP, only these two. This is-- There were a couple of important things in this prompt. Firstly, um, it's important that you ask the agent to ask you questions before moving forward. Um, different agents have different tendencies. Um, some agents or some LLMs love to start coding instantly. Some agents, uh, love to start writing instantly.So that's why I was telling Claude, "Do not start writing, but ask questions." So that's first important point. The second important point is that you want to tell Claude to ask you questions one at a time, because sometimes it comes back with like 25 questions, in which case you easily get overwhelmed, and it's very hard to answer all of the questions. So if it asks one at a time, then it's a much more linear conversation. And, uh, yeah, obviously giving the JIRA and the Atlassian link, uh, makes sure that you have all your project related stuff at one place. So let me just, uh, add those links. Oops, I forgot that, uh, this also puts it on my clipboard. So here are the links. Yeah. So now it will set up, and the next step I will define what we want to build. It's confirming that it will just ask me questions. Now it's checking the space, asks my permission to access those spaces.
- AGAakash Gupta
One thing I'm noticing is that the average person, they would just wanna jump in. They wouldn't wanna define the role of a system analyst, create the connection to Atlassian. What you're doing is you're putting effort in the scaffolding up front so that as you go along building, you don't run into kind of spaghetti code, undocumented code that you can't build on top of. Is that right?
- GMGabor Mayer
That is absolutely right. Um, the spaghetti code has, um, a slightly different angle to it as well, um, because oftentimes when people who don't understand code, and yeah, I have an engineering background, but I haven't done, uh, industrial level coding for like 15 years. Um, we wouldn't be able to recognize when there are major issues, uh, in how the software is structured. Uh, and I read, um, or read it, a comment about vibe coding, which was saying something like, "Vibe coding is just the rebranding of unmaintainable low-quality source code." And [laughs] it, it definitely, um, hit home with me. So, um, what I did, I created, uh, a, uh, Spaghetti Agent, which I think my setup called like Code Maintainability Agent or something like that. But what I told, um, that the Spaghetti Agent should do is that it should make sure that there are no circular references, that our commenting in the code is high quality, that naming conventions are followed. You know, these are things that, as a product manager, I remember that we were always very mindful of when doing software development. So I just told the agent, uh, to watch out for these. And when I ran it for the first time on, on, uh, my code base, it did, uh, catch some of those issues.
- AGAakash Gupta
Nice.
- GMGabor Mayer
Cool. All right. So, um, as the next step, we need to define what do we want to build. But before we do so, I want to make one differentiation. Um, an agent or a role that I set up here in this discussion, in this chat, in the Claude app, is not available in Claude Code. So in Claude Code, we actually need to set up our agents separately. And we will have a system analyst there, and we have a system analyst here, but they are not exactly the same. So my system analyst agent set up will be separate, uh, there, and it will act on its own behalf. Whereas here, it is just acting like a system anali- system analyst. Does it make sense?
- AGAakash Gupta
Yeah.
- GMGabor Mayer
Cool. Uh, and just to accelerate things, let me actually kick off the creation of those agents on, uh, the Claude Code side, because it will take a couple of minutes, so, uh, it can run in the background. It will be very useful for us. First, we will, uh, want to set up the agents. So, uh, let me tell Claude that we will do this. And right now, um, if I check what agents I have, I literally have no agents, right? Uh, sorry. Let-- Actually, I was not in Claude yet. So let me start Claude. This is the first time we are starting Claude in, um, this, um, space, so I expect that I will have no agents. Uh, oh, interesting. I have... Interesting. Okay. I have one system analyst agent which probably comes from a global, um, agent setup that, uh, I might have set up previously, which is all over user specific instead of just being, uh, project specific. Yeah. It's a user agent, but I don't have any of the other agents. But now we will set them up. So the way I usually set them up is this. I will give you two files now. One will be an agent set up with several agents that I want to use in this project. And I will also give you a, um, different file which has a couple of processes that I use in development, such asFew steps defined how to handle bugs or few steps defined how to create new features. Please add this to the project memory. By the way, do you also say please when you talk to AI? I don't know why I do it, but I always [chuckles] say please.
- AGAakash Gupta
No. [laughs] But I do give it encouragement. I will be like, "Okay, you've given me a seven and a half out of ten draft. Now we need to get it to eight and a half. Here's what we can do." [chuckles]
- GMGabor Mayer
Yeah. All right, so these are the agents and the workflows. So now if I hit enter... Ooh, I need to authenticate. Okay. Um, this part we will definitely-- Oh, we don't need to cut. Okay. Uh, because it went to another screen. Just one sec. Okay, login successful. Good. Let's try again. And just for context, uh, quickly check where we stand with the usage of, uh, Claude. Uh, that's my Claude API here. So right now we are standing on, yeah, two percent of the usage quota. So, uh, we will see by the end of, uh, the building where do we s- uh, stand on the usage quota.
- AGAakash Gupta
Oh, this will be fun to see.
- GMGabor Mayer
Yeah. All right, cool. So, uh, our Claude, Claude Code should be, yeah, building the agent, and we can go back to Claude and start discussing what the application is supposed to do. Okay. This will be a longer, uh, dictation, so bear with me. I want to create a mobile app which will have a Flutter front end and a Firebase back end. The mobile app will be a simple chat screen, and in this chat interface, the user will be able to have a discussion with an AI agent about rules of ice hockey, specifically the International Ice Hockey Federation rules, IIHF rules, and I want the user to be able to ask questions and get answers about the rules for this application. I will provide two sources for the AI agent in the background. One will be the official IIHF rule book, and the other one will be the IIHF situation book. These both will have to be converted into a vector embedding, uh, put into a vector database and, uh, converted into embeddings because I want to optimize my API usage when the agent is performing queries. In the background, when the user is asking questions, we will use the Claude API, and we will use, in case the rule book and the situation book does not have the right answer, we will use an extended search through another API, through the, uh, specialized search Google API, uh, where we will have a set context or a set list of websites that, uh, we can utilize to search for additional information. The tone of voice how I want the AI agent to talk to the user is friendly but firm. I want the agent to act like a good friend of the user who has been a referee for twenty years. No coincidence, I was a referee for twenty years in ice hockey, and I often, when I was watching games, fans, uh, approached me and asked questions. So, uh, I imagine that I would be inside of that AI answering questions based on the latest rules. There is another aspect that the AI agent will have to make autonomous decisions about. There are online sources where you can find interesting cases and answers about specific situations, but be mindful, or the agent should be mindful, that rules change over time. This means that the latest rule book-
Episode duration: 2:26:42
Install uListen for AI-powered chat & search across the full episode — Get Full Transcript
Transcript of episode 8NGLvHInHog
Get more out of YouTube videos.
High quality summaries for YouTube videos. Accurate transcripts to search & find moments. Powered by ChatGPT & Claude AI.
Add to Chrome