Clean code, S.O.L.I.D., testability, abstractions, separation of concerns, etc.

These and other important iOS / Swift development good practices
explained simply and with memes 🤣

Recent Posts:

Code Review in the Age of AI
  • 2026-07-24
  • 23 min read
AI Broke Code Review. Here’s How to Rebuild It

You're deep in a tricky bug when Slack pings: a colleague needs a code review. You sigh and click through. 47 files changed. 2,800 lines added, 400 removed. The size of the commit suggests the code wasn't written entirely by hand. That suspicion is confirmed the moment you start scrolling.…

Refactoring Thumbnail - How to Refactor an RxSwift Monolith into a Modular Swift App
  • 2026-06-02
  • 22 min read
How to Refactor an RxSwift Monolith into a Modular Swift App

Imagine a quarter-long refactor: turning a big ball of mud, held together by RxSwift and 1500-line view models, into a modular, fully testable codebase. All while actively developing other features and shipping the app. What triggered that massive refactor? An innocuous estimation request. And a decision that shaped the future…

ISP Thumbnail - Interface Segregation Principle in iOS: The Protocol That Became a Prison
  • 2026-04-11
  • 18 min read
Interface Segregation Principle In IOS: How To Prevent A Protocol From Becoming A Prison

It's Monday morning. You're halfway through your coffee when a Slack message pops up from the Platform team: Hey, we noticed UserService.fetchLoyaltyPoints() is throwing an error for 12% of users. Can you take a look? You open UserService.swift, and your heart sinks. Eleven dependencies. Twenty-five methods. Eight hundred forty-seven lines…

How to Migrate to @Observable Without Breaking Your App
  • 2026-02-16
  • 16 min read
How to Migrate to @Observable Without Breaking Your App

So, you've finally convinced stakeholders to raise the deployment target from iOS 15 to iOS 17 - and the first thing on your mind is @Observable. You've read the docs, watched the WWDC sessions - it looks like a straightforward swap. Replace ObservableObject, drop the @Published wrappers, change @StateObject to…

Thumbnail - How AI Coding Agents Make Development Standards Stick
  • 2026-01-12
  • 23 min read
Why Top Teams Trust AI To Maintain Development Standards And Code Quality?

If you've cared about code quality and consistency before AI-assisted coding became standard, you surely understand the pain of setting development standards in the team. It's an endless cycle: writing documentation that nobody reads, explaining conventions everyone forgets, and leaving the same code review comments for the hundredth time... Finally,…