From journalist to iOS developer: How LinkedIn’s editor builds with Claude Code | Daniel Roth

16 Mar 2026 · 38 min · 17 chapters

Ask about this episode

Ask anything about it. ChatGPT or Claude reads this page and answers with the times it was said.

Connect VO and ask about every podcast you hear, including the moments you saved. Add to ChatGPT · Add to Claude

In short

Daniel Roth explains his “dueling Claude Code” workflow for building production iOS apps from a non-technical background, using two named agents: Bob (builder) and Ray (security/review), plus Daniel as the tie-breaker. He also covers how he plans features, logs work, tests in Xcode/simulator, and ships to the App Store.

Guest backgrounds

Daniel Roth is LinkedIn’s editor. He previously worked as a business writer/editor at Fortune, Wired, and Forbes, then transitioned into building iOS apps via Cursor and Claude Code.

Key claims

Non-technical builders can ship real apps by forcing planning-first, modular code, and security review; logging to Markdown prevents context loss; “picky customer” beats generic QA; friction (copy/paste review) improves learning.

Notable examples

Commutely (NYC train timing/live activity; scheduled 7am weekday updates to lock screen) and an App Store submission workflow; also a “What did I drop the ball on?” evening AI prompt for managers.

Written by AI. May contain mistakes. Listen to the episode to check what was said.

Chapters

Tap a time to open that second in VO

Introduction to Claude Agents

0:00 to 1:10

Learn about the roles of different AI agents in software development.

“So you have actually named your clods and then you give them instructions to listen to each other.”

The Shift from Writing to Building

2:47 to 4:24

Explore how generative AI transformed Dan's approach to building software.

“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.”

Getting Started with Building Apps

4:25 to 6:09

Dan shares his experience and tools for building iOS apps without technical expertise.

“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.”

Building Commutely: A Personal App

6:10 to 7:39

Learn about Dan's app Commutely and how it solves a personal need.

“It's a free course, how to build with Cursor, how to build apps.”

Managing App Development and Marketing

7:40 to 9:22

Understand the challenges Dan faces in both building and marketing his app.

“And I've been keeping a, I keep one clawed chat available here that is just all the feature ideas.”

The Role of Claude Agents in Development

9:23 to 13:34

Dive into how Dan uses Claude agents Bob and Ray to manage his building process.

“I know I'm a true product founder and that I will literally build everything on this list before I can will myself to do anything that is like even remotely called marketing.”

Navigating AI Workflows

14:08 to 16:41

Learn about the importance of understanding AI processes and workflows for effective code building.

“So it's starting to read this markdown file that I showed you earlier of what this retention plan is.”

Lessons from Code Branching

16:41 to 17:41

Discover key lessons about code branching and the importance of merging processes.

“So normally I would sit here and read this whole thing.”

AI in Testing and Compliance

17:41 to 21:04

Explore the role of AI in ensuring architectural correctness and security in code.

“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?”

Managing Sub-Agents in AI Development

21:12 to 22:40

Understand how to effectively manage AI agents in app development and their limitations.

“And then I usually ship it to Apple right then.”
Show all 17 chapters

The Role of a Picky Customer

22:40 to 26:15

Learn how being a discerning customer can enhance the app development process.

“You know, one that I might build actually to solve, again, this idea of solving for your own problems is App Store designs.”

Building and Testing in Xcode

26:15 to 28:00

Discover best practices for building and testing apps using Xcode effectively.

“And so I've watched how, so a lot of this is based on people I've worked with.”

Building and Shipping Apps with Claude Code

28:00 to 30:00

Learn about the workflow of building and shipping apps using Claude Code and collaboration tools.

“But you really like there's so many edge cases you don't even realize until you get it onto your phone.”

Creating Terminal Aliases for Efficiency

30:00 to 31:30

Explore how to create terminal aliases using Claude Code to streamline commands.

“I'm going to have to suggest for anybody who can never remember the command.”

Using AI for Task Management and Reminders

31:30 to 34:20

Discover how to use AI to manage tasks and receive reminders about work commitments.

“So this is exactly what I wanted to build.”

Assuming Best Intentions in AI and Parenting

34:20 to 36:50

