Mobile application development

On mobile you cannot quietly fix it on Tuesday.

Web teams ship a fix and it is live in minutes. Mobile does not work that way. A release waits for store review, then trickles out to users who upgrade whenever they feel like it, and a bug you shipped on Monday is still in someone’s pocket a month later. Everything about how we build iOS and Android apps, native or cross-platform, follows from that one constraint.

0% 50% 100% 0 10 20 30 USERS ON THE NEW VERSION DAYS AFTER SUBMISSION STORE REVIEW CLEARS DAY 30, STILL NOT EVERYONE A BUG SHIPPED ON MONDAY IS LIVE FOR WEEKS. THIS IS WHY WE TEST BEFORE, NOT AFTER.
A release does not arrive, it spreads. Store review holds it for days, then adoption climbs for weeks and never quite reaches everyone.
2Platforms from one codebase
3Build approaches we offer
800+Projects delivered
7+Years delivering

What makes mobile different

Four things that behave differently to web.

None of these are exotic. They are the ordinary facts of mobile, and most disappointing app projects go wrong by treating them as afterthoughts.

01

The release gate

You submit, you wait, and a reviewer you cannot talk to decides. Rejections cost days and usually arrive for reasons that were predictable: a permission without a clear justification, a login wall with no way to try the app, a payment path that bypasses the store. We build against the review guidelines from the first sprint rather than discovering them at submission.

02

Users on old versions

You cannot force an upgrade. Weeks after a release a meaningful share of people are still on the previous build, so every API change has to keep working for them. Versioned endpoints and forced-upgrade paths are designed in, not bolted on when it first bites.

03

The network is not there

Lifts, basements, aircraft, rural sites, bad hotel wifi. An app that assumes connectivity fails in exactly the moments people most need it. We decide early what has to work offline and what can wait, then test the reconnection path rather than assuming it.

04

The device is not yours

A four-year-old mid-range Android with a full storage volume and battery saver on is a normal user, not an edge case. We test on real hardware at the bottom of your supported range, because that is where an app feels slow and gets deleted.

A phone resting on a desk showing an application in use
We test on the oldest and cheapest handset in your supported range, because that is where an app feels slow and gets deleted.

The first decision

Native or cross-platform, on your constraints.

This is the first real decision and it is worth ten minutes of honest conversation rather than a house preference. We build both, so we have no reason to push you either way.

Right for most

Cross-platform

One codebase for both platforms, using React Native or Flutter.

Right for most business applications. Roughly one team instead of two, one release cadence, and a user experience indistinguishable from native for the overwhelming majority of apps.

Reaches its limits with heavy real-time graphics, deep platform integration or serious background processing.

Native

Separate Swift and Kotlin codebases.

Right when the app is the product and performance is the differentiator, or when you depend on platform capabilities that arrive first natively.

Two codebases, two release cycles and roughly double the ongoing maintenance. Worth it when you need it, expensive when you do not.

Hybrid by feature

Cross-platform shell with native modules where it matters.

The pragmatic middle. Most screens shared, with native written only for the parts that genuinely need it, such as camera pipelines or background location.

Requires engineers comfortable in all three, which is the reason it is less commonly offered.

Who it is for

Who needs a mobile app.

An app earns its cost when people use it often, on the move, or with something only a phone can do. Otherwise a well-built mobile web application reaches the same people without store review or two release cycles.

An app fits

  • People use it several times a week, and speed of access matters to them.
  • It needs the camera, location, offline storage, push notifications or background work.
  • Field staff, drivers or site teams need it where the connection is poor or missing.
  • An existing app has crash problems, poor ratings or a codebase nobody wants to touch.

Mobile web may serve you better

  • People will use it once or twice a year. A mobile web application reaches them without an install.
  • Everything it does already works well in a browser on a phone.
  • There is no budget for maintenance. Apps need regular updates as Apple and Google change their rules.

What we build

Six areas, four of them invisible until they fail.

Product and platform builds

Consumer and internal applications on iOS and Android, from first release through to the versions nobody remembers being risky.

  • React Native and Flutter
  • Swift and Kotlin where needed
  • Tablet and large-screen layouts

Offline and sync

Local storage, queued actions and conflict resolution, so the app keeps working when the connection does not and reconciles cleanly when it returns.

  • Local-first data models
  • Queued writes and retry
  • Conflict resolution rules

Store readiness

Review guidelines treated as requirements from the start, with the submission material prepared rather than assembled in a panic.

  • Privacy manifests and disclosures
  • Permission justification
  • Screenshots, metadata and staged rollout

Performance on real devices

Startup time, scroll performance, memory and battery measured on the cheapest handset you support, not on the newest one in the office.

  • Cold start and frame timing
  • Memory and battery profiling
  • Low-end device test matrix

Push, deep links and background work

