What this package is
Install is a real Android app that sits as an icon on the phone. Staff open it directly, with no browser and no web address to type, which sounds small but is the difference between something used daily and something quietly forgotten.
Inside it are up to five main screens, a login using your own staff accounts, and a live connection to your server data. What this package does not include is working without a signal, the in-app camera, and push notifications. All three are in Field.
It is written in Kotlin and Jetpack Compose, Google's own tools, not a website wrapped to look like an app. You receive an install file tested on real hardware, the full source code, an English README, and a contract in English covering scope, dates, and who owns the code.
See it working
Nothing is open yet. Send the urgent job from the office and watch the phone screen.
Notifications like this are in the Field package. This one does not have them.
This is the one thing a website genuinely cannot do. Once someone closes the tab, a website can reach nobody. It has to wait for them to come back. An app that is closed, in a pocket, still lights up the lock screen. If your work depends on telling someone right now, that is the reason to build an app, not because an app looks better.
| Nothing has arrived yet |
Every screen pulls live data from your server, so with the signal off there is nothing to show. Working without a signal is in the Field package.
This mirrors the screen of the delivered app. Everything here lives in this page and is connected to nothing. The real thing is an Android app written in Kotlin and Jetpack Compose.
Everything you get
This list is the entire scope of the package. Nothing is hidden in a contract.
- Native Android app written in Kotlin, not a website wrapped to look like one
- Up to 5 main screens, login, and a live connection to your server data
- Install file tested on real hardware, ready to hand out to staff
- English README and code comments, so your own team can carry the code on
- Contract in English covering scope, delivery dates, and who owns the code
- 60 days of support after handover
- iOS. This service is native Android only. If you need both iPhone and Android, I build those separately as an iOS + Android app in React Native from one codebase.
- The Google Play developer account fee, a one-time 25 US dollars, opened under your company name and verified with Google. That one account covers both a Play Store listing and registering an app you hand out outside the store. The D-U-N-S number a company account needs is free.
- Waiting for the D-U-N-S number and Google's verification, which can take up to 28 days, is not counted in the delivery window. The build carries on while you wait, but putting the app on every staff phone waits until the account is ready.
- Pressing submit on the Play Store for you. I prepare every file and document, but the submission should happen inside your own account. I will walk you through it while you do it.
- Ads and getting people to install it. That is marketing, a different line of work from mine.
- A registered company on my side. I am one developer working under my own name in Thailand, and the contract is with me personally, not with an agency.
Questions about this package
How is this different from a website on a phone?
Visually it need not be. But three things a website cannot do: keep working with no signal, raise a notification on the lock screen, and open the camera quickly with real control over it. If your work needs none of those, I will tell you to build a website instead. It is cheaper and easier to change.
Can you do iOS as well?
Not in this service, which is native Android only. If you need both iPhone and Android, my iOS + Android app service builds both from one React Native codebase, priced $2,190 – 4,290 on its own page. For staff apps where the company hands out Android phones, this service costs less and is written fully native.
What counts as one of the five screens?
Screens with genuinely different content. Confirmation dialogs, loading states and error messages do not count. When we agree the work I write the five out by name in the specification, so there is nothing left to argue about later.
Without the Play Store, how does it get installed?
I send the install file and you allow installation from outside the store once per device, with an illustrated guide from me. It is faster than waiting for store review. But from 30 September 2026 in Thailand, Brazil, Indonesia and Singapore, the app first has to be registered in your company's developer account, verified with Google, or phones will refuse a normal install. I walk you through that registration. If your IT team already hands out apps through an organization store on company-managed phones, that route is exempt. If you do want to publish, that is in Scan, which prepares every file and document for it.
Off-the-shelf software is far cheaper. Why build one?
The right question to ask, and the honest answer is that if your work looks like everybody else's, do not build. There is off-the-shelf software for nearly every field job already, from staff attendance to maintenance tickets to van sales, and some of it starts free. I am glad to point you at the right one. Building your own earns its cost when your process is specific enough that a template cannot hold it: pricing by your own formula, a connection into a system you already run, or data that is not allowed to sit on somebody else's server. I work out which of those you are at no charge, and say so plainly if you are none of them.
Is there real native work I can look at?
Yes. ReceiptLens is a native Android app I wrote in Kotlin and Jetpack Compose. It reads receipts through the camera and processes them entirely on the device. The whole codebase is public on GitHub and it is in the work section of this site. Judge it from the code rather than from a number of years.