Architecture With Nico

Practical software architecture and design for iOS engineers.

About Nicolás Frugoni

I am a software developer with more than 8 years of experience building mobile apps, web applications, backend services, and videogames. These days I focus mostly on iOS development, especially the parts of architecture that make a codebase easier to change over time.

Architecture With Nico is for iOS engineers who have outgrown pattern names and want practical ways to make software easier to maintain. I write about composition, dependency boundaries, naming, testability, navigation, use cases, and the small design decisions that either protect a team or quietly slow it down.

My goal is to make software architecture feel less abstract. Instead of only talking about Clean Architecture, SOLID, MVVM, MVP, coordinators, or dependency injection as theory, I try to show how those ideas appear in real Swift code and where their tradeoffs begin.

I care about code that tells the truth: names that explain intent, modules with clear reasons to change, use cases that model domain decisions, and composition roots that keep app wiring explicit. Good architecture is not about adding ceremony. It is about making change less scary.

Whether you are early in your architecture journey or already working in a large iOS codebase, I hope these articles give you language, examples, and ideas you can apply in your own projects.

Start with What Makes Good Software Architecture? if you want the broad view, or Practical Polymorphism in Swift if you want the most hands-on example.