web-app
Live & Maintained

PrioHR

Built a Human Resource Management System using React.js and Go, and ShadCN featuring employee management, geofenced attendance, automated payroll, shift scheduling, and leave management. Clean admin and employee experience.

Role
Full-stack Developer
Duration
Aug 2025 - Present
Client
Niaga Jaya Supermarket

Impact

Results

Attendance

Managers can reliably track employee attendance based on assigned shifts, even while off-site

Payroll

Payroll is automatically calculated using base salary, attendance, overtime, and leave records, reliable calculations

Shift

Shift schedules can be configured weekly and adjusted dynamically based on operational needs

Employees

Managers can easily add or remove employees, with generated accounts granting direct access to the employee portal

The Problem

Niaga Jaya’s management faced difficulties tracking employees because the manager was frequently off-site. Manual coordination made it hard to monitor attendance, shifts, and payroll accurately, creating a need for a centralized system to manage employees remotely and reliably.

The Solution

  • Employee management with centralized profiles and role separation
  • Attendance tracking using geofencing with precautions to prevent abuse
  • Automated payroll calculated from attendance and leave records
  • Leave management with email-based approval workflow
  • Multi-level approval workflow (OR/AND)
  • Shift management with configurable automatic weekly scheduling
  • Employee-facing portal for check-in and leave applications
  • Multi-entity support to manage multiple stores under one company
  • Clear separation between Admin and Employee interfaces

System Design

The system uses React.js for the frontend and Go for backend services, with shadcn/ui to standardize and accelerate UI development.


Challenges

  • Preventing attendance misuse such as fake GPS or remote check-ins by implementing device checks, geofence validation, and warning triggers for suspicious activity
  • Handling GPS location inaccuracies, a known browser limitation, while continuously improving validation logic
  • Designing a user-friendly and consistent interface using shadcn/ui for both admin and employee workflows

Interface & Architecture

dashboard

dashboard

leave management

leave management

approval flow for the approval, can change approver

approval flow for the approval, can change approver

employee management

employee management

Geofence setting

Geofence setting

payroll, aside of viewing also able to run payroll and see how much base on date-date

payroll, aside of viewing also able to run payroll and see how much base on date-date

cashbon/borrow money from company

cashbon/borrow money from company

company preview, and to manage company and entities.

company preview, and to manage company and entities.

how it looks on employee page

how it looks on employee page

apply for leaves and look for other employee leave

apply for leaves and look for other employee leave