Skip to content

AI Product Engineer / Mobile

ShahryarAhmad

I build AI products that ship to real phones and get through App Review — five apps this year, four of them AI, as the only engineer on each. Flutter and Dart underneath, and the half nobody demos: what the model refuses, what it costs, and what the app does when it is wrong.

AI apps shipped solo, 2026
4AI apps shipped solo, 2026
Client engagements
9Client engagements
Production mobile
5yrsProduction mobile
Engineers led
4Engineers led

LLM INTEGRATIONON-DEVICE INFERENCEAGENT TOOLINGFLUTTERDARTREAL-TIME SYSTEMS

Open to senior mobile roles and contract work — remote

The production mobile system

01  AI, shipped and live

Four AI apps, through App Review, alone.

Released in 2026 — document capture, speech input, text generation — plus one with no AI in it at all. Requirements through to App Review, as the only engineer on each. Open any of them: Apple hosts the listing, so this is the part you can check without taking my word for it.

02  Selected work

From ten-minute support responses to thirty seconds.

  • 2024–2025
  • FLUTTER TEAM LEAD
  • FLUTTER
  • AI INTEGRATION
  • DAFI LABS
Average response time
30 secAverage response time
Handled without a human
70%Handled without a human

Both figures come from the client's own support queue, over the months after launch. I read them; I did not audit them.

problem
Support queries were answered by hand, with an average response time of 10 minutes.
outcome
Response time fell from 10 minutes to 30 seconds, and 70% of queries were handled without a human.
Full engagement index
Support flowConceptual
USER QUERYAUTOMATED HANDLINGRESOLVEDHUMAN QUEUE70%30%

03  Selected work

Making an unstable production app reliable.

  • 2025–present
  • SENIOR FLUTTER DEVELOPER
  • FLUTTER
  • BLoC
  • CLEAN ARCHITECTURE
  • COGNITIVE BEAM
Unnecessary API calls
40%Unnecessary API calls
Screens still owning their own state
0Screens still owning their own state
Takeover to stable
4 wksTakeover to stable

Call counts are mine, taken from the client's app before and after. The architecture change is in the codebase. Ask me how any of it was counted.

problem
A live Flutter codebase with memory leaks, excessive API calls and no state management layer.
decision
Refactored to Clean Architecture with BLoC instead of patching the symptoms one at a time.
outcome
Cut unnecessary API calls by around 40% and moved state out of the widget tree entirely, in four weeks. The app stopped degrading over the course of a session — the failure the client had actually hired me for.
Full engagement index

04  What changed underneath

Request topologyPROBLEMDECISIONOUTCOME
PRESENTATIONBLoC / STATEDOMAINDATA
−40%
unnecessary API calls
one way
data flows, after
4 weeks
elapsed

05  How an AI feature survives contact with users

The API call is not the hard part.

Getting a model responding takes an afternoon. What decides whether the feature is still working in six months is the list below, and none of it shows up in a demo.

Refusal before answers
The first list to write is what the assistant must not attempt — money, account state it cannot verify, anything where being confidently wrong costs more than being slow. Written after launch, it is written from complaints.
Escalation that keeps context
A user handed to a human should not have to start again. If escalation costs them their history, they stop using the assistant and route around it, and the deflection rate that justified the whole feature quietly decays.
On device or worth the round trip
Latency, privacy and offline behaviour decide where inference belongs, not preference. Some of it has to run on the phone; the rest is a network call that will sometimes fail, and the interface has to be honest about which it is.
Cost per user, not per call
A feature priced at a fraction of a cent per call is priced at a real number per thousand active users per month. Knowing that figure before launch is the difference between a feature and a liability.
What it does when it is wrong
Uncertainty is an outcome, not a wording problem. An answer, a refusal and an admission that it does not know are three different states, and a model that only ever produces the first one is the one users learn to distrust.
App Review, for AI specifically
Generated content, data handling and what a feature discloses before it collects anything are all reviewed, and an AI feature is stopped for reasons most teams meet for the first time on submission. Cheaper to know beforehand.

06  Client apps, live now

These are the clients’ own store listings. They show the product is live and what it looks like — never who wrote it.

Role
AI product engineer, mobile · Flutter team lead
Shipped in 2026
5 iOS applications live on the App Store, 4 of them AI, sole engineer
AI in production
Support automation, OpenAI and Gemini integrations, agent tooling
AI surfaces
Voice capture, document scanning, generation and rewriting — all shipped
Release
App Review and Google Play releases, end to end
Languages
Flutter · Dart · Kotlin · TypeScript
Architecture
Clean Architecture · BLoC · state and lifecycle work
Real-time
WebSockets, chat and presence in shipped apps
Experience
5 years building production mobile applications
Open source
browser-execution-runtime, TypeScript, MIT

07  Production principles

Real phones don’t behave like simulators.

The conditions I design for, because they decide whether the app works after release.

DEVICEOS vnPERMISSIONSCHEDULERSERVERPERSISTEDQUEUED

08  Open source

browser-execution-runtime

Provider-agnostic browser execution runtime for AI agents.

Execution flowConceptual
  1. 01AGENT
  2. 02PROVIDER ADAPTER
  3. 03BROWSER EXECUTION
  4. 04RESULT

10  Practice

The code running is the beginning.

  1. Putting an AI feature into an app that already has users: support automation, LLM integration against OpenAI or Gemini, on-device inference where latency or privacy rules out a round trip, and the escalation path for everything the model should refuse.

  2. Building a new cross-platform iOS and Android app, from requirements through to App Store and Google Play release — App Review included, which is where AI features get stopped most often.

  3. Taking over an unstable Flutter codebase, with memory leaks, messy state, excessive API calls, navigation problems and performance bottlenecks, and making it reliable enough to build on.

11  Now

  • Open to senior mobile roles and contract work, remote.
  • Maintaining browser-execution-runtime — a provider-agnostic browser runtime for AI agents.
  • Five applications shipped to the App Store this year, four of them AI.

Contact — AI Product Engineer — Mobile

Build it for the phone people actually have.

Open to senior mobile roles and contract work — remote

If you are putting an AI feature in front of real users, building a new app, or dealing with one that is not stable, message me.

Start an enquiry

Opens in your mail app so you can see exactly what is sent.

Or write to me directlyshaharyarahmad393@gmail.com

System / stable