Kotlin Multiplatform developer · Android · iOS · Desktop · Web

Share the right code without compromising the product.

I’m Muhammad Waqas, a Kotlin Multiplatform developer in Lahore, Pakistan (PKT, UTC+5) with 5+ years of production experience, available for freelance projects and full-time remote roles. I help teams use Kotlin Multiplatform and Compose Multiplatform where shared code improves delivery, consistency, and maintainability. The goal is not maximum sharing—it is a clean product architecture that reuses valuable logic while respecting each platform’s capabilities and user expectations.

4 targets

Android, iOS, desktop, and web experience

Compose

Shared responsive product interfaces

Native APIs

ML Kit, Apple Vision, cameras, and platform services

Where Kotlin Multiplatform creates value

Shared product logic

Networking, domain rules, persistence, state management, validation, and presentation logic can live in a testable shared Kotlin layer.

Shared Compose UI

Compose Multiplatform can deliver consistent responsive interfaces across selected targets while allowing platform-specific adaptation where it matters.

Native platform integration

Expect/actual APIs and clean interfaces keep camera, machine learning, storage, permissions, and other platform services native and maintainable.

Selected multiplatform work

Lumashape

A production Compose Multiplatform application for Android and iOS. It combines guided image capture, AI object detection, contour extraction, inventory, web layout design, community sharing, and DXF export.

AndroidiOSComposeAI vision

Subject Segmentation CMP

A shared camera experience that uses Google ML Kit on Android and Apple Vision on iOS to isolate foreground subjects while keeping product logic and UI aligned.

ML KitApple VisionCameraX

Document Scanner CMP

A reusable Compose Multiplatform document-scanning structure that shares the capture workflow while keeping platform scanner integration clearly separated.

Compose MultiplatformAndroidiOS

Want the full story of a Kotlin Multiplatform product? Read the Dukaan POS case study: one Compose Multiplatform codebase for Android, iOS, desktop, and web, built offline-first with English and Urdu.

Kotlin Multiplatform articles

KMP Inspector

An open-source in-app debugger for Compose Multiplatform that shows network calls, databases, logs, and crashes on Android, iOS, and desktop.

Ktor network inspection

Inspect requests, headers, JSON bodies, timings, and errors inside a running Kotlin Multiplatform app, beyond what Ktor logging shows.

Room database inspection

View, query, and edit a Room database inside a running app on Android, iOS, and desktop, with no cable or Android Studio.

Architecture and technology

A good KMP codebase should be understandable to both shared-code and platform engineers.

  • Kotlin Multiplatform, Compose Multiplatform, Coroutines, Flow, Ktor, Koin, DataStore, serialization, and shared MVVM presentation.
  • Platform interfaces for cameras, machine learning, files, lifecycle, navigation, permissions, and system integrations.
  • Responsive UI for phone, tablet, desktop, and browser form factors where shared Compose UI is appropriate.
  • Modular boundaries, dependency injection, testable domain logic, error handling, and predictable state management.

Questions about KMP delivery

Should every layer be shared?

No. I prioritize valuable, maintainable sharing. Platform-specific code is the right choice when it produces a better integration or user experience.

Can KMP be introduced gradually?

Yes. Existing applications can adopt shared modules incrementally, starting with networking, domain logic, storage, or a focused feature.

Can you help with an existing codebase?

Yes. I can review architecture, untangle platform boundaries, improve build structure, modernize Compose code, and implement production features.

Planning a Kotlin Multiplatform product?

Share the target platforms, current architecture, required native integrations, and delivery goals. I can help determine what should be shared and build a maintainable implementation.