Hey Reader, AI agents struggle with iOS development for a simple reason: they can’t actually run Xcode. In this video, I have an impromptu conversation with Cameron Cooke from the UK about XcodeBuildMCP, a tool that finally lets AI build and run iOS apps in the Simulator. We talk through the backstory, the real problems it solves, and why this changes how AI agents work with iOS and macOS apps. If AI + Xcode is Broken for you, then you might need this tool. Watch here: AI Couldn’t Run My iOS...
29 days ago • 1 min read
Hey Reader, New Codex models are incredibly good for Swift code for iOS/macOS apps. You can easily install codex via here Just open Terminal/Ghostty and type: npm i -g @openai/codex Using codex, you can use simple language to talk to your agent. See the first video if you want a breakdown on the tools I am using, and some of the rules in my agents.md rule file. Spider Warning: if you're afraid of spiders, you won't want to watch these videos. I am making a dangerous spider identification app,...
about 1 month ago • 1 min read
Hey Reader,Codex surprised me last night. Last night I filmed my unedited workflow with OpenAI's newest model: GPT 5.1 Codex Max. Codex just changed my entire Swift workflow. Codex just fixed a swift bug I couldn't solve (after 12 failed attempts) I literally just talked to it (no complex Plan.md or PRD.md) It explained and executed everything quickly My app is a mix of SwiftUI, AppKit, and Swift. I'm targeting macOS 15+ and Swift 6.2 using AVFoundation and Core ML. The new OpenAI coding...
about 2 months ago • 1 min read
Hey Reader,What a week for AI coding! I have been diving deep into AI coding assistants and this week was incredible! Gemini 3 Pro launched Grok 4.1 is in beta (API somewhere?) ChatGPT 5.1 Pro dropped (The best intelligence) GPT 5.1 Codex Max launched It'll take some time, but I have some early thoughts in the video below . . .Want to see my workflow? Watch my live demo with each of these new tools. It's unedited, so you'll see exactly how I work, and all the failure points. (Spider warning...
2 months ago • 2 min read
Hey Reader, It's been a while since I sent an email. We had our second baby girl!It has been crazy here with a newborn. Our new daughter is 14 weeks old and we have a three year old toddler . . . So things have been crazy, and I haven't had time to write. But I do have some updates. I've been spending a lot of late nights and early mornings with AI, specifically Claude Code and now codex. I want to share the journey. I haven't had time to write or make videos because I have been knee-deep in...
2 months ago • 3 min read
Hey Reader, I hope you’re having a fantastic morning. I’m out on my deck enjoying the sunrise and a cup of coffee. This month has been busy because we’re expecting a baby alien in the next week or two. I haven’t had time to write to you, but I wanted to give you an update on what I’ve been working on. Before the baby arrives, I decided to refocus on shipping my app, Brew Coffee. I have been working on some experimental UI changes and alternative recipes. Here's an experimental view of James...
6 months ago • 1 min read
Hey Reader, In 45 minutes I’ll show you how to give your Swift Charts that Apple-level polish—no design degree required. I start with raw spending data and end with a stunning Budget Widget—Perfect for a quick glance. You’ll walk away knowing how to: Style bar charts and labels to match any design Hide grid lines and format weekdays for clarity Wire up a BudgetViewModel that feeds live data 👉Watch: Build a Budget Widget with Swift Charts ⚡ (45-min) Need hands-on practice? Clone the starter...
8 months ago • 1 min read
Hey Reader, How do you translate your app into multiple languages? At GoPro, I partnered with the localization team to establish best practices—and with the new String Catalog, you can extract all your Text() strings at build time so nothing slips through the cracks. 🎥Watch SwiftUI iOS Localization Tutorial: Master String Catalogs in Xcode 16 You’ll learn: Best practices for localization How to test translations in both iOS apps and widgets How to Preview different languages in SwiftUI How to...
8 months ago • 1 min read
Hey Reader, Last night, I had a breakthrough. The weeks of effort exploring different options finally paid off – it felt fantastic. I was tired, but accomplished. Below, I will share three stories about the unknown and how to push through even if you're unsure what to do. Programming can be hard. It can be fun. And it can be hard again. I have been busy traveling and had family visiting. And I have been wrestling with build issues around legacy code. Sometimes when you learn something new,...
9 months ago • 2 min read