Flutter.
Cross-platform apps from one Dart codebase, with consistent rendering on iOS and Android.
Talk to us about Flutter
Key features
What Flutter does well.
Impeller rendering
Flutter’s Impeller renderer compiles shaders ahead of time and draws with Metal on iOS and Vulkan on Android.
Stateful hot reload
Code changes appear in the running app in about a second, and the screen keeps its current state.
Native machine code
Release builds compile Dart ahead of time to native ARM code rather than running through an interpreter.
Material and Cupertino widgets
Two widget sets that follow Android and iOS design conventions, alongside fully custom widgets.
What we build with it

The same interface on every device.
Flutter draws its own interface rather than using each platform’s components, so an app looks and behaves the same across devices. We build and maintain Flutter apps, particularly where a team already has Flutter experience or code.
Branded consumer apps
Apps with a custom visual style that should look identical on iOS and Android.
Existing Flutter products
New features, upgrades and fixes for apps already built in Flutter.
Tablet and kiosk interfaces
Fixed-purpose apps running on shared devices with a controlled layout.
When it’s the right choice
Flutter is a strong fit for apps with a highly custom interface, or when your team or existing product already uses Dart.
When we’d pick something else
If the product also has a React web app and you want to share code and types with it, React Native with Expo usually fits better.
Our Flutter services
How we can help.
New Flutter apps
Apps built in Flutter where the interface is highly custom or your team already works in Dart.
Codebase reviews
A review of an inherited Flutter app’s structure, state management, packages and release setup.
Flutter and package upgrades
Upgrades through Flutter and Dart versions, replacing packages that are no longer maintained.
Platform channel work
Swift and Kotlin code behind platform channels for device features that no package covers.
How we work
Starting a Flutter project.
Review what exists
Code, data, hosting and the people who maintain it, before any Flutter 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 Flutter 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.
- UX & UI design Interfaces designed around real tasks, with every state, error and edge case resolved before build.
- Mobile app development iOS and Android apps that work offline, handle device permissions well and ship through the app stores.
- Legacy modernisation Replace or rework an ageing system in stages, keeping the business running while it changes.
Common questions
Flutter questions.
Can you take over a Flutter app built by another team?
Yes. We review the code, packages, Flutter version and release setup, then agree priorities for fixes, upgrades and new features.
How do you keep a Flutter app up to date?
We upgrade Flutter and its packages in planned steps, test on real devices and keep the store builds current with platform requirements.
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.