Mobile app development in Perth
A fly-in fly-out workforce lives on its phone between swings. Rosters change, flights move, camp rooms are allocated, inductions have to be done before arrival, and a lot of it still reaches workers by email, text and a PDF that is out of date by the time it is opened at the airport.
We build React Native apps for iOS and Android that put a worker's swing in one place: roster, flights, accommodation and the documents they need, available offline once downloaded because site coverage is not guaranteed. Changes are pushed as they happen, and workers can confirm, flag problems or complete pre-arrival tasks from the app. We integrate with the rostering, travel and HR systems you already use rather than asking anyone to maintain another list.
Perth runs mines it cannot see. Rio Tinto controls trains, trucks and drills in the Pilbara from its operations centre in Perth, BHP runs much of its Western Australian iron ore logistics from a remote operations centre in the city, and Woodside, Fortescue and Chevron Australia keep their head offices here. Around them sits a large sector of engineering consultancies, contractors and mining equipment, technology and services firms. Most of the software work in the city exists to serve that industry, and it comes with that industry's habits: safety first, careful change control and very little tolerance for downtime.
The line that matters is between operational technology and everything else. Control systems, autonomous haulage and plant automation belong to specialists. The opportunity for outside engineers is on the business side of that line: maintenance and shutdown planning, historian data read out for analysis, contractor and workforce systems for a fly-in fly-out workforce, reporting, and the internal tools that stitch them together. Energy and utility businesses need the same kind of work, and beyond resources the state has its own buyers, from agencies and universities in the city to the wineries of Margaret River selling across the continent.
Hiring is shaped by the resources sector, which competes hard for experienced engineers and can pay for them. Indeed puts the average base salary for a software engineer in Perth at A$100,253, from 59 reported salaries, and a consultancy or scale-up bidding against a mining major for the same person often waits a long time. That is where we fit: senior engineers on a defined piece of work within days, with the code in your repositories from the first commit.
Our four hours of daily overlap land in your afternoon, moved to suit your team. Perth is the closest Australian capital to India's time zone, and neither Western Australia nor India uses daylight saving, so the window sits at the same point in your day all year. Your morning is for your own team and the site calls; the afternoon is for stand-ups, reviews and decisions with the engineer who writes your code.
We are the right fit for defined work on the business side of the operation: data, reporting, maintenance and workforce tools, and contractor systems. Senior engineers start within days, the first piece is a fixed-price two weeks, and we can carry the roadmap through the months before your own hire starts. Agencies can put the work under their own name.
Four ways this arrives.
And crashes on the ones your users own. We add crash reporting with readable stack traces, find the handful of devices and OS versions causing most of the crashes, and fix those before anyone touches a feature.
Signing keys on a laptop, a manual build, store notes written at midnight. We move builds and signing into CI, add over-the-air updates for JavaScript-only fixes, and write down exactly how a release goes out.
A Bluetooth device, a vendor SDK, a camera pipeline, a background task the OS keeps killing. We write the native module in Swift and Kotlin, expose a small typed interface to React Native, and keep it isolated so upgrades stay possible.
Forms that vanish, actions that send twice. We decide what must work offline, keep it on the device, queue writes with idempotency keys the backend understands, and show the user plainly what is still waiting to sync.
Our own React Native app on Android, with retraction built into the client because moderation can pull a message after it has been sent.
Read the write-up →Asked by Perth teams.
How do you work with teams in Perth?+
We are in Bengaluru, and four hours of every working day overlap with your afternoon, moved to suit your team. Perth is the closest Australian capital to India's time, and neither side changes its clocks, so the window stays put all year. Stand-ups, code reviews and design calls happen live in it. We work in your tools, whether that is Slack, GitHub or Linear, and every call is with the engineer who writes the code.
Do you build for mining and energy companies?+
Yes, on the business side of the operation. We build pipelines that read historian data out for analysis, maintenance and shutdown planning tools, contractor management platforms, apps that put a FIFO worker's roster, flights and documents in one place, and dense planning views for remote operations teams. We integrate with the maintenance, HR and procurement systems you already run, and start with the problem that costs you most on site.
How does your rate compare to hiring in Perth?+
Indeed puts the average base salary for a software engineer in Perth at around A$100,000, and the resources sector often pays more to win experienced people. Our published rate is $35/hour with a $5,000 minimum, or $5,400 a month for one embedded engineer. There is no recruiting time and no employment overhead, and work can start within days. The first piece is a fixed-price two-week engagement at $2,800, so you judge us on what ships.
What do the first two weeks look like?+
You share the context, with an NDA signed before anything specific. Within two days you are on a 30-minute call with the engineer who would do the work, and within a week you have a written plan. Then comes a fixed-price two-week piece for $2,800: one real thing, such as a maintenance report, a contractor portal screen or a data feed, built in your repositories and reviewed with you in your afternoons.
React Native or fully native?+
React Native for most products: one codebase, one team, both stores. Fully native makes sense when the app is mostly the hard native part, such as heavy camera or audio processing, complex background work, or a platform feature React Native does not support yet. We will tell you which side of that line you are on, and write the native parts by hand either way.
Expo or bare React Native?+
Expo, in almost every case now. Development builds and config plugins removed most of the old reasons to eject, and EAS handles builds and signing. We go bare only when a native dependency genuinely cannot live inside a config plugin, and we will explain why before doing it, because it makes every future upgrade more work.
Can you take over an app someone else built?+
Yes. We start by getting it to build on a clean machine, which is often the hardest step, then bring React Native and its dependencies up to a supported version before adding features. We tell you what state the app is in, including where the store listings, signing keys and accounts actually live, before quoting anything larger.
Who handles App Store and Play Store submission?+
We do, from your developer accounts, not ours. We prepare the builds, the privacy disclosures and the notes for the reviewer, and deal with rejections when they come. The accounts, signing keys and listings stay in your name, so you can change developers later without asking anyone's permission.
Does our backend need to change for a mobile app?+
Often, a little. A mobile client stays on old versions for months, retries on bad networks, and cannot be fixed by a server deploy. That means versioned endpoints, idempotent writes, and a way to tell an old client it must update. We check the backend for those before the first screen is built, because retrofitting them after launch is slower.