How I AI: Daniel Roth’s Dueling Agent Workflow for Building iOS Apps
LinkedIn Editor Daniel Roth shows how he builds production-grade iOS apps like Commutely using a dual-agent Claude Code setup (Bob the Builder and Ray the Reviewer) and manages his day with a killer Copilot prompt.
Claire Vo

In this episode, I was so excited to sit down with Daniel Roth, the editor of LinkedIn. What I love about Dan’s story is how it mirrors the journey so many of us are on. He started his career as a business writer and editor at places like Fortune and Wired, and he remembers the disruption when blogging democratized publishing. Now, with generative AI, he's seeing a similar shift in software development, but this time he’s on the other side—embracing the change to become a builder himself.
Dan has gone from being a non-technical writer to a self-described “vibe coder,” shipping real iOS apps to the App Store. He had all these ideas but used to have to petition engineers and PMs to get anything built. Now, he just builds them himself. It’s a story we’re hearing more and more: the explosion of creativity when the barrier to creation is lowered. Dan’s obsession has led to some fascinating and practical workflows that I think everyone can learn from, whether you’re a seasoned engineer or just starting out.
He walked me through his entire process, from ideation to shipping an app. We covered his “dueling cloud code” setup that uses two AI personas—Bob the Builder and Ray the Reviewer—to ensure code quality. We also looked at how he manages his day job as a leader of a 400-person team with a brilliant Microsoft Copilot prompt. These aren't just theoretical ideas; they are battle-tested workflows that Dan uses every weekend to turn ideas into reality.
Workflow 1: AI-Powered Feature Prioritization
Before you can build, you need to know what to build. For his iOS app Commutely — designed to help New Yorkers know whether to walk or run for the train — Dan gets a lot of feature requests from his community. To manage this, he uses a simple but effective system inside a single Claude chat.
He keeps a running project called “Commutely Feature Idea and Tracker.” The magic is in the initial prompt he gave Claude, which turns it into a quasi-product manager.
The Prioritization Prompt
Dan gave Claude a clear set of instructions for how to evaluate every new idea he logs:
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 (in estimated back-and-forth hours), potential impact score on two 1-to-3 scales: customer happiness and growth impact.
Every time he adds a new idea, Claude updates a Markdown table, ranking all features by the estimated build time. This allows him to quickly see what he can tackle in a free afternoon or weekend. It’s a pragmatic way to turn a backlog of ideas into an actionable roadmap, balancing effort and impact without getting bogged down in complex spreadsheets.
This is a fantastic, low-friction way for solo builders to maintain a feature roadmap. When he has a couple of hours, he just pulls up the chat, finds a high-impact, low-effort feature, and gets to work.
Workflow 2: Dueling Agents - Bob the Builder & Ray the Reviewer
This is the core of Dan’s development process. He doesn't just ask an AI to write code; he orchestrates a team of AI agents with distinct roles and responsibilities. He uses Claude Code in his Terminal and has set up two primary personas: Bob the Builder and Ray the Reviewer.
He was inspired by watching how teams work inside a tech company. There’s always the person who builds and the senior engineer you run things by for a gut check. He’s replicated that dynamic with AI.

### Step 1: Meet the Team
Bob the Builder:
Bob's job is to be the lean, modular builder. Dan has instructed him to always plan first, build in modules to avoid spaghetti code, and document everything in Markdown files. Crucially, Bob is programmed to stop and run everything by Ray before and after building.
Bob is a 'lean builder' who plans first, builds in modules, documents everything, and MUST run everything by Ray, the review agent.

Ray the Reviewer:
Ray is the senior software engineer obsessed with security, architecture, and quality. His prompt defines his priorities: member trust, security, and architectural integrity. Dan explicitly tells Ray that he must say no to things and not just rubber-stamp Bob's work. Ray acts as the gatekeeper.
Ray is a 'senior software engineer' focused on security and quality. He reviews Bob's plans and code, and is explicitly told to push back and say 'no' when necessary.
Dan acts as the tie-breaker, the manager who makes the final call when Bob and Ray disagree.

