Hire a freelance mobile app developer

Post the job and read proposals from engineers who have shipped to the App Store and Play Store. Ingenium is the marketplace and holds the contract; the engineer you hire builds and releases the app.

Post a mobile app job
The work

Mobile development, and the part nobody quotes for

Writing the screens is the half of a mobile project everyone expects. Getting an app through two review processes, onto devices you do not control, and working when there is no signal is the half that decides whether it ships.

The first real decision is native or cross-platform, and it is a budget decision disguised as a technical one. Native means Swift and SwiftUI or UIKit on iOS, and Kotlin with Jetpack Compose on Android: two codebases, two sets of platform conventions, and the best possible access to hardware, background execution and anything new a platform ships. Cross-platform means one codebase — React Native, which suits a team already fluent in React and TypeScript, or Flutter, which gives tighter control of rendering and a consistent look across both platforms. For most line-of-business apps a cross-platform codebase is the right answer; for an app whose whole value is in a camera pipeline, a Bluetooth stack or background location, native usually wins. An engineer who asks what the app has to do before naming a framework is doing this properly.

Offline-first is the requirement that separates apps for work from apps for consumers, and it is almost always under-specified. A technician in a basement, a surveyor on a rural site, an engineer inside a steel building: no signal, and the job still has to be recorded. That means a real local database, a queue of pending changes, sync that resumes after a crash rather than starting again, conflict rules that someone has actually decided — last write wins, or the server wins, or the user is asked — and an interface that makes it obvious what has been saved locally and what has reached the server. Retrofitting any of this is close to a rewrite, which is why it belongs in the first conversation and in the job post.

Then the hardware and the device itself. Apps for work tend to use the parts of a phone that are awkward: the camera for photographs attached to a record and for barcode and QR scanning, GPS and background location, Bluetooth Low Energy to pair with an instrument or configure a device, NFC, file and document handling, printing to a label printer. Each of those carries platform permissions, battery implications and background-execution limits that differ between iOS and Android and change with every OS release. "It works on my phone" is not a status report.

Release is a project in itself and is routinely left out of estimates. Apple and Google both review submissions, both reject for reasons that are not always predictable, and both require things that have nothing to do with code: a developer account in the client’s own name, signing certificates and provisioning profiles, app icons and store screenshots at several sizes, a privacy policy, data-collection disclosures, and a test build distributed through TestFlight or Play Console internal testing before anyone outside the project sees it. Agree early whose accounts the app is published under — it should be the client’s — because moving an app between developer accounts after release is considerably harder than setting it up correctly first.

After that it is maintenance, which never stops. Both platforms ship a major OS version every year, both periodically raise the minimum SDK a store will accept, and an app that is not touched for eighteen months is an app that eventually cannot be updated at all. Crash reporting, analytics on the handful of things worth measuring, and a plan for who does the yearly compatibility pass are part of buying an app, not extras.

Scope

What a mobile app job usually covers

A screen count is not a scope. These are the parts that take the time.

Platform and architecture choice

Native Swift and Kotlin, or React Native or Flutter, argued from what the app has to do — hardware access, background work, team skills and how long you intend to keep it alive.

Screens and navigation

The flows themselves, built to each platform’s conventions rather than a web layout squeezed onto a phone, with the loading, empty, error and no-permission states that make up most of real use.

Offline-first data and sync

A local database, a queue of pending changes, resumable sync, decided conflict rules, and an interface that tells the user plainly what is saved on the device and what has reached the server.

Device and hardware features

Camera and photo capture, barcode and QR scanning, GPS and background location, Bluetooth Low Energy pairing with instruments or devices, NFC, push notifications, file handling and printing — each with its permissions and battery cost.

Back end and API

The REST API the app talks to, authentication and token refresh, versioning so an old app on someone’s phone keeps working, and the admin or web side where the data is actually reviewed.

Release and maintenance

Signing, store listings and screenshots, privacy disclosures, App Store and Play Store submission, TestFlight and internal testing, crash reporting, and the yearly pass that keeps the app accepted by both stores.

Tools

Platforms, frameworks and stores

Say in the job post which platforms you need and whether an existing codebase is involved. “Add Android to our React Native app” and “build an iOS app from scratch” are different jobs.

iOS

  • Swift
  • SwiftUI
  • UIKit
  • Xcode
  • Core Data
  • Core Bluetooth
  • TestFlight
  • App Store Connect

