Mobile app development for iOS and Android

We have been engineering software from London and Poland since 2004, and we build native and cross-platform apps for businesses that need them to still work — and still be maintained — five years from now.

What we build

Three kinds of mobile work we take on.

Most mobile projects fall into one of these. If yours does not, it is still worth a conversation.

/ 01

Field-service tools

Apps for people who work away from a desk: engineers, drivers, inspectors, installers. Offline-first by default, because coverage fails exactly where the work happens. Photo capture, signatures, barcode scanning and a sync layer that survives a lost connection mid-job.

/ 02

B2B sales and ops apps

Mobile front ends for systems you already run — ERP, CRM, warehouse, ticketing. Usually the hard part is not the app but the integration: rate limits, stale caches, half-documented APIs and permissions that differ per role. That integration work is what we have been doing since 2004.

/ 03

Consumer products

Public apps where store rating and retention decide whether the product survives. Analytics and crash reporting from day one, staged rollouts, and a release cadence you can actually sustain after launch.

How we work

Scoped first, then built.

We do not quote mobile projects from a one-line brief. Every engagement starts with a scoping phase: what the app must do, which systems it talks to, who uses it and under what conditions. The output is a written scope you can price and plan against, phase by phase — not a day rate and an open-ended commitment.

Choosing native or cross-platform

We build both, so the recommendation is not driven by what we happen to know. Native iOS in Swift and Android in Kotlin when the app leans on platform hardware — camera pipelines, Bluetooth peripherals, background location, widgets. Flutter or React Native when the business logic is shared and the interface is conventional; one codebase then substantially reduces the maintenance bill.

What is included as standard

  • Offline-first data layer with conflict handling — not an afterthought bolted on when the first customer complains
  • Push notifications, deep links and staged rollout configuration
  • CI/CD from the first week: every build is reproducible and signed automatically
  • Crash reporting and analytics wired in before launch, not after the first bad review
  • Store submission handled by us — listings, privacy declarations, and responses to the app review team

Maintenance is the actual product

Apple and Google each ship a major platform release every year. SDKs get deprecated, store policies change, and within a couple of years an unmaintained app starts being hidden from new users or rejected at submission. The team that builds your app is the team that keeps it running — that is the whole reason our client relationships are measured in years.

Questions

Things clients ask before starting.

Should we build native or cross-platform?
It depends on what the app has to do. Heavy camera, Bluetooth, background location or platform-specific hardware work is usually cleaner done natively. A product with shared business logic and conventional UI across both platforms is typically faster and cheaper in Flutter or React Native. We recommend one or the other after scoping, not before.
Do you publish to the App Store and Google Play for us?
Yes. We handle signing, store listings, privacy declarations, review submissions and the rejections that sometimes follow. The app can be published under your own developer accounts so you retain ownership.
What happens after launch?
The engineers who built the app maintain it. That covers OS updates each year, SDK deprecations, store policy changes and new features. Our client engagements are measured in years, not sprints.
Can you take over an existing app?
Yes. We start with a technical review of the codebase, build pipeline and store accounts, then give you a written assessment of what is worth keeping and what should be rewritten, with the cost of each option.
Next step

Tell us what the app has to do.

Send a short description of the problem and we will come back with questions, a proposed approach and a fixed quote for the scoping phase. No sales sequence.