### Step 2: The Builder-Reviewer Handoff
The workflow is a manual but deliberate copy-paste process that forces review and learning.
- Task Assignment: Dan gives Bob a task, like building the retention plan they prioritized in the first workflow. He uses the
@symbol to bring the relevant Markdown file (retention_plan.md) into context. - Bob's Plan: Bob reads the file and generates a detailed, step-by-step implementation plan.
- Ray's Review: Dan copies Bob’s entire plan and pastes it into the chat with Ray. He doesn't use a sub-agent because he wants to see the feedback himself to learn what he might be missing.
- Feedback Loop: Ray analyzes the plan for architectural soundness, security risks, and edge cases. In our session, Ray approved the plan but raised some important edge-case concerns for Dan to consider.
- Build Approval: Dan copies Ray's feedback and gives it back to Bob, along with the green light to start coding.
This back-and-forth prevents the AI from going down a bad path and mirrors a real-world code review process. Dan emphasized the importance of building in branches—a lesson he learned the hard way after a painful merge conflict took weeks to resolve.

### Step 3: From Code to App Store
Once Bob generates the code, Dan takes over.
- Xcode Integration: He copies the code into Xcode.
- Build & Test: He cleans the build (
command shift K) and then builds the app (Control B) to run it in the simulator. - Live Debugging: During our session, we even did some live AI-driven development. Dan couldn’t remember a terminal command, so we asked Bob on the fly to create a terminal alias to make it easier to run in the future.
- Ship It: After testing on the simulator and his own phone, he ships the update to the App Store, navigating its notoriously tricky submission process with help from Claude.
What I love about this is how Dan has adopted the mindset of a “picky customer.” He’s not just a PM or a QA tester; he’s the ultimate user, ensuring the app’s voice, style, and functionality meet his exact standards.
Workflow 3: The End-of-Day Copilot Catch-Up
For his day job, Dan switches from builder to manager. To stay on top of everything, he relies on Microsoft Copilot. Instead of a morning digest, he does an evening nudge to make sure nothing has slipped through the cracks. This is a workflow every manager should steal.
About 30 minutes before he signs off, he runs a simple prompt.
The Prompt to Never Drop the Ball Again
What did I drop the ball on?For our show, he added a line to protect privacy: anonymize any person or project names as this will be seen by people I don't work with.

Copilot scans his emails, Teams messages, and files, using its knowledge of his role, his team, and the projects he follows. It then generates a prioritized list of things that need his attention—an unsent draft reply, a meeting follow-up he missed, or an escalation he needs to address. It's his personal safety net, ensuring he can wrap up his day with a clean slate and then go spend his weekends building money-losing apps, as he jokes.
This is such a powerful shift. Instead of starting the day overwhelmed, you end it feeling in control.
Final Thoughts
Dan's journey is a perfect example of how AI is empowering a new class of builders. By assuming the role of a manager for his AI agents—and a picky customer for his products—he’s able to build high-quality software without a traditional engineering background. His workflows show that with the right process and a willingness to learn, anyone can turn their ideas into reality.
His advice to assume best intentions, both with people and with AI, is something that resonates deeply. You're not yelling at it; you're guiding a smart but sometimes forgetful intern. It's about providing clear direction, reminding it of past lessons, and ultimately, holding it accountable. I hope this inspires you to start building your own projects, whether it’s an app, a script, or just a better way to manage your day.
***
Brought to you by
- [WorkOS](https://workos.com/?utm_source=podcast&utm_medium=how-i-ai&utm_campaign=sponsorship)—Make your app Enterprise Ready today
- [Vanta](https://www.vanta.com/howiai)—Automate compliance and simplify security
***
Episode Links
- YouTube: https://youtu.be/HbWu_eYIHKQ
- Spotify: https://open.spotify.com/episode/6eFi0EwVTHsLw2W5L9RJNz?si=PMdK9Wd7TUuutV-l438Xfg
Find more from Daniel Roth on LinkedIn and in his newsletter, Forward Deployed Editor. And you can always find me on LinkedIn, X, or at clairevo.com.
Try These Workflows
Step-by-step guides extracted from this episode.

How to Use a Simple Copilot Prompt to Never Drop the Ball Again
Use this simple, powerful workflow in Microsoft Copilot to ensure nothing slips through the cracks. A single end-of-day prompt helps you identify missed tasks, unsent emails, and pending follow-ups.

Build iOS Apps with a Dueling AI Agent Workflow
Use a 'dueling agent' system with two AI personas, a builder and a reviewer, to write and review code. This workflow mimics a real-world engineering team to improve code quality, security, and architectural soundness.

How to Use Claude for AI-Powered Feature Prioritization
Turn Claude into a product manager to maintain a dynamic feature roadmap. This workflow helps you track, evaluate, and prioritize feature ideas for your project by balancing development effort with potential impact.


