Sedang Bahagia
Start a projectStart a project

Mobile app development: Apps that keep working when the signal drops.

For most business apps we recommend cross-platform: one Flutter or React Native codebase for iOS and Android, with native code where a device feature needs it. A 4-week sprint ends with release under your App Store and Play Store accounts.

Signal

No signal in the basement, but the driver keeps working: the scan, photo and signature wait on the phone.

From one codebase to both app stores, feature by feature.

Behind ✦ Explore AI features on each card is what AI can add to that part of the app. AI prepares drafts and suggestions, your team approves them, and the app works the same with AI switched off.

01✦ AI

iOS and Android from one codebase

One Flutter or React Native codebase builds both apps, so every feature and fix reaches iPhone and Android users in the same release.

  • Flutter or React Native, chosen in week 1 for your users and their devices
  • Screens that follow each platform’s habits, such as back gestures, date pickers and sharing
  • Tested on the phones your users already carry, including mid-range Android
  • Native code where a device feature needs it
On request
  • Sign-in by passkey, email code or SMS
✦ Optional AI
  • App text in each languageScreen text and messages drafted in Bahasa Indonesia and Bahasa Melayu from your English copy, checked by your team before release.
  • Help answered from your guidesUsers’ questions answered in the app from your own guides and policies, with the source linked, or passed to your support team.
  • Search in plain wordsJobs, orders or products found the way people describe them, matched only to the records that person is allowed to see.
What an app costs to run each month →
02✦ AI

Offline-first sync for field teams

Drivers, inspectors and store staff keep working without signal. Every scan, photo and signature is saved on the phone first and sent when the signal returns.

  • Work saved on the phone first, then sent in the order it was done
  • Each record keeps the time the work was done, even when it syncs hours later
  • Uploads cut off halfway are sent again, without duplicates
  • Jobs, forms and maps for the shift downloaded before people set off
  • Clear status on every item: saved on the phone, sending or sent
  • The same record changed on two phones is merged by rules, or flagged for a supervisor
✦ Optional AI
  • Voice notes into reportsNotes dictated on site are transcribed and drafted into the report’s fields, such as cause and parts used, for the technician to confirm.
  • Answers from manuals, with the pageQuestions answered from your equipment manuals and SOPs with the page cited, once there is signal. Without signal, the question waits.
  • Conflicting edits explainedWhen two people changed the same record offline, the differences are written up side by side for a supervisor to choose.
Offline work orders for technicians: our EAM →
03✦ AI

Barcode, camera and GPS features

Scan a code instead of keying it in, take a photo as proof, and record where the work was done, so the phone replaces most of the typing.

  • Barcode and QR scanning with the phone camera
  • Photos stamped with time and location, made smaller before upload
  • Signatures and checklists as proof of delivery or inspection
  • GPS check-in at each site and a map of the day’s jobs
  • All of it works offline and waits in the queue with the rest of the work
On request
  • Rugged handheld scanners
✦ Optional AI
  • Labels read on the phoneBatch numbers, expiry dates and serials read from printed labels by a model on the phone, even without signal. Staff confirm each value.
  • Documents into form fieldsDelivery orders, receipts or nameplates photographed and read into the form, with every field for the user to confirm before saving.
  • Photos flagged for reviewPhotos checked for likely damage or defects when they sync, and put first in a supervisor’s review queue. The model ranks them, and a person decides.
  • Messy addresses tidiedFree-text addresses, such as “Blk 12, beside the market, level 3”, turned into a structured address and map pin for dispatch to confirm.
Every stock move confirmed by a scan: our WMS →
04✦ AI

Push notifications and in-app payments

The app notifies people when something changes, such as an order on its way or a job assigned, and takes payment without sending them to a website.

  • Notifications that open the right screen in the app
  • Notification settings each user controls
  • Cards, e-wallets and bank transfers through gateways such as Stripe and Xendit
  • Saved cards and receipts, with card details held by the gateway, not the app
  • App Store and Google Play billing only where the stores require it, for digital goods and subscriptions
✦ Optional AI
  • Notification text in each languageOrder, delivery and reminder messages drafted in English, Bahasa Indonesia and Bahasa Melayu, and approved by your team before they are used.
  • Messages translatedChat between dispatch and drivers, or staff and customers, translated between English, Bahasa Indonesia and Bahasa Melayu, with the original kept alongside.
  • Payment slips matchedBank transfer screenshots read and matched to the open order for finance to confirm. The bank statement stays the final check.
  • Approvals with contextA notification to approve a request opens with its history and the figures that matter summarised alongside. The approver decides.
