Compose Multiplatform Mobile Developer (iOS & Android)
Project Type: Fixed-price contract Budget: $500-$1,000 (based on experience) Experience Required: Minimum 2 years in mobile development
About the Project: We're building a high-performance mobile application using Compose Multiplatform that shares both UI and business logic across iOS and Android platforms. The project follows modern MVI architecture with production-ready patterns and requires handling high-load scenarios with optimal performance.
Technology Stack (Must Have Experience With):
Core Technologies:
- Kotlin 2.2+ (essential)
- Kotlin Multiplatform Mobile (KMM/KMP)
- Compose Multiplatform 1.9+ for shared UI
- MVI Architecture (Model-View-Intent pattern)
- Orbit-MVI for state management
- Koin for dependency injection
UI & Navigation:
- Jetpack Navigation Compose with type-safe routes
- Material Design 3 components
- Coil for image loading
- Adaptive UI for different screen sizes
Networking & Data:
- Ktor Client 3.x for networking
- Kotlinx Serialization for JSON parsing
- Room Database with SQLite for persistence
- DataStore for preferences management
Async & Reactive Programming:
- Kotlin Coroutines and Flow
Platform-Specific:
- Understanding of expect/actual pattern for platform differences
- iOS: Darwin engine for Ktor, iOS-specific implementations
- Android: OkHttp engine, Android-specific features
Key Responsibilities:
- Develop features following strict MVI architecture pattern
- Implement shared UI components using Compose Multiplatform
- Optimize application performance for high-load scenarios
- Handle platform-specific implementations using expect/actual
- Implement proper state management with Orbit-MVI
- Write clean, testable, and well-documented code
- Ensure consistent user experience across iOS and Android
- Test applications on both platforms under various load conditions
Required Technical Skills:
- Kotlin (2+ years of experience)
- Compose Multiplatform and Compose UI
- MVI/MVVM architecture patterns
- Orbit-MVI or similar state management libraries
- Koin or other DI frameworks (Dagger/Hilt knowledge is plus)
- Ktor Client for networking
- Room Database for local persistence
- Kotlin Coroutines and Flow (must be proficient)
- Kotlinx Serialization for JSON handling
- Understanding of expect/actual declarations
- Git version control and Git Flow
- Performance optimization and profiling
- Memory management and leak prevention
- Asynchronous programming best practices
Architecture Requirements:
- Deep understanding of MVI pattern (State, Action, SideEffect)
- Experience with Orbit-MVI or similar libraries (MVI Kotlin, RxJava MVI)
- SOLID principles and clean architecture
- Feature-based module organization
- Separation of concerns (ViewModel, UI, State)
- Error handling patterns with sealed interfaces
- Navigation patterns with type-safe routes
Code Quality Standards:
- Following DRY, KISS, YAGNI principles
- Proper use of Kotlin features (sealed classes/interfaces, data classes, value classes)
- Understanding of code complexity (Big-O analysis)
- Experience with code reviews and best practices
Nice to Have:
- Experience with Jetpack Navigation Compose
- Knowledge of Coil image loading library
- Experience with DataStore or SharedPreferences
- Understanding of Compose recomposition optimization
- Previous KMP projects in portfolio with high-load requirements
- Experience with Chucker or similar debugging tools
- Knowledge of Yandex MapKit or other map SDKs
- CI/CD setup for multiplatform projects
- Experience with automated testing (Unit, Integration, UI tests)
- Background in database optimization (Room, SQLite)
To Apply: Please provide:
Compose Multiplatform portfolio - share GitHub links or project examples
MVI/MVVM experience - describe your architecture approach
Technology stack familiarity - rate your experience (1-5) with:
- Kotlin Multiplatform
- Compose Multiplatform
- Orbit-MVI or similar state management
- Ktor Client
Code sample (optional but preferred) - show us your coding style
Interview Process:
- Portfolio review
- Technical discussion about architecture and patterns
- Code review
- Final discussion about project timeline and approach