AI apps that survive real users.

Five model providers. One interface. No outage the user ever sees.

Anyone can wire a chatbot into a Flutter screen. I build the version that holds up in production: every model provider behind a fallback, entitlement verified on the server, a cost per request you can put in front of your board. Twenty-seven of my apps are live on both stores. Twenty-five clients came back.

Apps live in stores
27+
Repeat clients
25
Projects since 2021
170+
Longest engagement
24 months
From 67 reviews
4.9
Average reply time
~1 hour

The number worth checking

Of my last sixty-nine completed engagements, fifty-four came from clients who had already hired me once. 25 clients have come back in total.

That matters more than a client count, and for a specific reason: nobody re-hires a developer who needed managing. One UK client has commissioned eight projects with me across roughly nine months, including two of the products below, built for the same team a year apart. Another shipped both halves of a two-sided marketplace with me. The longest single engagement on my books ran twenty-four months.

If you're weighing a six- or twelve-month build, that's the record I'd ask about.

Five rules I've earned the hard way.

01

The model is the least interesting choice.

Picking between GPT, Gemini and Claude takes an afternoon. What decides whether the feature works is everything around it: how the input gets broken up, what context reaches the model, whether the output is checked before a user sees it. The Actors PA uses five different AI services, each chosen for one job, because one model being good at everything is a marketing claim rather than an engineering one.

02

Assume every provider is down at the worst possible moment.

The Actors PA runs on five AI services and each one has a backup, because a Whisper outage at eleven at night should not end an actor's rehearsal. I have never shipped an AI feature sitting on exactly one provider, and I would argue against it if you asked for it.

03

Cost per request is a product decision, not an invoice surprise.

An answer that arrives in fourteen seconds at forty cents is a failed answer. I size the model to the job, cache what repeats, and stream by default. You get a number per request before the build starts, not after the first month's bill.

04

The app has to stay usable when the AI does not work.

Every AI feature I build has a defined degraded state. The rest of the product keeps running, the user is told what happened in plain words, and nothing they entered is lost. An app that goes blank on a model timeout is a broken app, not an AI app.

05

Trust lives on the server, and AI makes that sharper.

Subscription state, entitlements, usage counted against a paid tier. If a value decides who gets paid or what unlocks, the client app asks for it rather than asserting it. With AI every call costs real money, so a spoofed entitlement is not a free feature, it is somebody else's bill.

The engineer behind the products

I'm in Lahore, and I've been shipping paid work since 2021. Since then: more than a hundred and seventy projects. Some built from nothing, many of them features added to apps somebody else started, a fair number of them fixes on code I inherited. Twenty-seven are in the stores today.

Flutter and Dart are where I live. Supabase, Node and Postgres behind them, with Firebase where auth and push suit it; Stripe, Klarna and in-app purchase where money changes hands; maps and real-time state, which is most of what a two-sided marketplace actually is. Lately, multi-provider AI inside apps that are about something else: the last two products I shipped run five and four external model services, each with somewhere to fall when it fails.

I'd rather spend the first week arguing about the data model than the last month working around it. That has cost me work. It is also why one of those clients is on their eighth project with me. The longer version is here.

I work alone. You talk to the person writing the code. That's the constraint, and it's also the product: I take a limited number of projects because each one gets my full attention.

  • 25 clients have hired me more than once, one of them eight times
  • 27+ apps live on the App Store and Google Play
  • Longest single engagement: 24 months
  • Typical first reply during my working day: ~1 hour

The tools, and why each one earns its slot.

Two groups, labelled honestly. The first is what the seventeen case studies were actually built with; every one of them lists its exact stack, and no two are identical. The second is the AI infrastructure I work in, which is newer than the case studies and kept separate for that reason.

Flutter

iOS & Android

One codebase, both stores. Every project on this site is built on it.

Dart

Language · half a decade

Long enough to know which patterns survive a second year of the product.

Supabase

Postgres · Realtime · RLS

For the projects whose data model wants SQL, and row-level security in the database.

PostgreSQL

Relational data

Bookings, ledgers, inventory. Anything that must not double-count.

Node.js

Backend · REST · WS

Where the values that decide who gets paid are calculated and held.

Firebase

Auth · Push · Realtime

For the parts that genuinely suit it: sign in, push, a realtime feed. The money and the state that has to be correct sit elsewhere.

Stripe

Payments · Connect

Split payouts on marketplaces, where money moves between two users.

In-app purchase

StoreKit · Play Billing

Subscriptions verified server-side, against a receipt from each store.

RevenueCat

Subscription state

One entitlement truth across iOS, Android and a lapsed renewal.