Understand the importance of assuming best intentions in interactions with AI and children.

“do something about the stuff that hit your plate during the day is a really great idea.”

Finding and Following Daniel Roth

36:50 to 37:34

Learn how to connect with Daniel Roth on LinkedIn and follow his journey with AI.

“So thank you for sharing your flows with us and our audience.”
Hear the part that matters, and keep it.Open this episode in VO. Double tap your headphones to save a moment as you listen.
Get VO free

Transcript

Automatic transcript. May contain errors.

0:00Daniel Roth:So you have actually named your clods 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 is 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. He reviews code 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 in racing. You can't do it. And you are doing all of this as someone who has not spent their career as a software engineer.

0:36For 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 realized like an architect actually knows real details. A PM is like super rigid and it 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.

1:07Daniel Roth: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.

1:49Daniel Roth: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.

2:29Daniel Roth: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 years of experience under their belt is we've seen technology shift over time and we've seen market 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.

3:14Daniel Roth: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 the 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.

3:57And then WordPress came around and Tumblr. and suddenly everyone could talk to everyone and you discover 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, it changed and as an editor, it 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.

4:34I 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. 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.

5:07But 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.

5:18Daniel Roth: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 shit 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 space for learning. And unfortunately, maybe or fortunately, where they're spending too much time.

5:55Daniel Roth:So, well, 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 CloudCode and some other tools to build real production apps. So what do you do? What's your special sauce? Sure. So first, I should just 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. 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.

6:28I 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 how I build. So if you can see my screen here, I'm going to show you 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. I keep a Claude window up that has all of my, I keep everything in projects. So this is my Commutely project, if you can see this.

7:01Yep. And I keep one running feature here, which is Commutely 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 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 that perfect product market fit because I was the entire product.

7:28Daniel Roth: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, well, 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, I keep one clawed 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 app. and so the i'll read you the the prompt at the top which is basically uh let's use this as a running idea of ideas for commutely as i log them keep track of them and offer guidance time estimate to build an estimated 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 the commutely features ranked by build time.

8:29And 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 to do, which I built the scheduled automatic updates, which is I know that every day at 730 a.m. I usually leave my house. I just want commutely to tell me where the trains are. So I built that, but no one's using it.

9:00And so I need to be able to build. I now have to think about discovery. By the way, this is the other part of this I've learned is like the building is one thing. The marketing is a total other part of it. So now I've gone from being a quasi crappy PM to now being a quasi crappy PMM as I learned how to basically do marketing for my app too.

9:21Daniel Roth:Here's a funny thing that I'm thinking as you say that is I know I'm a true product founder and that I will literally build everything on this list before I can will myself to do anything that is like even remotely called marketing. And so if you can get over your, uh, you know, what we say in the industry, you know, if you can climb cringe mountain and just become a marketer, you will be very happy with the distribution of your app. So I've already worked with Cloud Code on coming up with a retention plan. And I save everything as.md, as Markdown files. So I've got within my Commutely project, there's a document folder, and then there's a list of Markdown files.

10:04And every time I'm working with Commutely, every time I'm working with Cloud, I'm saying, write it into a file, log everything, log everything. And I do that for two reasons. One is the context window. Cloud is constantly forgetting what it's working on. And then I'm forgetting what I'm working on because they only do this on weekends. So on Saturday, I'll pick it up and I'm like, what? Wait, what am I building? I can't remember. And how far did I get? So everything gets logged. That is one tip I try to give anyone that is in my shoes also. So we make these MD files. So this is retention plan.

10:35And it's come up with a general plan. But now I need to go build it. So I keep two tabs. I use terminal. And I keep two tabs open. One is for building and one is for reviewing. Now, I've given Claude two personalities, which I can bring up by using. One is called the Builder app is called Bob, Bob the Builder. And so I bring up Bob and this is my Builder app and he's got instructions. Tell me your instructions on how you work. So this is just to show you what Bob is trying to do.

11:09Daniel Roth:And quick question for folks that don't know how to do this. First of all, I have never seen somebody customize their Claude theme to let them know what version, flavor of Claude they have running. I've seen a lot of people that run multiple Claude's and multiple flavors. Yeah. So I've never seen that. Pro tip, you can do that. Second is, how do you, have you built these as aliases that have different settings? How do you build, actually, how do you technically make Bob, if you could just give us a high level? This is not going to be super satisfying because what I did was I go into Claude and I say, I don't want to have to tell you every single time what you are.

