Skip to content

Oussama Aniba

Members Public

Offline-First Kotlin Multiplatform with Room and Ktor

A pragmatic architecture for KMP apps where the local Room database is the source of truth and Ktor is a background sync engine — not a request/response layer bolted onto the UI.

Offline-First Kotlin Multiplatform with Room and Ktor
Members Public

Flutter CI/CD with Fastlane & GitHub Actions — Part 3: Wiring it into GitHub Actions

Series recap: Part 1 got iOS shipping to TestFlight locally. Part 2 added Android and solved the iOS signing puzzle with match. This one — the payoff — hands the whole thing over to GitHub Actions so you never touch a build machine again 🎉 You made it. This is the fun part.

Flutter CI/CD with Fastlane & GitHub Actions — Part 3: Wiring it into GitHub Actions
Members Public

Flutter CI/CD with Fastlane & GitHub Actions — Part 2: Android + match

Series recap: In Part 1 we got Fastlane shipping iOS builds to TestFlight from a local machine. This one does the same for Android and then fixes the signing mess with match. Part 3 hands everything to GitHub Actions. Welcome back 👋 If you followed Part 1, you now have a

Flutter CI/CD with Fastlane & GitHub Actions — Part 2: Android + match
Members Public

Flutter CI/CD with Fastlane & GitHub Actions — Part 1: iOS

Series note: This one grew big while I was writing it, so I'm splitting it into 3 parts. Part 1 (this one) gets you shipping to TestFlight from your local machine. Part 2 will do the same for Android. Part 3 is where we hand the whole thing

Flutter CI/CD with Fastlane & GitHub Actions — Part 1: iOS
Members Public

Dependency Injection in Kotlin Multiplatform (KMP) with Koin

As a mobile developer Dependency Injection (DI) is a design pattern in software engineering where an object's dependencies are provided (or "injected") by an external entity rather than the object creating the dependencies itself. This is typically achieved through a constructor, setter, or interface injection. The

Dependency Injection in Kotlin Multiplatform (KMP) with Koin