From journalist to iOS developer: How LinkedIn's editor builds with Claude Code | Daniel Roth
Summary
LinkedIn’s editor-in-chief Daniel Roth shipped production iOS apps to the App Store without coding experience, using a dual-agent Claude Code workflow where one agent builds and another reviews. His approach treats AI agents like team members you manage rather than tools you operate, with structured processes (branches, markdown context files, impact-vs-effort prioritization) that mirror professional engineering practices.
Key Insight
- Dual-agent pattern (“Bob the Builder” + “Ray the Reviewer”): One Claude Code instance writes code, another reviews it. This separation catches bugs and quality issues that a single agent misses, mimicking a real dev team’s PR review process.
- “Picky customer” mindset over PM mindset: Rather than writing detailed specs upfront, Daniel acts as an opinionated end-user who keeps rejecting output until it meets his bar. This works better for non-technical builders than trying to write technical requirements.
- AI-driven feature prioritization: He feeds feature ideas to Claude and asks it to rank by impact vs. build time, creating a lightweight prioritization framework without needing product management experience.
- Markdown files as persistent context: Saving everything (decisions, specs, learnings) as markdown creates a knowledge base the AI can reference across sessions, solving the context-loss problem between conversations.
- Branch-based development even with AI: Using git branches for each feature prevents AI-generated code from breaking the main app, and provides rollback safety. This is a discipline most non-technical builders skip.
- End-of-day “What did I drop the ball on?” workflow: Using Copilot to review his work responsibilities and surface missed items, treating AI as an accountability partner for his day job.