Native Android and iOS, or cross-platform in Flutter or React Native where that is the better trade-off. And an honest answer first about whether you need an app at all.
Book a consultationPlenty of businesses commission an app when a well-built mobile web experience would have served them better: no install to persuade anyone into, no app store review between them and a fix, and one codebase instead of two. We will say so when that is the case, because an app nobody downloads is an expensive way to learn it.
When the device is doing real work, the calculation flips. Camera and scanning, offline use, push notifications, background location, secure storage or payment hardware all argue for an app, and then it earns its keep.
Kotlin on Android and Swift on iOS, for apps that lean hard on the device: performance, hardware access, background behaviour and platform conventions users expect.
A single codebase across both platforms, which for many product apps means roughly the same result for meaningfully less build and maintenance than two native codebases. Which of the two usually comes down to what your existing team can pick up.
Tested on mid-range Android devices on congested mobile data, not only on a fast phone on office wifi. Sensible offline behaviour, and screens that do not assume a perfect connection.
Store listings, review submissions, signing and release builds, plus crash reporting and a route to ship fixes. Getting to version one is not the end of the work.
An honest answer on whether this needs to be an app, before anyone budgets for one.
Decided on what the app must do rather than on preference, with the reasoning written down.
Installable builds you can put on a real phone early, so direction can change while that is cheap.
Store submission, signing, crash reporting, and an agreed way to ship the fixes that always follow launch.
Delivered mobile work includes EventHub, a booking and community app for gaming venues covering sessions, events and live streams, and a mobile wallet with QR onboarding and live parcel tracking. Both are on the case studies page.
Automated testing that tells you something true, on the paths where being wrong is expensive.
Web applications built to work on a mid-range phone on a bad connection, because that is how most South Africans will use them.
Used where it genuinely beats ordinary software, and not used where it does not.
Deployments that are small, cheap and unremarkable to run, because infrastructure should be the least interesting part of your system.
A short call costs nothing and usually makes the answer obvious. If a different piece of work suits you better, we will say so.