We use a few cookies.

Some are required for the site to work. Others help us understand which pages perform — only if you opt in. We don't sell your data, and you can change your mind anytime.

Privacy Policy
.
Mobile practice

AI-Powered Mobile Apps for iOS & Android

Your work happens away from a desk — in a van, on a site, at a front desk, on a phone call you did not get to answer. What you do not have is that work landing in your systems as it happens rather than hours later. That is the gap this practice closes: apps built for the conditions your people actually work in, wired to the records you already keep.

Talk through what you are dealing with
Where this starts

The problems this practice solves

None of these are app problems to begin with. They are what-happened-out-there problems, and an app is only the answer because that is what your people are already holding.

  • Your crews leave in the morning with a paper list and you find out what actually happened when they get back.
  • Proof that a job was done properly is a photo on somebody's personal phone, and nobody can find it when the customer disputes the invoice.
  • Residents and tenants request everything by message, so the front desk is a queue and nothing is logged.
  • The same maintenance issue gets reported three times because there is nowhere for anyone to see it was already reported once.
  • Your customers phone rather than log in, and outside office hours that call goes to voicemail.
  • The signal drops on half the sites your teams visit, and whatever they were filling in drops with it.
In plain terms

What this actually is

The platform question matters less than the two that follow it: whether the app keeps working with no signal, and whether it writes into the systems you already run. Those decide whether your people use it at all.

Native versus cross-platform

Two words get used as though the choice were obvious. A native app is written separately for each platform, in the language that platform expects, which means two codebases and two bills but the closest possible access to the device. A cross-platform app is written once and runs on both. For most business apps the second is the right answer, because your users cannot tell and you only maintain one thing. Native earns its cost where an app leans hard on the camera, on background location, or on a capability a platform shipped last month.

Why offline capability decides it

What matters far more, if your people work away from a desk, is whether the app can carry on with no signal. Most apps assume a connection: the form saves to a server, so no connection means no save. A crew in a plant room or on a rural site loses whatever they had entered, discovers it later, and stops trusting the app — which is how you end up back on paper. Building offline-first means the work is written on the phone first and sent when the signal returns, which sounds small and changes the whole architecture, because the app now has to decide what happens when two people changed the same job while both were out of range.

What integrating with an existing system involves

Then there is integration, which is the word that gets explained least. Connecting an app to a system you already run means agreeing what each side owns, translating between two different ideas of what a job or a customer is, and deciding what happens when the older system is down or slow. It is not a switch. Done properly, a crew marks a job complete and the invoice is ready without anyone retyping it. Skipped, the app becomes a second place to enter the same information — which is worse than not having it.

The useful question is never which platform to build for. It is what your people currently write down to type in later, and what it costs you between the writing and the typing.

The capabilities

What gets built with it

Six things account for nearly every engagement in this practice. Most projects are two or three of them wired together, not all six.

Apps that keep working when the signal does not

A job list, a form and a camera that carry on in a basement, a plant room or a field with one bar. Work is written to the device first and synced when the connection returns, so a crew is never blocked and nothing is retyped in the van afterwards.

  • Flutter
  • SQLite
  • Offline-first
  • Background sync

Proof of work that lands where the invoice is raised

Photographs, signatures, timestamps and a note against the right job, filed the moment they are captured. When a customer disputes what was done, the answer is in the record rather than on somebody's personal phone.

  • Camera
  • Geolocation
  • Firebase
  • Audit trail

Apps wired into the systems that already hold your records

A siloed app is one more place to look. Yours connects to your enterprise resource planning system, your customer relationship management tool, your payment gateway and whatever third-party services you depend on, through secure interfaces built for the load rather than for the demo.

  • API
  • ERP
  • CRM
  • Payment gateways
  • Third-party services

Interfaces people do not abandon in the first minute

Most users abandon an app within seconds of deciding it is hard, and app store ratings remember it. Wireframing and prototyping happen before code, and the UI/UX is tested with the people who will actually use it — in gloves, in daylight, one-handed — so friction is designed out rather than reported later. First-week churn is the number that tells you whether an app retains anybody.

  • UI/UX
  • Wireframing
  • Prototyping
  • Churn
  • Accessibility

Resident and customer apps that answer for themselves

The requests, bookings, payments and updates your front desk currently fields, handled by the person making them. Fewer calls to answer, and a log of what was asked that nobody has to keep by hand.

  • Self-service
  • Notifications
  • Payments
  • Messaging

Intelligence where a prediction changes something

Smart search, personalised recommendations and predictive prompts belong in the places where they change what someone does next: the part likely needed on this job, the request about to breach its window. Built on your own history, and left out where a rule would do the same work.

  • AI
  • Smart search
  • Recommendations
  • Analytics
What it is built on

The technology stack behind it

You inherit these choices for years, so they are worth seeing before you commit rather than discovering afterwards.

Languages and frameworks

  • Flutter
  • Swift
  • Android

On-device and hosted data

  • SQLite
  • Firebase

