Swift & Kotlin.
Native iOS and Android apps for features that need the closest fit with each platform.
Talk to us about Swift & Kotlin
Key features
What Swift & Kotlin does well.
Declarative interfaces
SwiftUI and Jetpack Compose describe screens as functions of state, which replaces most hand-written view updating.
Structured concurrency
Swift’s async/await and Kotlin coroutines handle network and background work in code that reads top to bottom.
Every platform API
Native code calls each platform API directly, with no bridge or wrapper library that has to catch up first.
First-party profiling
Xcode Instruments and the Android Studio profilers show memory, energy and rendering cost on a real device.
What we build with it

Built for the platform, in its own language.
Swift and Kotlin are the platform languages for iOS and Android. We use them for apps that depend on new platform features or close hardware integration, and for native modules that extend a cross-platform app.
Device-heavy apps
Apps that work closely with Bluetooth accessories, sensors, the camera or background location.
Platform features
Widgets, watch apps and system integrations as soon as each platform supports them.
Native modules
Swift and Kotlin code that adds a native capability to a React Native or Flutter app.
When it’s the right choice
Native development is the right choice when the app depends on platform features or hardware, or when one platform matters far more than the other.
When we’d pick something else
Two separate codebases mean more to build and maintain. When most screens are forms, lists and content, a cross-platform approach is usually more economical.
Our Swift & Kotlin services
How we can help.
Native app builds
iOS apps in Swift and SwiftUI, Android apps in Kotlin and Jetpack Compose, for one platform or both.
Gradual modernisation
New screens written in Swift or Kotlin inside an older Objective-C or Java app, moving it over in stages.
Native modules
Swift and Kotlin modules that give a React Native or Flutter app a capability it lacks.
Platform updates
Yearly work to keep apps building against new iOS and Android SDKs and store requirements.
How we work
Starting a Swift & Kotlin project.
Review what exists
Code, data, hosting and the people who maintain it, before any Swift & Kotlin decision is made.
Agree the approach
A written scope: what changes, what stays, the risks and how we will know it worked.
Build in reviewable slices
Working increments your team can test, rather than one large delivery at the end.
Hand over or stay on
Documentation and access for your team, or a defined support scope if you want us to keep going.
Where AI fits
AI in mobile work.
On-device models
Apple’s Foundation Models framework and Android’s Gemini Nano APIs run smaller models on the phone, for features that must work offline or keep data local.
AI workflow automation ↗Reading photos of documents
Capture a form or label with the camera and pull out the fields, with the image kept for checking.
Document data extraction ↗
Where it stops: On-device models are only on newer phones and are less capable than cloud models, so features need a fallback.
What’s changing
Shifts to plan for.
Dates that affect Swift & Kotlin projects, checked against the official sources.
August 2026
Google Play targets Android 16
New apps and updates for phones and tablets must target API level 36. Extensions can be requested until 1 November 2026.
April 2026
App Store requires the iOS 26 SDK
Since 28 April 2026, uploads must be built with Xcode 26. Apps can still support older iOS versions; only the build tools changed.
Where it fits
Related expertise.
- Mobile app development iOS and Android apps that work offline, handle device permissions well and ship through the app stores.
- APIs & integrations Connect your product to the systems your team relies on, with clear contracts and handled failures.
- Legacy modernisation Replace or rework an ageing system in stages, keeping the business running while it changes.
Common questions
Swift & Kotlin questions.
Can native code be added to a cross-platform app?
Yes. React Native and Flutter both support native modules, so a specific feature can be written in Swift or Kotlin while the rest of the app stays shared.
Can you maintain an older Objective-C or Java app?
We can review it and plan the work. Many teams move gradually, writing new screens in Swift or Kotlin alongside the existing code.
Further reading
- Awaab’s Law and the software landlords use for repairs What Awaab’s Law asks of the systems social landlords use to log, investigate and repair hazards, and the records they need to keep.
- Firebase, Supabase or a custom back end: how to choose How to choose between Firebase, Supabase and a custom back end by data shape, access rules, cost, exit paths and skills.
- MySQL 8.0 has reached end of life: planning the move to 8.4 What MySQL 8.0’s end of life means, and how to plan, test and roll back an upgrade to MySQL 8.4 LTS.