A while back, I posted on X about how folks manage the context windows for their AI agents. In response to that post, the person who built FlowDeck reached out and asked if I’d give it a try. My workflow was mostly fine as-is (build with Cursor, tell it to check builds with xcodebuild, and […]
Read postA while back, my app crashed mid-workout at the gym. I uploaded the crash report, gave my AI agent some context, and went back to my set. By the time I finished, there was a pull request waiting for me. I reviewed it, merged it, and had a fixed TestFlight build on my device shortly […]
Read postAI is changing how we build apps. That’s not news. What might be less obvious is how this shift is forcing us to think differently about what actually matters in development. In this post, I want to share my balanced thoughts on AI-driven coding. I’d like to give you my perspective on why tons of […]
Read postPaid up front apps can be a tough sell on the App Store. You might be getting plenty of views on your product page, but if those views aren’t converting to downloads, something has to change. That’s exactly where I found myself with Maxine: decent traffic, almost no sales. So I made the switch to […]
Read postSwiftData migrations are one of those things that feel optional… right until you ship an update and real users upgrade with real data on disk. In this post we’ll dig into: How to implement schema versions with VersionedSchema When you should introduce new schema versions When SwiftData can migrate automatically and when you’ll have to […]
Read postWhen you write for item in list the compiler quietly sets a lot of machinery in motion. Usually writing a for loop is a pretty mundane task, it’s not that complex of a syntax to write. However, it’s always fun to dig a bit deeper and see what happens under the hood. In this post […]
Read post