Tensor PLC
Tensor SSM
Self-service mobile companion app for workforce time and attendance
The challenge
Tensor PLC’s workforce management platform is used by businesses across the UK to track time and attendance, manage rosters, and handle HR processes. But the platform was entirely desktop-bound — employees could only interact with it from a terminal or PC at their workplace.
This created real friction for modern workforces:
Clock-in was tied to fixed hardware. Employees needed to be at a physical terminal or PC to register their attendance. For businesses with remote workers, field teams, or multi-site operations, this was impractical and inaccurate.
Self-service was non-existent on mobile. Requesting annual leave, checking remaining entitlements, viewing shift rosters, or reporting absences all required access to a desktop. Employees couldn’t manage these tasks from their phones, creating bottlenecks and delays.
Managers lacked real-time visibility. Without mobile access, supervisors couldn’t check who was on site, approve leave requests, or respond to staffing issues while away from their desks.
The approach
I built the Tensor SSM app using Angular and Ionic with Capacitor, enabling deployment across Android and iOS from a single codebase. This cross-platform approach was critical — Tensor’s customers use a mix of devices, and maintaining separate native apps for each platform was impractical.
Key architectural decisions:
- Capacitor for native access — GPS for location-verified clock-in, push notifications for roster changes, biometric authentication for secure access
- Offline-first design — Clock events are queued locally and synced when connectivity returns, essential for employees in areas with poor signal
- API integration — The app connects to Tensor’s existing workforce management backend, ensuring data consistency between mobile and desktop
The solution
Clock in and out
The core feature of the app is GPS-verified attendance registration. Employees can clock in and out from their mobile device, with location data confirming they are at an approved site. The system supports:
- GPS geofencing — Automatic detection of arrival at approved work locations
- QR code scanning — Alternative clock-in method using QR codes at site entrances
- Biometric authentication — Fingerprint or face ID to prevent buddy-clocking
- Offline queuing — Clock events stored locally and synced when online
Absence management
Employees can manage their absences directly from the app:
- Request annual leave with calendar views showing team availability
- View remaining entitlements — Holiday balances, carried-over days, and pending requests
- Report sickness with supporting notes, triggering automatic notifications to managers
- Track request status — Real-time updates on whether requests have been approved or declined
Roster viewing
Shift workers can view their upcoming schedules, with push notifications alerting them to any changes:
- Weekly and monthly views of assigned shifts
- Swap requests — Initiate shift swaps with colleagues, subject to manager approval
- Overtime availability — Flag availability for additional shifts
- Push notifications — Immediate alerts when rosters are updated or shifts change
Leave requests
The leave request workflow is designed to be fast and frictionless:
- Calendar-based selection — Tap dates to request time off, with team availability shown as context
- Half-day support — Request morning or afternoon half-days
- Manager approval flow — Requests route to the appropriate supervisor with push notification alerts
- Entitlement tracking — Running balance updates as requests are submitted and approved
The results
The Tensor SSM app was published on both the App Store and Google Play, extending Tensor’s workforce management platform to mobile:
- Mobile clock-in — GPS-verified attendance registration from any approved location, eliminating the dependency on fixed hardware
- Employee self-service — Leave requests, absence reporting, and roster viewing available on the go, reducing administrative overhead
- Cross-platform coverage — A single Angular/Ionic codebase serving both Android and iOS users
- Real-time synchronisation — All mobile interactions sync with the central Tensor platform, maintaining a single source of truth
- Offline resilience — Clock events and requests queued locally when connectivity is unavailable, ensuring no data is lost