Deep topics, not the basics
Where we talk about advanced native iOS and Android topics. Tell us where you're stuck, measure your team's health and test how current you are.
Four doors, one goal: more solid mobile apps
Tell us where you're stuck
Leave your technical problem and let's solve it together. We publish selected answers anonymously.
Ask a questionLeadership check-up
Map the risks in your project and team in 20 questions.
Start the check-upiOS: how current are you?
10 questions on Swift 6, SwiftUI, privacy and security.
iOS quizAndroid: how current are you?
10 questions on Kotlin, Compose, Play policies and security.
Android quizLevel by level, from easier to harder
Should you really delete every singleton?
What hurts in large iOS and Android codebases is hidden access and global mutable state; having exactly one instance of something hurts nobody. Which singletons stay, which get scoped to the session and which go, step by step with Swift 6 and Hilt.
ReadDependency injection done wrong: DI container anti-patterns on iOS
Adding a DI container to a project does not mean you inject dependencies. We cover resolve calls that turn into a service locator, registrations that crash on the screen QA never opened, the god container and SwiftUI environment traps, then the composition root we use instead and the migration.
ReadDependency injection done wrong: DI container anti-patterns on Android
Having Hilt or Koin installed does not mean your dependencies are managed. How graphs where everything is @Singleton, service locators in disguise and the 80-@Provides AppModule come to exist, and how to clean them up step by step.
ReadWe don't teach the basics here
Need hands-on help for your team?
To apply what we discuss in the Lab to your project, we're here with audits and advisory.