11:42So this is your requirement is Bob. And let me pull up what Bob is here. So we'll hear this is what I've taught Bob to do. This is basically my prompt on what I want Bob to do. So this is Bob telling me, Bob's idea, everything has to plan first. I've learned over time, like you don't build until it's done planning. And I've heard guests of yours say the same thing, like plan, plan, plan first. And then everything has to be built in modules. I don't want like tons of spaghetti code. I learned that with my first project, the code gets unwieldy. so i say you're a lean builder whatever that means and then document everything we talked about that this is the important part as i say to claude i say to bob you have to stop constantly and you have to run everything by ray who's the review agent so let me get over to ray so this is ray

12:28Daniel Roth:i love this so much while you pull this over so you have actually named your clauds yes and then And you give them instructions to listen to each other. Yes, they have to talk to each other. So Ray's job is a senior software engineer who is obsessed with security and with making sure that we don't leave any of our design guidance. So I've got a whole design document also. And I make sure. So here's what Ray does. Ray, what I do, I review Bob's plan before he builds. He reviews code milestones, guards security architecture, and what he cares about. And this is what was in my prompt is member trust, security, architecture, integrity and quality.

13:12And I say and because Claude is always rubber stamping everything, I'm sure your viewers see this all the time. Everything's genius. You're always perfect. I have to tell it. You have to say no to things like you. And then I break the tie. So the third agent is me. I am the person who breaks the tie that often happens between Bob wanting to do something and racing. you can't do it.

13:34Daniel Roth:Well, can I suggest two other agents? One is Amy, the PM that says, sorry, Bob and Ray, that hasn't been prioritized yet. And then there's Joe, the AE that sells it anyway, whether or not it's been built. And then you have the whole team ready to go. Okay. So Ray and Bob work together. So how does Bob invoke Ray? So Bob has to, so let's do this. Say, I'm say we were going to build uh the retention plan all right so i use the app it finds its retention plan md uh and then i just say because bob knows what his role is i say get started so he should now go into plant bob i shouldn't even use i shouldn't personify these people so it now goes into my ai i think it's very it's you know it's just the way we work really i feel so creepy about it.

14:25I hate it. I hate it. I hate when I do it. So it's starting to read this markdown file that I showed you earlier of what this retention plan is. I came up with this weeks ago, reviewed it. I thought it was pretty good. And now we got to start building it.

14:37Daniel Roth:This is amazing. I think this is so fun. So once it's done here, it will spit out something that I have to then copy and paste into Ray. Now, what I've done in the past is I haven't built Ray and I've just said, run this past a security agent. That works. But what I don't like about it is I can't see what the security agent is saying. So what the builder agent will often just say is security passed it, or security wants me to change one thing. But because I'm trying to learn this also, I want to know what it's stumbling on. I think that's an underappreciated workflow, which is, you know, earlier when you said, I got out a cursor because I'm not looking at files, and I'm not editing things, the software engineer in me just started, like my ulcer starts to just flare.

15:20Daniel Roth:I am an aggressive code reader, but you are taking this. And I even think some of these like micro frictions that aren't necessary, like, yeah, could you spin up a Ray subagent and do all sorts of stuff? But I do think putting a little bit of friction in the process where you're actually forced to like copy and paste, put it over, read what Ray says does help with learning. And so I don't want people to, especially people that are moving from non-technical into more technical tasks to make it so efficient that you're not actually learning the process because then like you, you can set up even more powerful systems.

15:54Couldn't agree with that more. That has been, and I'm not doing this just to build, I'm doing this to learn. But what I figured out early is that I'm not going to learn how to code. Like just being realistic. Like I tried to do that. I didn't find it that interesting. And I'm like, I'm a total beginner. And I'm like, well, it's actually building code. I just want to understand why it's building what it's doing. and the problems that I find that I can solve uniquely as a human are things of like, should we prioritize this or not? Or this seems like it's going to be really expensive. Like, is this worth doing?

