The mobile app for a global HR platform
A phone app for an HR system used across many countries, built for shift workers on old Android handsets rather than HR managers on laptops.
Sector
HRMS
Services
Mobile apps, Cloud and support
Outcome
A shipped app on both stores, built for the least powerful phone in the building.
The client is a global HR software vendor. Their web product is mature and well used. Their problem was that most of the people whose data lives in it never open a laptop.
We build the mobile application.
The web product is not the brief
The obvious approach is to put the web product in a phone-sized box. It is also the reason so many workforce apps go unused.
An HR manager doing an annual review cycle and a warehouse worker checking a leave balance are not the same user. The manager can wait for a page to load and can tolerate a menu with fourteen entries. The worker has thirty seconds, one hand free and a phone bought four years ago.
We cut the app down to what someone does in a corridor: clock in, check a balance, request leave, look at a payslip. Everything else lives one level deeper and nobody complained.
The connection is not there
Attendance is the feature that breaks first, because it is used in exactly the places with the worst signal — basements, warehouses, factory floors, shift changes where two hundred people hit the network at once.
So clock-in is written locally first and synced afterwards, with the local time and the location captured at the moment of the tap rather than the moment of the upload. The user sees a confirmation immediately, because as far as their day is concerned it is done.
The interesting work is what happens on sync: the same clock-in arriving twice, an entry that arrives after the shift it belongs to has closed, and a clock-out with no matching clock-in. Each of those needed a rule, and each rule needed a person from the client's operations team to sign it off.
Old phones are the target
We tested on the cheapest current Android handset we could buy, not on a flagship. That single choice removed a whole class of decisions — heavy animations, large images, generous memory assumptions.
The app is fast on a good phone as a side effect of being usable on a bad one.
What we run
- The native Android and iOS applications on both stores
- Offline capture and conflict resolution for attendance
- Biometric unlock and session handling
- Release builds through CI, so a build is a command rather than a ritual
The client is not named here without their written permission.