Back to work
Released to productionInternal HR platform

Smarter HR

KBZ Bank's internal HR platform, built to replace a legacy HRIS used by more than 13,000 employees. I worked on its backend and React frontend, and built the location-based attendance and leave modules.

My contribution
Attendance and leave modules
Built at
KBZ Bank
Internal system. Source is private.
Core stack
C#ASP.NET CoreEF CoreReactMSSQLAWS
SMARTER HRINTERNAL HRIS / 13,000+ STAFFMODULES / .NETATTENDANCEGEOLEAVESYSTEM OF RECORDMSSQLVIA EF COREHOSTED ONAWSCHECK-IN GEOFENCESITE ASITE BR> RCHECKED INOUTSIDE SITESITE RADIUS
Location-based attendance: a check-in counts only from inside an approved company site. Sites and positions are illustrative.

How it fits together

The main pieces, from the screens people use down to the database.

React

  • HR web app

ASP.NET Core

One modular monolith in C#, hosted on AWS

  • Attendance moduleRadius check against approved sites
  • Leave moduleBalance, overlap and approval rules

MSSQL

Accessed through Entity Framework Core

Engineering decisions

Attendance tied to real company sites

Employees work across multiple company sites, and attendance should only be recorded from an approved one.

Each site stores a location and an allowed radius. On check-in, the API measures the distance from the device's location to each approved site and rejects the check-in if it falls outside every radius. I built it end to end, from the database schema through the API to the React screens.

Leave requests that follow the rules

A leave request has to respect the employee's remaining balance, the leave already on record and the approval process.

The leave module rejects requests that exceed the remaining balance or overlap existing leave, and sends valid requests through approval before they count.

Moving off a legacy HRIS

A legacy HRIS used by more than 13,000 employees needed to move to a modern stack.

As part of the migration, I rebuilt existing HRIS features in C#, ASP.NET Core and Entity Framework Core, with the matching React screens.

Modules inside one application

Smarter HR is a modular monolith: attendance, leave and the other HR features ship as one ASP.NET Core application on AWS.

I built the attendance and leave modules inside it, with a focus on maintainability and reliable integration with the rest of the platform.

From requirements to release

In a large enterprise, a feature passes through many teams before it reaches employees.

I owned several features end to end, from requirements through implementation to production release, and covered their backend logic with unit tests before release. I worked closely with cross-functional teams throughout.