How to Architect iOS Apps properly using CoreBluetooth/CBPeripheral/BLE | Live Mentoring
/Want to learn how to architect iOS apps to connect with many different devices via Bluetooth?
Read MoreSkilled, disciplined and professional iOS software development resources tailored for you
Want to learn how to architect iOS apps to connect with many different devices via Bluetooth?
Read MoreHave you ever had doubts or difficulty modularizing your iOS apps' architecture? For example... 👇
Read MoreTo become a complete senior developer, you need to know how to implement analytics in large apps with large teams.
Read MoreTo become a complete senior iOS developer, you need to know how to choose frameworks and tools. And also how to apply architectural patterns to defer such decisions.
Read MoreLearn how to decouple and seamlessly switch between frameworks and protocols like XMPP without rewriting your iOS apps.
Read MoreLearn two essential practices for scaling large iOS projects, and how to learn topics like CI/CD and TDD when there are no senior developers around to teach you.
Read MoreLearn how to use the Fluent Builder Pattern to make illegal states unrepresentable in your iOS/Swift codebases.
Read MoreLearn how to apply dependency injection principles and patterns in practice - including UIKit and SwiftUI!
Read MoreLearn how to apply design principles and patterns in practice, including the SOLID principles and the Abstract Factory, Adapter, Strategy, and Dependency Injection patterns.
Read MoreLearn how to create scrollable content with SwiftUI's List view and how to implement a recursive navigation flow.
Read MoreFirst-class iOS engineering with Empathy, Integrity, and Economics in mind. Skilled and disciplined training for iOS professionals and teams.
I've been writing software since 1998, professionally since 2006, and on Apple platforms since 2009. I love building robust, well-engineered, and beautiful applications and coaching developers to achieve their best potential.
I'm a software engineer from Athens, Greece. My goal is to help the software industry evolve by enabling developers and companies to practice valuable techniques and build powerful and durable systems.