Skip to content
Gated releases

Mobile & Cross-Platform

iOS, Android and cross-platform applications delivered continuously despite a third party sitting between your merge and your users — staged rollouts, feature flags, release trains and a native-versus-cross-platform decision made on economics.

Mobile is the one place where someone else owns your release path. Teams that treat store review as an immovable wall end up with monthly batches and mobile as the slowest thing they own. Teams that engineer around it ship weekly and decouple release from reveal.

What we build

The work itself

01

Native iOS and Android

Swift and Kotlin applications where platform fidelity, performance or deep OS integration justify two codebases — and where that justification is stated rather than assumed.

02

Cross-platform applications

React Native and Flutter where the shared surface genuinely dominates, with a clear-eyed account of what still has to be written twice and what the bridge costs you.

03

Release engineering around the store

Feature flags and remote config so that shipping a binary and revealing a feature are separate decisions; phased rollouts with automated halt criteria; a release train that runs whether or not every feature is ready.

04

Mobile observability

Crash-free session rate, ANR and startup-time budgets, per-version adoption curves and a forced-upgrade path — because on mobile your old versions keep running in the field for months whether you like it or not.

05

Backend-for-frontend and offline behaviour

API shaping for constrained networks, offline-first data models, conflict resolution and sync — the parts that determine whether the app is usable on a patchy connection or only in the office.

The hard parts

What goes wrong, named up front

A vendor who cannot tell you where their own discipline is difficult has either not done it or is not going to tell you the truth about your project either.

You cannot hotfix

A bad web deploy is reverted in minutes. A bad mobile release is in users hands until review approves the next one, so the safety mechanism has to be a server-controlled flag rather than a redeploy.

Your old versions never fully die

Some users will run a build from a year ago. Every API change is therefore a compatibility negotiation with your own past, and a forced-upgrade mechanism is infrastructure you should build before you need it.

Cross-platform saves less than the pitch claims

The shared-code proportion is real but consistently overstated, and the residue — platform integrations, performance work, store compliance, native modules — is the expensive part. It is often the right call; it is rarely the cheap one.

Mobile

  • ExpoReact Native application framework, EAS Build and Update for over-the-air delivery of JavaScript changes.
  • React NativeShared application code across iOS and Android, with native modules where the bridge is not enough.
  • Swift & KotlinNative iOS and Android where deep OS integration, performance or platform fidelity makes the second codebase worth its cost.
  • FastlaneBuild, signing, screenshot and store-submission automation so releasing is a pipeline step rather than an afternoon.

Product & Web

  • Next.jsThe default application framework — App Router, server components, static generation for anything that does not need to be dynamic.
  • ReactComponent model across web and, through React Native, mobile.
  • TypeScriptEvery project, strict mode, no exceptions.
  • Tailwind CSSStyling and design-token enforcement, with tokens defined once and referenced everywhere.
  • VercelHosting, preview deployments per pull request, edge runtime and analytics for Next.js applications.
  • CloudflareDNS, CDN, edge workers, R2 object storage and DDoS protection where a project needs its own edge layer.

Delivery & Operations

  • GitHub & GitHub ActionsSource of truth, pull request review, CI pipelines and release automation.
  • Claude CodeAI-assisted implementation, migration and review inside the repository, with every change going through the same pull request and test gate as any other.
  • ResendTransactional email — enquiries, notifications and product mail — with delivery and bounce visibility.
  • OpenTelemetryVendor-neutral traces, metrics and logs, so observability is not a lock-in decision.
  • TerraformInfrastructure as code, so environments are reproducible rather than remembered.
  • Feature flags & remote configSeparating deployment from release across web and mobile, with kill switches on anything risky.

This is what we reach for when the decision is ours. When you already have an estate, we work in it — the stack is part of the engagement, not a precondition of it.

Roles we staff

  • iOS Engineer
  • Android Engineer
  • Cross-Platform Engineer
  • Mobile Release Engineer
  • Mobile QA Engineer

The reasoning, published

How we think about mobile

Every capability has a matching domain in the knowledge library. Read it before you talk to us — it is the fastest way to tell whether we know what we are doing.

All articles

How to buy it

Pick the engagement model separately

Capability answers who works on it. The engagement model answers what we are accountable for, how it is priced and how it ends.

Other capabilities

Probabilistic systems

AI & Applied ML

LLM applications, retrieval systems, agents and applied ML built to a standard you can put in front of a regulator — with evaluation harnesses, cost controls and failure behaviour designed in rather than discovered in production.

Software that acts

Agentic Systems & Automation

Systems that choose their own next step — tool-using agents, orchestrated workflows and automation that spans your existing systems — designed so that what they are permitted to do, and what happens when they are wrong, are decided up front.

Irreversible deployment

Blockchain & Smart Contracts

Protocol and application development where a deployment cannot be rolled back and a defect is a withdrawal. Contract engineering, security review, upgradeability design and the on-chain boundary decision.

The paved road

Platform & Data

The substrate the other three stand on: cloud infrastructure, deployment pipelines, observability, data platforms and the internal paved road that determines how fast every team above it can move.