16:25Is 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. All right. 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 Maine. And I learned the pain of that early on.

16:57Daniel Roth: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 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 merge perfectly. It took me weeks to be able to figure out why it wasn't merging. So 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. 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.

17:34So Ray is now ready for this. I paste it in. There we go. And now Ray is going to get to work.

17:40Daniel Roth: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. What we have seen is a lot of people will maybe use like an Opus 4-5 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 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.

18:24Daniel Roth: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 you're 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 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 to start building out their own little AI productivity stack.

19:01It's such a great call. That manager, that idea of being a manager for this, you are managing these agents. So 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, we know we've learned this already. Don't you remember? Like two weeks ago, we tried to build it.

19:34It turns out that like it can't actually ping the MTA's API when the app is not on the screen. And so it's like being a manager of, I've 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.

20:01Daniel Roth:Well, an AI is very similar to how I've positioned the benefits of what we call early career talent. Yeah. 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 and a PR 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.

20:54Daniel Roth:AI innovators like Langchain, Ryder, 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 ray ray has 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 in the simulator see if it works, test it on my phone.

21:42And 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. I've got 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.

22:10Daniel Roth:I have a couple related requests for startups. We have all the coding agents we need. They're going to get better. We're fine. We are spoiled for choice. We need AI for App Store submissions. We need AI for SAP Ariba submitting procurement requests and POs. And we still need that perfect AI CRM. So all the builders out there, if you could give us these very boring but very high-value problem 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 right now, the way that I do, you know, when you do something in the App Store, you have to show what your app looks like.

22:54And 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.

Read the full transcript

23:05Daniel Roth:I love it. Okay, so ready to leave with a plan. And Bob is asking some design questions. Exactly. So this is great. So this is, I've written about this in the past, but like for a while I thought, oh, 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 like has, understands, 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?

23:41I'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 wanted. 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 there's some UX decision I have to decide.

23:58Daniel Roth: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. Yeah. 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 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.

24:37And 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 wanted to say like, oh, my God, you clipped a great part of the podcast. And so as the picky customer, I could say, this is the voice of this thing. Make it funny. And wrote some copy for that. So that's how I think about it, more than QA, because you want to bring your personality into it.

24:59Daniel Roth:Yep. All right. So in this case, it's asking me some options. It's giving me some options. I could pick my own option. Just for the sake of time, I'm going to just say, let's keep the MTA blue. All right. And it's going to start building. Great. And you're doing this all on the weekend. So are you doing, I have to ask, are you running multiple bobs and multiple rays? Do you single do it? What's your own what is your own capacity for agentic management? Bob is allowed to spin off sub Bob's. So that is the one thing. What my my prompt says you are allowed to have agents that you manage. You're responsible for these agents.

25:36I'm holding you accountable and your sub agents can't create their own sub agents. So that's my rule on how to do this.

25:42Daniel Roth:So Bob can spawn, but he's ultimately the directly responsible. Exactly. Got it. Ray cannot spawn. Ray is Ray. No, there's only one. One gatekeeper and the gatekeeper is Ray and there shall be no more. Exactly. That's very principal engineer energy. It's like one guy and you go to him and you're like, can we do this? And only he can say yes or no. And he neither manages nor can be managed. That is your Ray. Totally. Well, Claire, like one of the things that I have, I'm able to do this because I've now worked inside of a tech company for 15 years. And so I've watched how, so a lot of this is based on people I've worked with.

26:20and exactly to your point, the principal engineer, like I've watched my PM partners be like, we should really run this past Sanjay. And there's like one person who keeps coming up as like, just find out whether this is going to work or not or where we're going to make a mistake. And so that is exactly what Ray is based on.

26:36Daniel Roth:Every Ray that you've ever worked with is now like, is this, am I Ray? Okay, so we're watching Cloud Code generate code as it does. And then, you know, maybe we won't show this part, But you're just going to take this into Xcode, make sure it compiles, test it, and spend the rest of your life getting it to the App Store. Exactly. So let me just show you quickly, if I can, what this would look like. As you go into Xcode, I've actually come to really like working inside Xcode, but I think I'm probably only using like 5 % of it. I tried putting Claude into Xcode. They just built this new part of where you can actually use Claude code in Xcode.