The plumbing that makes an app feel connected to the rest of your product, done so it survives OS upgrades.

  • Push notification infrastructure
  • Deep and universal links
  • Background sync and geofencing

Release engineering

Automated builds, signed artefacts, staged rollout and crash monitoring, so shipping is routine rather than an event.

  • CI builds and code signing
  • Staged rollout and kill switches
  • Crash and performance monitoring
It was amazing how well design and practicality were merged in their products. Their focus wasn’t appearance alone; they focused on parts of each design that enhanced the way people interact.
Akram Ammar, Managing Director, Sahara Centre
Read the full review

How we ship it faster

Five times faster, at a fifth of the cost.

5xfaster to the store
1/5of conventional cost
Get a like-for-like quote

Mobile carries an unusual amount of repetitive surface area. Every screen needs its layout on two platforms and several form factors, every list needs its empty, loading and error states, every form needs validation, and every one of those needs a test. That work is well understood and time-consuming, which is exactly what AI tooling drafts well. We generate the first pass and put senior engineers on the architecture, the offline behaviour and the device testing, which is where mobile applications actually succeed or fail. AI accelerates the work. Our engineers stay accountable for the decisions and the software that ships.

Time from brief to a two-platform app in the stores
Conventional delivery Months
AI-first delivery Weeks
  • Screens and statesLayouts across form factors with their loading, empty and error states generated, then reviewed against real interaction on real devices.
  • Platform boilerplateNavigation, permissions, storage and notification plumbing, which is nearly identical across projects and rarely worth writing by hand.
  • Test matricesDevice and OS combinations enumerated exhaustively rather than sampled until someone runs out of patience.
  • Store submission materialMetadata, privacy disclosures and screenshot sets drafted early, so submission is a formality instead of a scramble.

An indicative comparison, not a quote or a guarantee. The gain depends on your integrations, the platforms you need and store review. We estimate every build individually and put scope, timeline and price in writing, with a like-for-like comparison against conventional delivery, before you commit.

Before we submit

What we check before submission.

Most rejections are avoidable and all of them are expensive, because the clock restarts. This is the list we work through before anything is submitted on your behalf.

Permissions justified

Every permission the app requests has a clear in-context explanation, and none are requested that the app does not use.

No login wall

Reviewers can see the app work. A demo account is provided, or meaningful functionality is available before signup.

Payments in the right place

Digital goods through the store, physical goods and services outside it. Getting this wrong is the most common serious rejection.

Privacy accurate

Data collection disclosures match what the app actually does, including anything the SDKs you depend on collect.

Degrades gracefully

The app behaves sensibly with no network, denied permissions and an empty account, which is exactly how a reviewer will open it.

Tested on the low end

Verified on the oldest and cheapest device in your supported range, not just on current hardware.

Questions we get asked

Starting with the one about frameworks.

React Native, Flutter or native?

For most business applications, cross-platform. One team, one release cadence, and users cannot tell the difference. We move to native when the app is the product and performance is the differentiator, or when you need deep platform capability. Since we build all three we have no commercial reason to push you toward one, and we will explain the trade-off in terms of your maintenance cost rather than our convenience.

How long from brief to being in the stores?

Typically six to ten weeks for a focused first version across both platforms, plus store review, which is usually one to three days but occasionally longer. We confirm the timeline in writing once scope is agreed, and we build against review guidelines throughout, so we plan for approval on the first submission.

Can you take over an existing app?

Yes. We start with a technical audit covering crash rates, dependency health, build reproducibility and how far behind the platform SDKs it has fallen, then give you an honest view on whether to continue or rebuild. Sometimes the answer is continue, even when the previous team told you otherwise.

What happens when Apple or Google change the rules?

They will, roughly annually, and usually with a deadline attached. If we maintain your app it is our job to track those changes and schedule the work before the deadline rather than after your app stops being accepted. If you maintain it yourselves we hand over with the upcoming platform deprecations documented.

Do we need a backend as well?

Almost always, and we build those too. It matters that whoever builds the API understands the mobile constraints, because an API designed for a web client tends to be chatty in a way that ruins battery life and feels slow on a poor connection.

How do you handle app store accounts?

They should be yours, in your company name, with us added as developers. Publishing under an agency account is a well-known way for companies to lose control of their own listing, reviews and ranking. We will set them up correctly if you do not have them yet.

What about offline use?

We decide in scoping which parts must work offline, because designing for it everywhere is expensive and rarely necessary. What matters as much as the offline path is the reconnection path, and that is the part most often left untested.

Who owns the code?

You do, in full, on final payment, along with the store listings, signing certificates and documentation. No lock-in and no minimum support term.

Related services

Next step

Tell us about the app, and the people who will use it.

A senior engineer reads every enquiry and replies within one business day, including an honest view on native or cross-platform for your case.

Discuss your app

We reply within one business day. No sales sequence, no newsletter.

Certified, partnered and awarded