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
Muhammad Haris AmerAvailable for new work
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.
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.
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.
Primary. Most of the shipped work lives here.
Selected work
Filter by discipline or search for a technology. Open any project for the full story.
Nothing matches that search.
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.
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.
Screens and states mapped end to end, including the ugly ones: empty, offline, error, loading. Most bugs are decided here, not in code.
Vertical slices, each one shippable. You get a working build every week instead of a black box and a promise.
Real devices, weak networks, low-end hardware. Performance profiling, crash-free sessions, and the edge cases that only appear in the wild.
Store submission handled end to end (assets, metadata, review responses), plus a support window after launch for whatever reality throws.
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.