Avetics Global · Dec 2022 – Present · Singapore
DJI Drone-Control Platform
- Kotlin
- DJI Mobile SDK
- TCP Sockets
- Multi-module
- MVVM · MVI
- Firebase
- Problem
- Avetics builds enterprise UAV solutions for inspection, surveillance and infrastructure monitoring. Its flagship Android app — the pilot’s remote control for DJI drones — needed a ground-up rewrite: real-time camera feeds, autonomous flight operations, and zero tolerance for failure while an aircraft is in the sky.
- My role
- Senior Android Engineer. I owned the full architectural rewrite from scratch and set the engineering standards for the 6-person Android team.
- Architecture & tech
-
- Multi-module architecture with MVVM and MVI patterns, adopted team-wide
- DJI Mobile SDK integration: live camera feeds and autonomous flight operations
- Custom TCP socket infrastructure for low-latency, real-time hardware-to-device communication
- Firebase authentication and realtime database
- Drove team adoption of Jetpack Compose, Hilt DI and Kotlin Coroutines
The hard problem · Mission-critical, real-time, no safety net
A drone-control app cannot drop frames or lose its link mid-flight. The rewrite had to deliver low-latency video and reliable hardware communication while replacing the production system pilots already depended on — which is why I designed the socket layer and module boundaries first, and migrated feature by feature.
Outcome
- In active production use today, controlling real flight operations
- Team-wide architecture standards that measurably improved maintainability and onboarding speed
- AI-assisted development workflow (Claude Code, Gemini CLI, Cursor) embedded into the team’s daily practice