📍 Location: Remote (Contract)
🗣 Language: English – B1+
💼 Level: Senior
👥 Engagement: Contract (8–12 weeks, possible extension up to 3–4 months; Full-time or Part-time, main focus — meeting the project deadline)
⏰ Start: ASAP
🏢 Project Overview
This is an internal project at UppLabs. We are looking for a Senior Android Developer to work on an Android Digital Signage network for retail.
The project includes:
- Android Player App running in kiosk mode on dedicated screens
- Scheduled media playlists (video/images) playback
- Offline-first caching: download media, validate integrity, manage storage cleanup
- Remote device management and monitoring
- Close collaboration with backend and frontend teams for smooth integration
The role is focused on delivering the MVP/Pilot phase with a clear deadline of 3–4 months. This is a contract role, either Full-time or Part-time, with the main goal being project completion within the timeline.
✅ Technical Stack
- Android: Kotlin, AndroidX
- Media Playback: ExoPlayer / Media3
- Architecture: MVVM / Clean Architecture (preferred), Coroutines + Flow
- Background Work: WorkManager, Foreground Services (if required)
- Networking: Retrofit / OkHttp
- Storage: Local caching (files), checksum validation
- DI: Hilt / Dagger
- Backend Integration: REST APIs over HTTPS, JWT-based device authentication
- CI/CD: GitHub Actions, Gradle
- Monitoring / Crash Reporting: Firebase Crashlytics / Sentry (optional)
🎯 Ideal Candidate
- 5+ years of professional Android development experience
- Experience with kiosk mode / lock task mode
- Strong understanding of offline-first architecture and caching
- Experience with media playback on Android (ExoPlayer / Media3), including video rendering performance and device codec differences
- Experience integrating with REST APIs and device authentication
- Experience with background processing tools (WorkManager, Foreground Services if required)
- Debugging and performance profiling skills (memory leaks, playback issues, ANRs)
- Ability to write clean, maintainable code and follow architecture best practices
Nice to Have:
- Android Enterprise / Device Owner provisioning
- MDM deployments or Private Play Store distribution
- Real-time device monitoring / IoT-like systems
- Familiarity with crash reporting and remote diagnostics (Firebase Crashlytics, Sentry, etc.)
- OTA update strategies for Android fleets
🛠 Responsibilities
- Develop the Android Digital Signage Player App (Kotlin)
- Implement kiosk mode / lock task mode reliably on multiple devices
- Auto-start on boot and recovery mechanisms for unattended devices
- Build a media playback engine for videos and images (playlists, loops, transitions)
- Offline-first caching and storage management
- Integrate with backend APIs: device registration/pairing, heartbeat/status reporting, playlist synchronization, remote commands (refresh/reboot)
- Ensure performance and reliability for long-running playback sessions
- Collaborate with backend and frontend teams to define API contracts and ensure smooth integration
- Support testing, debugging, and pilot deployment on real devices
🚀 Hiring Process
1️⃣ Screening with recruiter
2️⃣ Technical interview
3️⃣ Offer