Overview
This episode of How I AI features LinkedIn editor Dan Roth, who explains how he uses AI coding agents to build and ship real iOS apps despite having a non-technical background. In conversation with host Claire Vo, he shares a practical “dueling agents” workflow—one AI writes code, another reviews it for security and architecture, and Roth acts as the final decision-maker and “picky customer.”
The discussion is less about technical wizardry than about a new mode of software creation: managing AI collaborators, translating product instincts into software, and using lightweight process discipline to turn vibe coding into production-ready output.
Key Takeaways
One of the most compelling ideas in the episode is that AI coding lowers the barrier to building, but it does not eliminate the need for judgment. Roth names his coding agent “Bob the Builder” and his review agent “Ray,” a security-focused senior engineer persona. Bob proposes and implements features; Ray critiques plans for edge cases, architecture, and security. This mirrors real organizational workflows and gives Roth a way to structure quality control without writing code himself.
A second insight is that the role of a non-technical builder is not necessarily PM, engineer, or architect—it may simply be “a really picky customer.” Roth argues that successful vibe coding often comes from having strong taste and clear preferences rather than technical expertise. His apps succeed because they solve problems he cares deeply about, like catching New York City trains on time, creating strong product-market fit from personal need.
The episode also highlights that AI is best treated like enthusiastic but inexperienced talent. Roth compares managing AI to managing a “really smart, but hungover intern”: capable, fast, and occasionally brilliant, but forgetful about known constraints. This makes process essential. He emphasizes using branches for every change, reviewing plans before implementation, and testing in Xcode and on-device before submitting to Apple.
Finally, the conversation broadens beyond coding. Roth also uses Microsoft Copilot in his day job to ask, “What did I drop the ball on?” By scanning his email, Teams, and files, the AI surfaces missed follow-ups and unresolved issues. Claire Vo notes this “evening nudge” is especially useful for managers: instead of starting the day with a digest, end the day by identifying what still needs attention while there’s time to act.
Practical Steps
If you want to adopt this style of AI-assisted building, a few concrete practices stand out:
- Set up distinct AI roles. Use one model or thread to plan and build, and another to review for security, architecture, and edge cases.
- Keep a running feature backlog in a persistent chat. Roth logs ideas, asks the AI to estimate build time and user impact, and uses that to choose what to work on when he has spare time.
- Require every feature to be built in a branch. This is a simple but critical safeguard against broken main branches and messy merges.
- Treat AI like a managed teammate. Remind it of past constraints, ask it to search prior context, and restate non-negotiables clearly.
- Test in stages: review the plan, build in a branch, run the simulator, test on a phone, then ship.
- For knowledge work, try an end-of-day prompt like: “What did I drop the ball on?” Use AI to scan communications and surface neglected follow-ups before you log off.
Notable Quotes
“All I am is a really picky customer.” — Dan Roth
“Managing AI is almost like managing a really smart, but hungover intern.” — Dan Roth
“You can vibe code code. You cannot vibe code gross margins.” — Claire Vo
Full Transcript
So you have actually named your clouds and then you give them instructions to listen to each other. Yes, they have to talk to each other. One is called the Builder app. It's called Bob, Bob the Builder, and he's got instructions to stop constantly. And you have to run everything by Ray, who's the review agent. Ray's job is senior software engineer who is obsessed with security. You review's code at milestones, guard security architecture. And then the third agent is me. I am the person who breaks the tie that often happens between Bob wanting to do something and Ray saying you can't do it. And you are doing all of this as someone who has not spent their career as a software engineer. For a while, I thought I'm like a mediocre PM. And then I was like, no, maybe I'm more like an architect. And now I realize, like an architect actually knows real details. A PM is like super rigid and keeps the entire app in their head and they're able to really prioritize well. I'm a bad prioritizer. All I am is a really picky customer. So I think that is like the role of the vibe coder is, what do I care about deeply? I'm like walking through this house and I'm telling the architect, no, I want this room blue. I know you don't think it's a good idea. I'm telling you this is what I want. Welcome back to How I AI. I'm Claire Vo, product leader and AI obsessive here on a mission to help you build better with these new tools. Today, I have Dan Roth, who's the editor of LinkedIn and started his career as a business writer and editor, but has somehow become a software engineer vibe coding iOS apps all the way to the App Store. He's going to show us his dueling cloud code setup that lets Bob and Ray build high quality production grade software. Let's get to it. This episode is brought to you by WorkOS. AI has already changed how we work. Tools are helping teams write better code, analyze customer data and even handle support tickets automatically. But there's a catch. These tools only work well when they have deep access to company systems. Your copilot needs to see your entire code base. Your chatbot needs to search across internal docs. And for enterprise buyers, that raises serious security concerns. That's why these apps face intense IT scrutiny from day one. To pass, they need secure authentication, access controls, audit logs, the whole suite of enterprise features. Building all that from scratch, it's a massive lift. That's where WorkOS comes in. WorkOS gives you drop in APIs for enterprise features. So your app can become enterprise ready and scale up market faster. Think of it like Stripe for enterprise features. OpenAI, Perplexity and Cursor are already using WorkOS to move faster and meet enterprise demands. Join them and hundreds of other industry leaders at WorkOS.com. Start building today. Dan, welcome to How I AI. What I like about having people like me, maybe, that have a couple of years of experience under their belt is we've seen technology shift over time and we've seen markets shift over time and we've seen our own career shift over time. And what I love about your story is you've seen a shift like this in an industry that you've been in and you've seen how disruptive and scary it can feel. And now you're seeing this again and you're really leaning into it. So tell us how you came from your background, which is non-technical, into now we're going to see some power cloud code tips and iOS apps kind of vibe coded all the way to the App Store. I was a longtime business writer. I was at Fortune, Wired, Forbes. And I remember being at Fortune during the introduction of blogging and all of a sudden everyone had access to something that I thought was something that was unique to writers. We were able to talk to the world in a way that no one else could. And that was kind of like a monopoly almost on this ability to get ideas out into the world. And then WordPress came around and Tumblr and suddenly everyone could talk to everyone. And you discovered this explosion of ideas. And I have, and it was scary at the time and then it was, you realize, oh, actually you want to embrace this, more ideas, the better. And so you, as a writer, changed and as an editor changed how I thought about who I could go after and open up. Like suddenly I realized there were way more people that could be sharing ideas and reporting than I ever thought were possible. A couple of years ago when generative AI started making its way into coding and it became clear that any of us could build anything. I had the exact same idea, but it went from being this, I was on the opposite side of it. It was like, oh my God, I've had all these ideas of stuff I wanted to launch. And in the past, I would have had to go convince an engineer or a PM to go team up with me on something. And I was just trying to influence what got built and then I could suddenly start building. So it has become an obsession of mine of building to the point now where when I'm with friends and family, they're like, please stop talking about the stuff that you're building. You know, we don't want to hear about it anymore. And I just have to like ratchet it back. But on the weekends, it is like, that is what I love spending my time doing. So like while the Super Bowl was going on, I will be on my laptop building either like working on some new feature for the apps that I have out there. Well, what's really funny is you are not alone. We just had Guillermo, the CEO of Vercel on and he calls that request for prioritization, like petitioning the government where anytime you had something built, you had to go to the government, which were unfortunately run by product managers and say, please, oh, please, government, would you pass this resolution to ship my button in production? And then we're also hearing from everybody, whether technical or not, that this is really fun to build and it's kind of new hobby, new, new space for learning. And unfortunately, maybe, or fortunately, where they're spending too much time. Yeah. So, well, what we're going to benefit from your obsession now, and you're going to show us how you, as somebody who has a non-technical background, has used cloud code and some other tools to build real production apps. So what do you do? What's what's your special sauce? Sure. So first I should tell you, I started this with a course I took on Cursor. So it started with how to use Cursor and I can share that link with you on the, it's a free course, How to build with Cursor, how to build apps. And I watched that. And so I started with Cursor and then over time I stopped using Cursor because I didn't really care where the files were kept. I wasn't going in and editing anything. I didn't actually need that. I just needed to tell people what I was doing. I needed to tell Claude what I was doing. So Claude code was the big unlock for me and I'll show you what, how I build. Um, so if you can see my screen here, I'm going to show you one, one thing I do is I keep, I use Claude and I ratchet back and forth between the $20 a month plan and the $100 a month plan, depending on where I am in my building. So right now I'm in the $100 a month plan. Uh, I keep a Claude window up that has all of my, I keep a, I keep everything in projects. So this is my commute.ly project. If you can see this. Yep. And I keep one running feature here, which is commute.ly feature idea and tracker. So this is as people talk to me about what they wish the app did. And this is an app for being able to basically never run for the New York city train again. You can know if it's, I keep missing the train. I'm like, I'm going to build an app that is just for me, that is basically like, is the train almost here? Can I walk or do I have to run? That is what it's designed to do. It was, it had perfect product market fit because I was the entire product. We call this personalized. So the rise of personalized software right now. It's amazing. It's the best. And then suddenly you discover other people care about this also. And it's like, Whoa, I have a community. So this is from my community of train runners. They give me lots of feedback and I've been keeping a, um, Uh, I keep, I keep one Claude chat available here that is just all the feature ideas and I've given it a prompt to basically rank it in terms of time. It'll think to build and the growth that it will think that this feature should have for the, for the app. And so the, I'll read you the prompt at the top, which is basically, uh, let's use this as running idea of ideas for commute.ly as I log them, keep track of them and offer guidance, time estimate to build and estimate it back and forth hours, potential impact score on two, one to three scales, customer happiness and growth impact. And then I've given it a bunch of ideas and just keep feeding it new ideas. And it has this table here. Uh, so these are, if you can see this commute.ly features ranked by build time. And so what I do is when I have free time, I go into this chat and I find a feature that I'm like, Oh, I've got a couple hours. I can go and build something and I'll look for it. So the things on my list to do are Siri integration, standalone widget. I've already built this SEO friendly blog, location awareness, but I thought maybe for this, it would be fun to build something I've been trying Or this seems like it's going to be really expensive. Like, is this worth doing? Is this going to break my budget? My budget for Commutely is zero, except what I'm paying for Claude. And so I have to tell it all the time, like, that seems expensive. I don't want to do this. So here, this is... It's now done here. Let's come up with this. It's pretty long. Implementation plan. So normally I would sit here and read this whole thing, but I told it, build it. Everything that Bob does has to be done in a branch. That's one lesson I've learned. I used to ship everything to main, and I learned the pain of that early on. I yelled at a friend recently. I was like, make a branch, dude. Like, you're stressing me out. Oh my God. But what I, I didn't realize this, and I found this out from real engineers later, is it's not... When I merged the branch of my other app, I merged the branch into main, and it didn't work. For some reason, it didn't like merge perfectly. It took me weeks to be able to figure out why it wasn't merging. So I never, I didn't... This was a lesson to me, is it doesn't always just work seamlessly. You probably know that well. Yeah. Okay. All right. So here, I'm copying the plan here, and normally I would read this whole plan, but I'm not going to this time, because I'm just going to build this into a branch and then work on it later. So Ray is now ready for this. I paste it in. There we go. And now Ray is going to get to work. And so what Ray is doing here is the sort of, Is this architecturally correct? Is it secure? Are there any, you know, as we say, there be dragons. Like, is there anything in there that you need to be worried about that Bob mixed? And I really like this. We haven't actually seen somebody do a persona to persona handoff, but we have seen as a lot of people will maybe use like an Opus 45 or an Anthropic model to build the plan, and then they'll actually hand it to like a codex model to review it. Codex is like a little, a little mean, um, senior staff engineer. Totally. And so it is, it is kind of nice to have that handoff and, you know, what I say is like dueling agents to just get very similar to when you're working in a team. I think you can appreciate this, right? You write code and you're, or you write up in my experience in product, like you write a product idea and then you bring somebody else into it and they're like, Oh, but you forgot we have to have this compliance thing, or don't you remember that when we did the data analysis on this, customers hated that piece or design says, actually, this is really technically hard to implement in our design system. And so I do think just taking some, um, taking some flows from your organizational process and then figuring out how to make them agentic is a really natural way for people who especially have been managers. Yep. To start building out their own little AI productivity stack. It's such a great call. That manager, that idea of being a manager for this, you are managing these agents. Yep. So like one of the things I find a lot with commutely is it depends on, this app is really built around live activity on iOS. That is where you are tracking your train is your phone is locked. You just go and look at it. Live activity has, it turns out to have all kinds of limitations. And Claude will forget those limitations all the time. And so it will suggest things like, Oh, you should just do this. And I'm like, no, we've learned this already. Don't you remember? Like two weeks ago, we tried to build it. It turns out that like, it can't actually ping the MTA's API when it's, when the, the app is not on the screen. And so I, it's like being a manager of, I read this somewhere else. This is not my thing. But someone once said that managing AI is almost like managing a really smart, but hungover intern. And I feel that way all the time. It's like, you're a genius, but you don't have it this morning. Just remember we've gone over this already. Well, and AI is very similar to how I've positioned the benefits of what we call early career talent, which is like very capable, very excited to an experience to know they shouldn't do something. So occasionally you get greatness, right? But we should use a branch in a PR just, just in case. That's exactly it. As an AI founder, you're used to sprinting towards product market fit, your next round or that first enterprise contract. But speed isn't enough for AI startups. Buyers expect security, compliance, and transparency from day one. That's why serious AI startups use Vanta. With deep integrations and automated workflows built for fast moving AI teams, Vanta gets you audit ready fast and keeps you secure with continuous monitoring as your models, infra, and customers evolve. AI innovators like LangChain, Rider, and Cursor scaled faster and closed bigger deals by getting security right early with Vanta. Listeners can claim a special offer of $1,000 off Vanta at vanta.com slash howiAI. Great. So now Bob has raised some edge case concerns, which I think are really key. Ray is raised the edge case concerns. Yep. Ray has. And then, um, says Bob's plan is solid. So then do you pass this back to Bob? Yeah, exactly. So now I copy and paste this right back. Uh, it's got the green light and then Bob's going to go build. Now the next step in this is that I will then take this and put it into Xcode and do a new build, uh, and then test it out on the simulator, see if it works, test it on my phone. And then I usually ship it to Apple right then. So I've been trying to do weekly updates to Apple. I will say the hardest part of building my two apps has been the app store. I had no idea. Navigating the app store is a whole separate event. I have so many chats where I'm like, what does Apple want from me here? And just getting Claude to teach me how to use the app store has been a real, I feel like that's almost the last friction left in being a builder is navigating the app store. I have a couple related requests for startups. We're all, we have, we have all the coding agents we need. They're going to get better. We're, we're fine. We are spoiled for choice. We need AI for app source submissions. We need AI for, uh, SAP Ariba submitting procurement requests and POs. And we still need that perfect AI CRM. So, uh, all the builders out there, if you could give us these very boring, but very high value problems solved, you have a lot of customers waiting out there. You know, one that I might build actually to solve again, this idea of solving for your own problems is app store designs. So the right now, the way that I do, you know, when you, when you, when you do something in the app store, you have to show what your app looks like. And I've been using Canva for it, but it's really Canva's AI. I don't love, I find like, I'm not getting what I need. So I might try to build an app that just takes people's screenshots and turns it into something for the app store. I love it. Okay. So Ray complete with the plan. Bob is asking some design questions. Exactly. So this is great. So this is, I I've written about this in the past, but like, For a while, I thought, Oh, I'm, I'm like a mediocre PM. And then I was like, no, maybe I'm more like an architect. And now I realized like an architect actually knows real details. A PM is like super rigid and like has understands the, keeps the entire app in their head and they're able to really prioritize well. I'm a bad prioritizer. All I am is a really picky customer. So I think that is like the role of the vibe coder is what do I care about deeply? I'm like walking through this house and I'm telling the architect, no, I want this room blue. I know you don't think it's a good idea. I'm telling you, this is what I want. And so the picky customer is, I think the role that is at least my role. That's how I think about my role. So in this case, Bob is saying, uh, there's some UX decision I have to decide. I like this concept of a picky customer because I was going to say what I feel like is QA that's just looking at little edges and saying, no, that's wrong. And that button isn't quite doing. So I like elevating this to no, no, no, no. I'm not doing quality assurance. I am going through and being my own pickiest customer. You know, I'm, I'm sniffing my champagne before I drink it as we say. And so that's a really fun, fun way to think about your role when you're building for yourself. Yeah. And it also does like in my other app, which is a podcast clipping app, the, there was all this, it took a little while for the video to be made of the podcast clip. And there was some kind of error. There was a message just saying, your video is being created. And I'm like, actually, I want this to have a better voice. I want this to be funny. I want it to say like, oh my God, you clipped a great part of the Most of my time is actually spent at work. I run a 400-person team. I've got a contact switch all day long. I rely on Copilot constantly to do that because it has access to all my files and my entire team. So my command that I start the day with or I end the day with usually is, what did I drop the ball on? And I'll show you that. What did I drop the ball on? And then for the point of this show, I'm going to say anonymize any names or project names as this will be seen by people I don't work with. Perfect. Okay, it's going to go through Outlook. It's going to go through Teams. It's going to go through any updated files. It knows who I report to. It knows who reports to me. And it keeps track of things that I'm constantly clicking on during the day, so it'll go through all my emails and find places where I'm not responding or teams where I'm not responding. And what's great is it's not just places where I've been at-mentioned. It's stuff that it knows that I am actually interested in. So projects that I've been kind of following over time. What I think is really useful about this is we've seen a lot of people do their morning daily digest, but we haven't seen anybody do their evening nightly nudge, which is, hey, you got through your whole day and you forgot X, Y, and Z. And how many of us, especially managers, want to start the morning with nothing to do and having wrapped it up all in the evening? So I think just even take AI out of it, moving that practice from upfront in your morning to in the afternoon when you can actually do something about the stuff that ate your plate during the day is a really great idea. That's exactly it. For me, this is my 30 minutes before I leave. I ask this. I do this prompt and then I can go through here. So here's an inbound escalation from a longtime creator. Someone's unhappy with me. I didn't reply. I have a draft reply that I never sent. I'm meeting follow-up. And this is it. This is like, when you get at some point, you start managing so many different projects. You're like, I know I'm dropping the ball. Just tell me what I am dropping the ball on. So this is my savior. This is like what I count on AI to be able to do to make me better at my job so that I can spend the weekends building money-losing apps like community.ly. Yeah, you can vibe code code. You cannot vibe code gross margins. That's true. That is true. All right. And then my last question, I ask everybody, but when AI is not giving you what you want, you've said you don't want to personify AI, which I do. So we are on opposite sides of this very interesting. What is your then what is your tactic? Do you, do you like kill Bob and his spawns? Like, do you, yeah. Are you an all caps person? What's your prompting strategy? I mean, there are times where, so I'm usually really just straightforward. I just, I'm like, this is what you're doing. I try not to say please or thank you because again, I just don't want, you know, at some point when we get to AGI, they're going to be running the show and I just, I'm, I'm fighting until we get to that point. I'm holding on to my humanity. Um, and then, but I'll usually just, I usually spend a lot of time saying we've gone over this already. You've talked about this. Go search your memory to go find the time where we've done this. And it is, it's a lot of parenting. I have, like you, I have three boys and I rely on a lot of the things where I'm like, we've talked about this, remember? And, you know, and your kids are like, you, you, you know that they are, they want to do the right thing. And so it's just a lot of like helping them get there. There's something that we say that I learned from a former manager and that we say a lot at LinkedIn, which is assume best intentions. And that is how, that's, by the way, a big change from how newsrooms work, which is my last life, which was you assume worst intentions all the time. at tech companies, you assume best intentions. I've now taken that to my family and I've taken it also to building with AI. So I assume the AI has best intentions, but has to be reminded about how we work. So I don't yell. I'm pretty clear and I try to give it a little bit of grace. Perfect. Well, Dan, this was awesome. I think it's a great overview for technical, non-technical, busy, busier alike. So thank you for sharing your flows with us and our audience. Where can we find you and how can we be helpful? So I'm on LinkedIn. Not surprisingly, find me. You can follow me on LinkedIn. It's Daniel Roth at LinkedIn. And I've got, I keep a running newsletter called Forward Deployed Editor, which tracks how I'm learning how to AI. And it talks, it's really designed for people who are non-technical to be able to get, to be able to build cool things. And so I try to talk about what I'm failing. It's mostly what I'm failing at. What I'm learning, what didn't work, how to avoid making the same mistakes I've made. And so if you can follow that, that'd be great. Otherwise, I'm always constantly posting on LinkedIn, great content that creators are posting around the world. So hope you'll follow me there. Great. Well, thanks for joining How I AI. Thanks for having me. Thanks so much for watching. If you enjoyed the show, please like and subscribe here on YouTube, or even better, leave us a comment with your thoughts. You can also find this podcast on Apple podcasts, Spotify, or your favorite podcast app. Please consider leaving us a rating and review, which will help others find the show. You can see all our episodes and learn more about the show at howiai.com. See you next time.