Muhammad Haris AmerAvailable for new work

I build the whole product, from the app to the server behind it.

Six years of production software: apps in Flutter, React Native, Swift and Kotlin, and the APIs, databases and dashboards that run them. More than fifteen are live on the App Store and Google Play.

Muhammad Haris Amer
Islamabad, working remotely
Years shipping production software
6+
Projects delivered
25+
Apps live on the stores
15+
Platforms: iOS, Android, web
3

I build on whatever the problem calls for, and I'm usually brought in for the awkward end of it.

For six years I've built mobile apps in Flutter, in React Native, and fully native in Swift and Kotlin, along with the FastAPI, .NET, Laravel and Next.js services behind them. Fifteen-plus apps are live on the App Store and Google Play, in daily use by telecom field crews, taxi drivers, safety inspectors and consumers.

The work has mostly been the hard end rather than the easy end: background location that survives an eight-hour driver shift, offline-first survey capture that syncs cleanly when signal returns, BLE pairing against real hardware, and KMZ-based geospatial mapping. Underneath the cross-platform work sits genuine native Swift and Kotlin, which is what makes platform channels, native modules and bridging routine rather than a blocker.

I care about the details users never name but always feel: the frame that never drops, the state that never gets lost, the tap target that's exactly where the thumb expects it.

What I'm usually brought in for

  • Flutter
  • React Native
  • Swift and Kotlin
  • BLE and hardware
  • Offline-first sync
  • Background location
  • Store publishing

How I build mobile

Four ways to build a mobile app, and the layers underneath them. I pick the one the problem calls for, not the one I happen to like.

Flutter

Primary. Most of the shipped work lives here.

  • Flutter and Dart
  • GetX, BLoC, Riverpod, Provider
  • Dio, Hive, sqflite, Freezed
  • Platform channels and flavors
  • Custom widgets and animation

Native iOS

  • Swift and Objective-C
  • UIKit, SwiftUI, Combine
  • MapKit, Core Location
  • Core Bluetooth, Core Data
  • App Store Connect, TestFlight

Native Android

  • Kotlin and the Android SDK
  • Jetpack Compose
  • Background services, geofencing
  • Foreground location and BLE
  • Play Console releases

Devices and maps

  • Bluetooth Low Energy
  • Background geolocation
  • Google Maps and MapKit
  • Geofencing, KMZ and GIS
  • Camera, media and push

React Native

  • React Native and TypeScript
  • Hooks, Context, Redux Toolkit
  • React Navigation, AsyncStorage
  • Reanimated, Hermes, Expo
  • Native module bridging

Backend and web

  • Python: FastAPI and Flask
  • .NET, Laravel, MySQL
  • PostgreSQL, Supabase, RLS
  • Next.js, React, Tailwind
  • AWS S3, Docker, Vercel
  • REST, WebSockets, Pandas

AI and automation

  • Claude API, Claude Code, MCP
  • OpenAI GPT and DALL-E
  • Streaming LLM chat in apps
  • Dialogflow chat flows
  • n8n, Zapier, Make
  • Self-hosted TTS and media

Selected work

Apps in daily use, and the problems behind them

Every project

Filter by discipline or search for a technology. Open any project for the full story.

    How a project runs

    The same five steps on every engagement, whether it is a two-week integration or a six-month platform. You get a working build every week.

    1. Scope and shape

      We pin down what the app must do, what it must never do, and what "done" looks like. You get a written scope and a realistic timeline before any code exists.

    2. Design the flow

      Screens and states mapped end to end, including the ugly ones: empty, offline, error, loading. Most bugs are decided here, not in code.

    3. Build in slices

      Vertical slices, each one shippable. You get a working build every week instead of a black box and a promise.

    4. Harden

      Real devices, weak networks, low-end hardware. Performance profiling, crash-free sessions, and the edge cases that only appear in the wild.

    5. Ship and support

      Store submission handled end to end (assets, metadata, review responses), plus a support window after launch for whatever reality throws.

    Have something worth building?

    Tell me what you're making. I'll tell you straight whether I'm the right person for it, what it'll take, and how long. Replies usually land within a day.