Staroil's whole operation, in a single system.
The system Staroil runs its operation on: customers and contracts, consumption, approvals, people and time clocking. One web application, two APIs and an app on Google Play and the App Store, all built by Nexus.
- client
- Staroil
- functional areas
- 24
- status
- in production
An operation scattered across spreadsheets.
Staroil runs fuel stations and bulk fuel depots. Before Pulse, every area kept its own spreadsheet and its own mail folder. The brief was not «build an application»: it was to bring together in one place what was already being done, without pausing the business along the way.
Twenty-four areas, one system.
Each area has its own functional documentation, data model and role-based permissions. This is what sits inside, grouped:
Clock in within ten seconds, from a phone or from the site tablet.
There is a single app, published on Google Play and the App Store, and it behaves in two different ways depending on the code the device is enrolled with. A phone never starts up as a tablet, even if it receives a site code.
Anyone in the company clocks in by picking themselves from a list. The front camera takes a photo on every entry, because the tablet asks for no password: that is what makes it possible to verify who clocked in.
Only its owner clocks in, with email and password. Location is read solely in the second the «Clock in» button is pressed — never in the background. It also carries the schedule, absences and reminders.
How the app handles data is set out in its privacy policy: location only when clocking in, no facial recognition, no advertising or analytics, and all data in the European Union.
Polyglot on purpose.
Each piece is written in the language that suits it, and all of them are orchestrated by the same scripts. This is not eclecticism: it is what made it possible to replace parts without rebuilding the whole.
- 01PHP core on nginx and MySQL, with versioned migrations and a change audit trail.
- 02Java API on Spring Boot for the processes that need strong typing and concurrency.
- 03Python API on Flask for imports and alerts, plus a FastAPI BFF serving the mobile app.
- 04React Native and Expo app, with clock-in reminders scheduled on the phone itself: there are no push notifications and no record of which devices have it installed.
Does your operation live in spreadsheets?
Pulse is bespoke and is not sold as a product, but what it proves does repeat: bringing scattered areas into a system people actually use.
Talk to an engineer