A parent portal where the PayNow QR carries the invoice number →
05✦ AI

Admin console for your team

A web console where your team manages users, jobs and content, and sees what is happening in the field, without asking a developer.

  • Users, roles and devices, with access removed in one place
  • Jobs, forms and checklists your team edits without a new app release
  • Live status of every job and device, including its last sync
  • Messages to teams or customer groups, with a record of what was sent
  • Exports, and links to your ERP (enterprise resource planning) or other systems through their APIs
✦ Optional AI
  • Ask your dataAsk “which stops are late today?” and get the list, with the filters used and a link to each record.
  • Daily exceptions summaryLate jobs, missing signatures and phones that have not synced are found by rules, and AI writes a short summary for supervisors.
  • One queue for AI suggestionsEvery AI draft from the app waits here with its source photo or note, and a person accepts, edits or rejects it.
  • AI on or off per teamEach AI feature can be switched off per team or site, and every screen keeps working without it.
An exam console and iOS and Android apps on one question bank →
06✦ AI

App Store and Play Store release

We publish the apps under your company’s Apple and Google accounts and see them through store review, so the listings, signing keys and reviews stay yours.

  • Developer accounts set up in your company’s name
  • Store listings, screenshots and privacy details prepared with you
  • Store review handled, including changes a reviewer asks for
  • Signing keys handed over with the source code
On request
  • Test builds for your team through TestFlight and Google Play testing tracks
  • Phased rollout and crash reporting, so a problem shows up before everyone has the update
✦ Optional AI
  • Release notes drafted“What’s new” text drafted from the work merged since the last version, in each language, for your team to edit.
  • Store review repliesReplies to App Store and Google Play reviews drafted for your team to post. Nothing is posted automatically.
  • Crash reports groupedCrash and error reports grouped after each release and summarised for your developers, who confirm the cause.
  • Feedback sorted by topicStore reviews and in-app feedback sorted into bugs, requests and questions, with links, for planning the next release.
Something the app has to do that isn’t on this list? Tell our technical lead what it is, and which phones your people carry.Talk it through →

A 4-week sprint, from first call to the app stores.

For companies in Singapore, Malaysia and Indonesia, in English and Bahasa Indonesia. You talk to the technical lead throughout, from the first call to handover.

4 weeks · 3 steps
Week 1

Listen, understand & prototype

We listen to the people who do the work, map the problems to solve and deliver a clickable prototype to test on real phones by the end of the week.

Week 2–3 · 2 weeks

Core build

We build the core features and integrations on your real data, and demo them on a staging link every week.

Week 4

Live production & handover

We deploy to production and hand over the source code, documentation and admin access.

How we work

Offline first, where it matters

Drivers, inspectors and store staff lose signal in basements, yards and plant rooms. Their apps save the work on the phone and send it when the signal returns.

One codebase, two stores

Flutter or React Native gives you iOS and Android from one codebase, so features reach both platforms at once and there’s one app to maintain.

Tested with the people who use it

We test the main flow with real users in week 1, on the devices they already carry, before building it out.

Released under your accounts

We publish under your own App Store and Play Store accounts, and you receive the source code, signing keys and documentation.

Planning an app for customers or a field team? Talk it through with our technical lead.

Start a project →

Questions about mobile app development

Native or cross-platform?

Cross-platform (Flutter or React Native) is our recommendation for most business apps: one codebase, both stores. Native code is the right call when an app depends heavily on device hardware, and we say so in week 1.

Can the app work without internet?

Yes. An offline-first app saves work on the device and sends it when the signal returns. The handheld app in our WMS and the technicians’ app in our EAM both work this way.

Are the AI features in the app optional, and do they work offline?

Yes, they’re optional. Each AI feature is switched on per team, can be turned off at any time, and every screen works without it. One feature works without signal: a model on the phone reads printed labels. Features that need a larger model, such as voice notes drafted into reports, run once the phone has signal; until then the work waits in the queue with everything else. Nothing AI drafts is saved until someone on your team confirms it.

Do we own the source code?

Yes. You own 100% of the source code from the first commit, and at handover you receive the code, the documentation and admin access.

Who will we talk to?

The technical lead who does the work, with a domain specialist who has done this kind of work before. We reply within 24 hours, there’s no account manager in between, and we sign an NDA on request.

From the build

Book a call