SwiftUI NavigationStack: 7 things that change from NavigationView
NavigationStack replaced NavigationView in iOS 16. Here are the seven differences that matter most during the migration.
CQRS: 3 places it actually helps, 5 places it’s overengineering
CQRS (Command Query Responsibility Segregation) comes up in every architecture debate. Where does it actually add value, and where is it just…
MVVM vs The Composable Architecture: when to pick which
TCA is a popular recommendation in the iOS community. After 12 apps on MVVM, I tried it. Here's a realistic comparison.
Event-driven architecture: hype, or real use cases?
Every big conference talks about event-driven. Where does it actually earn its keep in real products, and where is it just complexity?
From Combine to async/await: a six-week code diff
I moved an iOS app from Combine to async/await. What I gained, what I lost, with real code numbers.
Drawing bounded-context boundaries: 4 concrete ways
Bounded context is DDD's most confusing idea. Four angles that let you actually draw the line.
SwiftData or CoreData? Choosing after iOS 17
Apple started replacing CoreData with SwiftData. I've shipped both on real apps; in some situations CoreData still wins. Practical selection criteria.
Domain-driven design in practice: when it’s overkill, when it saves you
DDD isn't for every project, but for the right project it's the only way out. From years of consulting: when it earns…
How to stop getting rejected by App Store review: lessons from 40+ submissions
Every rejection costs three days. I've made 40+ submissions across 12 apps. Here are the reasons I've been bounced most, and how…
SwiftUI state: when to reach for @State, @Observable, or @Environment
SwiftUI's state APIs feel tangled. Here's a practical decision tree worth the two minutes it'll save you on picking the right one.
How I hold a 0% crash rate across 12 App Store apps
Crash-rate discipline doesn't come from a tool, it comes from a code culture. The concrete techniques I use in production.
How I stopped silently losing 10% of StoreKit 2 subscription revenue
Five subscription-flow edge cases that look fine in code but quietly leak money. The expensive lessons I picked up moving to StoreKit…