Build and release

  • Android Studio
  • Xcode
  • Apple App Store
  • Google Play

Back-end infrastructure

  • AWS
  • Microsoft Azure
  • Linux
  • Nginx
  • Apache
  • Docker

Your app is built in Flutter unless something in it argues for going native, in which case that part is written in Swift for iOS or against the Android platform directly. One codebase is cheaper to own and faster to change, and the reason to give that up should be a feature you need rather than a preference somebody has.

Data sits in two places for a reason. SQLite on the device is what lets a crew carry on with no signal, because the app writes locally first; Firebase handles the sync, the push notifications and the account sign-in once a connection is back. Which records live where is decided by what has to survive a dead zone.

Behind the app, AWS — Amazon Web Services — or Microsoft Azure, with Linux, Nginx, Apache and Docker, gives you somewhere to scale as your user base grows and somewhere you could move away from. Android Studio and Xcode are where the builds are produced, and the Apple App Store and Google Play are treated as part of the plan rather than the last hurdle.

How the work runs

How open-ended work is run

Work in this practice rarely arrives with a date attached, so what you get instead of a delivery date is visibility: agreed scope, something to install every cycle, and a way out.

  1. Before anything is built

    Where the work actually happens

    You get an honest read on the conditions the app has to survive: which sites lose signal, what a crew is holding while they use it, and which of your systems it has to talk to. The architecture follows from that rather than from a preference.

  2. Agreeing the shape

    Scope written down, then held

    Scope is agreed in writing before work starts, and change is handled explicitly: anything new is quoted as an addition rather than absorbed quietly, so the thing you approved stays the thing being built.

  3. While it is being built

    A build on your own device every cycle

    Work is pulled from a backlog you can see and lands in short sprints as an installable build you run on your own phone, on your own network. Testing includes the awkward cases — no signal, low battery, an older handset — because that is where field apps fail.

  4. Getting it into your users' hands

    Through review, without a scramble

    Store submission is part of the plan rather than a surprise at the end. Deployment to the Apple App Store and Google Play is prepared with the metadata, permissions and privacy answers those reviews demand, so a rejection is a correction rather than a delay.

  5. After it is live

    Watched, supported, and yours

    Crash reporting and monitoring sit on the running app, and post-launch support covers the operating system updates that arrive whether you are ready or not. Your code, your signing keys and your store listings are yours — you can move them to another team.

No date is published for work of this shape, and none is implied. If what you need is a scope and a date you can hold someone to, the packages below carry both.

Proof

What changed for a business like yours

ClientBig Jerry's Fencing

40%

faster turnaround from lead to completed installation

  • Improved installer productivity with clear tasks and mobile proof-of-work
Questions

What buyers ask about mobile work

  • Do we need one app or two — iOS and Android?

    One codebase, both platforms, unless there is a specific reason not to. That is what section three is about: a cross-platform build gives you a single thing to pay for and maintain, and it is the right answer for most business apps. Where an app leans hard on the camera, on background location or on something a platform has only just shipped, native is worth the second bill.

  • Our crews work where there is no signal. Is that a problem?

    It is the normal case rather than the exception, and it shapes the build. Work is written to the device first and synced when a connection returns, which means designing for what happens when two people edited the same job while both were offline. Assume any app that needs a live connection to save will lose your crews' work.

  • Do we have to replace the systems we already run?

    No. The records you keep in an enterprise resource planning or customer relationship management system stay where they are, and the app reads and writes through the interfaces they already expose. An app that duplicates your data instead of connecting to it becomes a second version of the truth.

  • Who owns the code, and the app store listings?

    You do — the repositories, the signing keys, the store accounts and the documentation. Publishing under your own developer account rather than someone else's is worth insisting on with any supplier, because moving a live app off another company's account later is genuinely painful.

  • What about the app we already have?

    A legacy app can usually be modernised rather than rebuilt: the parts your users depend on stay, the architecture underneath them changes, and the ratings you have built up survive. Whether that is cheaper than starting again depends on how it was written, and that is a question worth answering before either bill is quoted.

  • How long does this take, and what does it cost?

    Open-ended work is scoped to your situation and quoted against that scope, which is why no duration or figure is published for it here. Three builds in this practice have been delivered often enough to state both upfront, and those are listed above — start there if a date you can hold someone to matters more than an exact fit.

If your need is broader

If none of that is quite your situation

Plenty of what lands in this practice does not fit a package: a legacy app that needs modernising without losing the ratings it has earned, a device or piece of hardware the app has to talk to, an app that has to satisfy a regulator, or engineers working alongside your own team on a roadmap you already have.

Describe what you are dealing with in a free consultancy session and you will get a straight read on how it would be approached, what it depends on, and where the risk sits. If the answer is that you do not need an app at all, that is what you will hear.

  • React.js
  • Next.js
  • Node.js
  • TypeScript
  • .Net Core
  • python
  • PostgreSQL
  • GraphQL
  • AWS
  • Docker
  • Kubernetes
  • CI/CD
  • Microservices
  • Serverless
  • AI/ML