Maps & geo

Location · Routing

Most of what a two-sided marketplace is once you strip the screens away.

OpenAI · Gemini · Claude

Model providers

Chosen per feature, each behind a fallback, so one outage degrades a session and lets it finish.

Whisper · Chirp HD · Flux

Voice · Vision

Transcription, distinct per-role voices and scene generation in The Actors PA.

Retrieval and RAG

Chunking · Embeddings · Reranking

For when the answer has to come from the client's own documents rather than the model's memory. Most “the bot is wrong” problems are retrieval problems.

Vector search

pgvector · Pinecone

Semantic search over a product's own data, sized to the project rather than to whichever vendor has the loudest docs.

Agents and tool use

Function calling · Scoped tools · Human checkpoints

Tightly scoped, every step logged, a person in the loop at known points. Full autonomy is where agents fail in production.

Python and FastAPI

Model serving · Async

Where inference, evaluation and the work that does not belong inside the app lives.

Evaluation

Answer quality · Regression

Answer quality measured before release and tracked after it, so “the bot is wrong” becomes a number somebody can act on.

What clients say

67 reviews from 27 clients, quoted as written. 14 of those clients came back for another project. Every one of the six below is one of them.

  • This freelancer has a wealth of knowledge and professionalism and has completed the 1st milestone of this project ahead of schedule and to a superior standard. Looking forward to the next milestone and working more and more in the future!. 5 Stars *****
    darlingmikeyUnited Kingdom2 weeks5/5
  • Very prompt and professional and excellent attention to detail, really grateful for putting me at ease through the process, gaining clarity and going above and beyond to deliver what was asked for within a reasonable budget, and looking forward to working on the next stages here
    landisbUnited Kingdom2 days5/5
  • Zubair did an excellent job on the initial review and planning phase of this project. He provided a thorough and detailed assessment of the app, clearly identifying key issues, areas for improvement, and potential risks. His communication was clear and professional throughout the process, and he was very responsive to questions and feedback. I especially appreciated his structured approach in breaking down the next steps and being open to discussion around the best direction for the project. Overall, he demonstrated strong technical understanding, proactive communication, and a high level of cooperation. Looking forward to continuing to the next phase of development.
    topartists4uUnited States6 days5/5
  • I had the pleasure of working with Zubair M on a mobile app project for my company, and I couldn’t be happier with the results. As a South African entrepreneur, I needed someone who could understand my vision and bring it to life, and Zubair M exceeded my expectations in every way. From the outset, Zubair demonstrated an exceptional level of professionalism, creativity, and technical expertise. His ability to translate my ideas into a functional and aesthetically pleasing app was truly impressive. The app not only meets all my requirements but also has a user-friendly interface that my customers love.
    eugeneinnocentSouth Africa7 days5/5
  • Zubair is very easy to work with. He first met with us to talk through our app idea, gave some feedback on how to best approach certain aspects of the app based on his experience developing apps, and then broke down how we would be working together by milestones. I am very happy with the progress we’ve…
    vivianwoong1Thailand2 weeks5/5
  • Zubair has been working on my projects for quite some time now , I could not recommend him more highly as throughout all stages he has gone above and beyond to complete the tasks I have requested
    simonmak83Australia9 days5/5

Read all 67 reviews: 4.9 average.

Three ways to work together. One person on all three.

Pick the one that matches where you are. Scope and timeline confirmed on the first call.

Product build

Idea to both stores.

Interface, backend, integrations, subscriptions, submission, and the review cycle after it.

  • A working build you can install, every week
  • Interface, backend and integrations built by one person
  • Subscriptions verified server-side against both stores
  • Store submission and the review cycle after it
  • Typically two to six months

AI into an app you already have

The feature your product is actually about.

Chat, voice, vision or recommendation, added to a live codebase without destabilising it.

  • A fallback provider behind each external service
  • Entitlement verified server-side against both stores
  • A per-request cost figure you can put in front of your board
  • Added to the codebase you already have in production
  • Three to eight weeks
Where repeat clients end up

Ongoing engineering

What my longest clients actually do.

Not a support contract. A standing engineering seat.

  • New features and releases on a standing basis
  • Store management, including review cycles
  • The architecture calls that come with a growing product
  • One client has run this for nine months across eight projects
  • My longest is twenty-four months
📦

A working build every week

installable, on your device

🛠

Thirty days of support after launch

included on every tier

Start Your Project

Let's discuss how we can bring your vision to life.

1
2
3

What's your domain?

Select the industry that best describes your project.

Common Questions

Real answers about AI engineering, delivery, and what working together looks like.

Have a specific question not covered here?