27:17I have not found it to be worthwhile. It kept running out of memory, so I just quit using it. But you go into Xcode. You do what you do. Command, shift, K. You do a clean of this.

27:30Daniel Roth:Look at you, expert software. I should say, I don't know what I'm doing. So let's just make that clear. I have learned these things. I'm basically the bot. I'm like, Claude has told me what to do. You're the agentic browser. Exactly. That's exactly it. Like, tell me how to do this. I'm doing it. I'm just like someone's pulling my strings and then you go to build, which is what? Control B. It's going to run this thing. When it's done, it'll pop up the simulator. I can test it out. The simulator is I find like 80 % close. But you really like there's so many edge cases you don't even realize until you get it onto your phone.

28:06I test it on my phone and then I quickly ship it to Apple, get it in test flight, test it for like an hour. And then I just ship it to the App Store.

28:14Daniel Roth:And then you have all this extra time so you can make it to your train on time. Exactly. That's exactly it. This is an awesome flow. Just to recap for folks. So what we saw is sort of dueling Claude codes. One's a builder. One's sort of like an architect reviewer type. You build your, you have a standing prioritization roadmap chat in the Claude web or desktop app where you're always putting in ideas, reprioritizing them against like a simple three point framework on the weekends you pluck one of those you make a prd you give bob the prd bob invokes plan mode in cloud code it builds a plan you copy and paste that over to ray ray either green lights it or gives feedback you give it back to bob bob builds love it and then you used um keyboard commands you don't even know in Xcode and you ship it to the App Store.

29:13That is 100 % right.

29:14Daniel Roth:And you are doing all of this as someone who has not spent their career as a software engineer. I've been around a lot of software engineers. I've watched them work, but no, I have never done any of this myself. This is a flow we really haven't seen. I think it's a useful, really repeatable one that others can use. And if anybody in San Francisco used public transport anymore, then I would definitely request a regional option for us. But in the meantime, if you could build a commutely that tells me when I need to yell at my kids at what level to get out of the door to school on time, that would be...

29:55Daniel Roth:Yeah, apparently. Apparently is next. That's what we need. I'm going to replicate your flow and build that next. Nice. All right, so here it is. Commutely is now opening on this... Oh, nope. I don't have Metro up. I can never remember the command. I'm going to have to suggest for anybody who can never remember the command. Yeah. You should watch our episode with John Lindquist, who shows us how to set up terminal aliases. You can just ask Claude to set up a terminal alias that will then run these like regular things that you need to run. So if you wanted to type in Metro and have the terminal run it, you could create a terminal alias using Claude code.

30:33Daniel Roth:That's so much better. I have it like in a notes file somewhere, which I can then never find. So that's much handier. Let's go back to Cloud Code. I've just, I got to have you do this. We'll do it live. This can be a live How I AI. And say, can you make me an alias for the Metro command so it's easier to run in the future? By the way, I've really tried to not say, can you or please. This is part of how I'm like making sure that I don't personify this thing. This is how I stop the robots from taking over. This is one of two things. This will go to our last question, which is how do you talk to talk to the bots?

31:06Daniel Roth:I am so Southern. I'm like, would you pretty please do this? Please, sir. Yes, ma 'am. The other thing is actually quick parenting tip. I always find I ask my kids, like, would you do you want to unload the dishwasher? And they're like, no, I don't want to unload the dishwasher. And so that's another another thing is you don't want your AI to say no. OK, so now anytime you type in Metro, it'll restart the bundler. Amazing. Thank you. You're so welcome. How I AI, live. Wow. Just learned something new. I love that. Okay, so let's see if it's running now. So let's open the simulator. Look at it. There it is.

31:44So this is exactly what I wanted to build. This was a hidden feature on Commutely is that you could set it up to go off at certain times. Bob and Ray just worked together to build this thing. And now every day, 7 a.m., weekdays, I can get this. But now if I go to my morning commute, it's going to show me. These trains are ready. I get this. If I go to the lock screen, it'll show up here. So if you were at 14th Street, your next train's coming in five minutes. You got to start running.

