Skip to content
XSIS
Talk to an engineer

Software engineering

Mobile apps

Mobile apps for iOS and Android, built to be maintained

Native and cross-platform apps, from banking and wallet apps to field tools, with the back end they need.

Overview

A mobile app lives on someone else’s device, under the rules of two app stores, with patchy connections and a new operating system every year. Building one that people keep using takes more than screens.

We build native apps in Swift and Kotlin when the app depends on the device, and cross-platform apps in React Native or Flutter when one codebase for iOS and Android is the better trade. Either way, we build the back end, the APIs and the release process alongside the app.

For banking, wallet and payment apps we design for security from the start: secure storage of keys and tokens, device binding, biometric sign-in and protection against tampering. For field and operations apps we design for working offline and syncing safely when the connection returns.

What we deliver

  1. App design

    Flows and screens designed to each platform’s conventions, tested with users on real devices.

  2. iOS and Android apps

    Native or cross-platform apps built from one backlog, with business rules shared where possible.

  3. Mobile back end and APIs

    The services the app needs, including sign-in, notifications and the APIs to your other systems.

  4. App security controls

    Secure storage, certificate pinning, biometric sign-in and checks against tampered or rooted devices, as the risk requires.

  5. Offline use and sync

    Encrypted local storage and conflict rules, so the app keeps working without a connection.

  6. Store releases

    App Store and Google Play listings, signing, review submissions and staged roll-outs, managed for you.

  7. Crash and usage monitoring

    Crash reporting and privacy-respecting analytics, so you see problems before your users report them.

  8. Device test suite

    Automated interface tests run on a range of real and virtual devices on every build.

How we work

  1. 01

    Discover

    We agree the users, the core journeys, the platforms and the devices the app must support.

  2. 02

    Choose the approach

    We recommend native or cross-platform for your case, and set out the trade-offs in writing.

  3. 03

    Design and prototype

    We design the key journeys and test a prototype on real devices before building.

  4. 04

    Build the app and its back end

    We build the app and its services together, in iterations you can install and try.

  5. 05

    Release through the stores

    We handle signing, store review and a staged roll-out, and watch crash reports closely.

  6. 06

    Maintain

    We keep the app current with each new iOS and Android release, and with your roadmap.

Technologies

Languages
  • Swift
  • Kotlin
  • TypeScript
Frameworks
  • Node.js
Mobile
  • SwiftUI
  • Jetpack Compose
  • React Native
  • Flutter
Databases
  • PostgreSQL
Testing
  • Appium
Identity and access
  • OAuth 2.0
  • OpenID Connect

Ways to work with us

Questions and answers

Should we build native or cross-platform?

Native apps in Swift and Kotlin give the fullest access to device features and the closest fit to each platform. Cross-platform apps in React Native or Flutter share most of their code between iOS and Android, which lowers the cost of building and changing them. We recommend native when the app depends heavily on the device, such as payment hardware or complex media, and cross-platform for most business and consumer apps.

Link to this question
What drives the cost of a mobile app?

The number of journeys and screens, whether you need a native app for each platform or one cross-platform app, the back-end work, and the security the app needs. Offline use, payments, device features and the range of devices to support add effort. Store releases and keeping up with new operating system versions are ongoing costs to plan for.

Link to this question
How do you secure a banking or wallet app?

We keep keys and tokens in the platform’s hardware-backed secure storage, never in plain files. We use certificate pinning, biometric or device-bound sign-in, and server-side checks for every sensitive action. Where the risk calls for it, we add detection of rooted or jailbroken devices and tampered builds. We follow the OWASP Mobile Application Security guidance and can support an external penetration test before launch.

Link to this question
Do you handle App Store and Google Play releases?

Yes. We prepare the listings, manage signing keys and certificates, submit builds for review and release in stages, so a problem reaches few users. The developer accounts stay in your organisation’s name, so you own the apps and their listings. We work under your accounts with access that you grant and can revoke.

Link to this question
Can the app work without a connection?

Yes, where the journeys allow it. We store the data the user needs on the device, encrypted, and queue their changes until the connection returns. Sync rules decide what happens when the same record changed in two places. We design those rules with you, because they are business decisions as much as technical ones.

Link to this question
What maintenance does an app need after launch?

Apple and Google release new operating system versions every year, and store rules change. Libraries need security updates. We test the app against each new release, fix what changes and keep its dependencies current, alongside your own roadmap of features. This usually runs under a support agreement or within a dedicated team.

Link to this question
Who owns the code and the work you produce?

Intellectual property in the work we build for you is yours from the first commit — no assignment step at the end. That covers the custom code, documentation and other deliverables made for you. Anything we bring that existed before, such as internal tools or libraries, stays ours, and you receive a licence to use it in your systems. Open-source components keep their own licences, and we list them for you.

Link to this question

Tell us what you need to build or connect.

Describe the systems, the timeline and the constraints. The right engineers take it from there.

  • Our team will call you within 24 hours during your preferred time slot
  • Our team is available 24/7