Android

  • Kotlin
  • Jetpack Compose
  • Android Studio
  • Room
  • WorkManager
  • Play Console
  • Play Store release tracks

Cross-platform

  • React Native
  • Expo
  • Flutter
  • Dart
  • TypeScript
  • Kotlin Multiplatform
  • Capacitor

Data, sync and services

  • SQLite
  • WatermelonDB
  • Realm
  • Firebase
  • Supabase
  • REST APIs
  • Push notifications (APNs / FCM)
  • Offline queue and conflict resolution

Build, test and release

  • Fastlane
  • EAS Build
  • GitHub Actions
  • Code signing and provisioning
  • Crashlytics / Sentry
  • Detox / Maestro
  • Store privacy disclosures

Talking to hardware and plant systems

  • Bluetooth Low Energy
  • NFC
  • Barcode and QR scanning
  • Device provisioning
  • MQTT
  • OPC UA via a gateway
  • Modbus via a gateway

Platform, store and service names are the tools and distribution channels the work uses. An engineer’s experience with them is a fact about their history, not a partnership with or endorsement by Apple, Google or any other company.

Both sides

Hiring it, and doing it

The same page serves two readers. One is deciding who to trust with a running machine; the other is deciding whether the job is worth a proposal.

What to look for in an app developer

Ask what they have actually released, and look it up in the store. An app in the hands of users has survived a set of problems a prototype has never met.

  • Apps live on the App Store and Play Store, named, so you can look at them yourself
  • A reasoned platform recommendation rather than whichever framework they prefer
  • Experience of offline-first sync if your users work where there is no signal — this is the hardest part to add later
  • Hands-on history with the hardware features you need: Bluetooth Low Energy, camera, background location
  • Store submission, signing and privacy disclosures inside the quote, published under your developer accounts
  • An answer on maintenance: who handles next year’s OS releases and store requirements
Post a job

If you ship mobile apps

Clients read your profile before they message you, and Ingenium requires it to be complete before you can send a proposal or accept an offer.

  • Name the frameworks and the platforms — React Native, Flutter, Swift and Kotlin are what the job posts say
  • Link or name released apps; “shipped to both stores” is the claim that matters most here
  • Call out offline-first, Bluetooth Low Energy and hardware integration work if you have done it — those are the scarce skills
  • Say whether you also build the API and the admin side, or work to someone else’s back end
  • Skills, resume, job history, education, hourly rate and work schedule are all required before you can apply
  • A client has to open the conversation — an invite to a job, a message, or an offer
Create a freelancer profile
Hiring on Ingenium

How you hire a mobile app developer here

Ingenium is a marketplace, not an engineering firm. It does not do the work — it is where the job is described, proposals are compared, and the contract and the money are held once terms are agreed.

Post the job

Describe the scope, the equipment involved and the site, and post it under Software Engineering. Posting is free. You can also invite a specific engineer to the job, or message one from their profile.

Read the proposals

Engineers who do this work reply with their rate and how they would approach it. Messaging is open from the moment a client starts the conversation, so the scope can be argued out before anyone commits.

Send an offer

An offer sets the payment model and the terms. Fixed price is split into milestones; hourly is invoiced weekly from logged time. The model is chosen when the job is posted and cannot be swapped later. A saved card is needed before an offer can go out.

Run the contract

An accepted offer becomes a contract with a shared work diary, tasks, time entries, comments, invoices and expense claims. Funds are held by Stripe and released when the client accepts the work.

Which payment model fits

Fixed-price milestones work where the app is specified — an agreed screen list, a defined sync model, a named set of device features — and a sensible split is the API and data model, then the screens, then release. Treat store submission as its own milestone rather than a loose end, because review is outside everyone’s control. Hourly fits the work after launch, which on a mobile app is permanent: OS releases, store requirement changes, crash fixes and the features the first real users ask for. Since the payment model is set when the job is posted and cannot be changed, that is usually a fixed-price build job and a separate hourly job for maintenance.

The full flow from posting a job to getting paid covers both models and where the money sits in between. Everything a contract carries — time tracking, milestones, messaging, invoices, payouts — is listed on the features page. Or create an account and post the job.

Your next engineer is one click away

Connect with the best freelance engineers and streamline your projects with our integrated management tools.