All work
FLEXI app icon

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

  1. Verified attendance

    Check-in combines work-location verification with a dedicated QR code, so attendance records reflect where people actually are.

  2. 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.

  3. 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.

Role-based routing After sign-in, the server returns the account’s role. The app routes by that role, and each role unlocks its own screens, so employees and managers use one app with different access.

06

Result

Shipped to the App Store, available to authorised Fit4Less staff.

07

See it