Client project · iOS · Flutter
FLEXI
An HR app for Fit4Less staff: attendance, shifts, leave and payroll in one place.
- Role
- Built from scratch as a solo project: Flutter app, architecture, APIs and App Store release under my own account.
- Status
- Live on the App Store
- Stack
- Flutter
- Clean Architecture
- Bloc
- REST APIs
- Location verification
- QR check-in
- Role-based access
01
The product
FLEXI brings a company’s day-to-day HR services into one app for Fit4Less staff. Employees check in and out, scan a QR code for attendance, follow their schedules and shifts, request leave, permissions and salary advances, and view payroll documents. Managers get the employee data and approval actions their role allows.
02
My role
Built from scratch as a solo project for a client, from their requirements. I owned it end to end: the Flutter app and its architecture, the API integration and the role-based flows, through to the App Store release under my own developer account.
03
The hard part
Attendance has to be trustworthy, so a check-in should only count when the employee is really at work. And the same app serves employees and managers, so every screen and action has to respect the permissions of the signed-in account.
04
Decisions and why
Verified attendance
Check-in combines work-location verification with a dedicated QR code, so attendance records reflect where people actually are.
Role-based from the ground up
Features and actions are shown according to each account’s role and permissions, so employees and managers share one app with different capabilities.
Clean Architecture with Bloc
Attendance, leave, advances, payroll and notifications are separate features over a REST API, which keeps each flow testable and easy to extend.
05
What I built
- Check-in and check-out with work-location verification
- QR code attendance
- Attendance records, schedules and shifts
- Leave, permission and salary-advance requests
- Payroll data and employment documents
- Notifications for request status and approvals
- Manager tools for authorised employee actions
Screenshots from the app’s public store listings.
06
Result
Shipped to the App Store, available to authorised Fit4Less staff.
07

