sabbir.khan

Projects

Work that shipped — and how it was built.

Two kinds of proof. Case studies from enterprise and startup work — problem, role, architecture, outcome. And public work you can install or read the source of today.

Tier one

Case studies

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

Volarious · Apr 2024 – Present

V-Assist — Precision Drone Operations

  • Kotlin
  • Computer Vision
  • Video Codecs
  • DJI
  • Play Store
Problem
V-Assist is a production app for drone-assisted line-status monitoring. Its headline premium feature: the drone scans a QR code from the air with its camera, tracks it while flying, and lands precisely on top of it. The feature was already marketed — and the release date was fixed.
My role
I owned the feature end-to-end on the Android-based DJI remote control, from investigation to shipped code.
Architecture & tech
  • Real-time QR detection on the live drone camera feed
  • Video codec and rendering pipeline tuning on the Android remote controller
  • Autonomous tracking and precision-landing control loop

The hard problem · Real-time scanning vs. image quality

At high image quality the QR scanning lagged behind the live feed — the drone couldn’t track the code in time to land on it. I debugged the pipeline line by line and traced the latency to the video codec and rendering path, not the detection itself. Working from the codec documentation, I rebalanced decoding and rendering so the feed kept its quality while scanning ran in real time. The drone now locks on and lands on the mark, without crashing.

Outcome

  • Premium feature shipped on schedule — the release the product had already been marketed on
  • Published on Google Play and in production use
  • AI tooling used across the full development lifecycle to accelerate delivery

In the cockpit

V-Assist flight view: live drone camera feed over a Singapore construction site, with tether length and tension gauges overlaid alongside takeoff, plan and return controls.

Live camera feed with the tether telemetry overlay and flight controls, mid-mission.

V-Assist tether dashboard in dark theme, showing tether length, tension, GPS satellite count and tether power gauges plus temperature and odometer readouts.

Telemetry dashboard — dark theme for night operations.

The same V-Assist tether dashboard in light theme, showing tether length, tension, GPS and tether power gauges.

The same dashboard in light theme, for bright daylight flying.

V-Assist launch screen reporting aircraft connected on a DJI M30 series drone, with the app and DJI SDK version numbers.

Handshake with the aircraft over the DJI Mobile SDK.

Samsung R&D Institute · Oct 2019 – Feb 2022 · Dhaka

Samsung Health & WearOS

  • Kotlin
  • WearOS
  • BLE
  • Room
  • Tizen
  • iOS (SmartThings)
Problem
Samsung’s consumer health ecosystem spans phones, wearables and servers. Health data has to stay consistent across all three — including watches running a completely different OS (Tizen).
My role
Lead Software Engineer II. I built health-tracking Android applications and their WearOS companions inside Samsung’s consumer wellness product line, and contributed features to the SmartThings iOS app.
Architecture & tech
  • Health-tracking Android apps with server-side synchronisation
  • Local persistence with Room
  • WearOS companion apps for health activity monitoring
  • Cross-platform contribution: feature development in the SmartThings iOS application

The hard problem · Lossless phone-to-watch sync over BLE

Sending health data from an Android phone to a Tizen-based Samsung watch had to be lossless — a dropped packet means corrupted health history. I designed the transfer around BLE with an explicit retry policy, maintaining connectivity guarantees across two different operating systems.

Outcome

  • Shipped within Samsung’s consumer health ecosystem, used at consumer scale
  • Extended the health platform to wearable devices
  • Proved cross-platform range by shipping iOS features alongside Android

GrowFolio (formerly Plentina) · Feb 2022 – Nov 2022 · Remote (US)

Plentina — Buy Now, Pay Later

  • Jetpack Compose
  • Kotlin Flow
  • KMM
  • Payments
  • Fintech
Problem
A US fintech startup expanding BNPL credit access across the Philippines and Vietnam needed its Android app to move fast in two markets — with payment flows that simply cannot fail.
My role
Led Android development of the Plentina BNPL app.
Architecture & tech
  • Jetpack Compose UI with Kotlin Coroutines
  • Kotlin Flow for complex asynchronous state management — eliminated callback-chain patterns
  • Multiple third-party payment gateway integrations in the core purchase flow
  • Early Kotlin Multiplatform (KMM) R&D infrastructure and Firebase Cloud Messaging

The hard problem · Migrating to Compose while Compose was in beta

I converted the entire XML-based UI to Jetpack Compose when the toolkit was still in beta — no established patterns, shifting APIs, and a live fintech product that couldn’t regress. It paid off: the app got a modern, declarative UI layer years ahead of most fintech apps in the region.

Outcome

  • Live in two Southeast Asian markets with trusted retail and payment partners
  • Installment-based commerce enabled for users underserved by traditional credit
  • Cleaner async architecture adopted across the codebase

From the app

Plentina My Loans screen listing completed instalment plans from partner retailers National Book Store and Birdhouse, each marked paid or cancelled with its repayment count.

Instalment tracking across real retail partners.

Plentina offer detail screen for Steam Wallet credits priced in Philippine pesos, with a Play now pay later banner, offer requirements and a claim button.

A buy-now-pay-later offer, ready to claim.

Tier two

Public work — install it, read it

The bracket engine for FIFA’s new 48-team World Cup

Football Predictor 2026

  • Kotlin
  • Algorithm Design
  • Offline-first
  • IAP
  • Adaptive UI

FIFA’s 2026 format is new and genuinely hard: 48 teams, 12 groups, and a Round of 32 where third-placed qualifiers depend on results across every other group. I designed an engine that evaluates 450+ valid bracket combinations and recalculates the entire knockout tree in real time as you fill in results — following the official FIFA regulations to the letter. What takes analysts spreadsheets, the app does instantly, 100% offline.

  • Auto-calculates the Round of 32 from 450+ bracket combinations, live as you predict
  • 100% offline — no account, no network needed
  • Dark and light mode; adaptive layouts for phones, tablets and foldables
  • One-time Pro purchase: QR bracket sharing and head-to-head comparison
  • 1K+ downloads on Google Play

The “how I write code” exhibit — read the source

GitHub Client

  • Multi-module
  • Compose M3
  • MVVM
  • Hilt
  • Ktor
  • Room
  • Tests

An open-source Android app I keep public for one reason: so you can see exactly how I structure production code. Multi-module clean architecture (app / features / common / network / storage / theme), unidirectional state, offline support, and real tests — not a toy repo.

  • Jetpack Compose Material 3 with adaptive ListDetailPaneScaffold for tablets and foldables
  • MVVM with Hilt DI, Ktor networking, Room offline cache
  • Debounced live search with StateFlow; custom shimmer built without external libraries
  • Unit + UI tests: mockk, espresso, compose-ui-test, coroutines-test
  • Version catalog (libs.versions.toml) and Spotless formatting

Want this on your team — or on your product?

Get in touch →