32:10Daniel Roth:I love it. Okay. Download this app on the App Store. Give Dan all the feedback so he can give it to Claude, Bob, and Ray. All right, Dan, let's hop to some lightning round questions, and then I will get you back to your day job. So we get to the end of the week, and on the weekend, you can start playing with some more Claude code. So the first question I have for you is, are there any sort of non-coding workflows or tips or tricks that you think are really useful that people can pick up in like five minutes that you think are going to make their life better? We've talked this entire episode about something I just do on weekends, but most of my time was actually spent at work.

32:44I run a 400-person team. I've got a context 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 find 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.

33:48So projects that I've been like kind of like following over time.

33:52Daniel Roth: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 hit your plate during the day is a really great idea. That's exactly it.

34:25For me, this is my 30 minutes before I leave. 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 Commutely.

35:00Daniel Roth:Yeah, you can vibe code code. You cannot vibe code gross margin. So that's true. That is 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 um which i i do so we're 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.

35:41And I just I'm fighting until we get to that point. I'm holding on to my humanity. And then but I 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 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.

36:18And 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.

36:42Daniel Roth: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 keep a running newsletter called Forward Deployed Editor, which tracks how I'm learning how to AI. And it's really designed for people who are non-technical 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.

37:23And 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.

37:32Daniel Roth: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 howiaipod.com. See you next time.

From the publisher

Daniel Roth, editor in chief at LinkedIn, went from business writer to iOS app developer, without ever learning how to code. Using Claude Code, Daniel built and shipped multiple production-ready iOS apps to the App Store, including Commutely, a personalized train-tracking app for New York commuters.


What you’ll learn:

  1. How to set up a dual-agent Claude Code system (builder + reviewer)
  2. Why being a “picky customer” is the right mindset for non-technical builders
  3. How Daniel prioritizes features using AI-ranked impact vs. build time
  4. Why saving everything as Markdown files creates long-term context
  5. The importance of branch-based development—even when AI writes the code
  6. How Daniel ships to the App Store without formal engineering experience
  7. His end-of-day “What did I drop the ball on?” Copilot workflow

—

Brought to you by:

WorkOS—Make your app enterprise-ready today

Vanta—Automate compliance and simplify security

—

In this episode, we cover:

(00:00) Introduction to Daniel Roth

(02:46) Daniel’s AI development workflow overview

(05:56) Using Claude to prioritize feature ideas

(08:58) Building vs. marketing

(09:47) Creating a retention plan for his app

(10:38) Introducing Bob the Builder and Ray the Reviewer

(13:50) How Bob and Ray work together to build features

(14:37) Why Daniel focuses on learning the process

(16:34) The importance of using branches for development

(17:39) Managing AI agents like managing a team

(21:12) Navigating the App Store

(23:06) Being a “picky customer” rather than a PM

(25:00) Testing in Xcode and shipping to the App Store

(28:14) Quick recap

(30:00) Creating terminal aliases with Claude

(31:38) Demo of his Commutely app

(32:10) Using Copilot to manage work responsibilities

(35:05) How Daniel talks to AI without personifying it

—

Tools referenced:

• Claude: https://claude.ai/

• Claude Code: https://claude.ai/code

• Cursor: https://cursor.sh/

• Xcode: https://developer.apple.com/xcode/

• Canva: https://www.canva.com/

• Microsoft Copilot: https://copilot.microsoft.com/

• Terminal: https://support.apple.com/guide/terminal/welcome/mac

• Obsidian: https://obsidian.md/

—

Other reference:

• Commutely (iOS app): https://apps.apple.com/us/app/commutely/id6755789873

—

Where to find Daniel Roth:

LinkedIn: https://www.linkedin.com/in/danielroth1/

Newsletter: https://www.linkedin.com/newsletters/forward-deployed-editor-7378272989982683137/

—

Where to find Claire Vo:

ChatPRD: https://www.chatprd.ai/

Website: https://clairevo.com/

LinkedIn: https://www.linkedin.com/in/clairevo/

X: https://x.com/clairevo

—

Production and marketing by https://penname.co/. For inquiries about sponsoring the podcast, email jordan@penname.co.

More from How I AI

All 103 episodes
From journalist to iOS developer: How LinkedIn’s editor builds with Claude CodeHow I AI · 38 min
Listen in VO