Skip to content
Irvine "Irvs" Clark B. EbajanIrvs
Back to ProjectsBusiness Automation Platform

Valiant Workforce Management Platform

A workforce management and payroll automation platform for Valiant Allied Services, Inc.

Overview

A full-stack employee management and payroll automation system designed to improve internal workforce management and reduce manual processing. Built during an internship at Valiant Allied Services, Inc., this system replaced manual payroll preparation with automated digital workflows.

Problem

Manual payroll preparation caused significant operational inefficiencies:

  • Time-consuming manual calculations for 24+ employees across 3 branches
  • Repetitive administrative work that consumed hours each pay period
  • Higher possibility of human error in payroll computation
  • Difficulty tracking employee records and generating reports

Solution

Developed a comprehensive system with the following modules:

  • Employee management module for centralized employee data
  • Automated payroll processing system with configurable rules
  • Administrative dashboard with key metrics and insights
  • Reporting features with PDF payslip generation
  • Excel import/export for data migration and backups

Impact

MetricValue
Employees Supported24+
Branches Covered3
Reduction in Prep Time80%

Technology Stack

LayerTechnology
BackendLaravel 12 / PHP 8.2
Admin InterfaceFilament v5
DatabaseMySQL 8.0
FrontendLivewire / Alpine.js / Tailwind CSS
TestingPHPUnit / SQLite in-memory
ContainerDocker / Alpine / Nginx / PHP-FPM
CIGitHub Actions

Key Achievements

  • Reduced manual payroll preparation time by up to 80%
  • Supported payroll processing for 24+ employees across 3 branches
  • Automated complex payroll calculations including deductions and contributions (SSS, PhilHealth, Pag-IBIG, TRAIN Law tax)
  • Built a scalable system that can be extended to additional branches
  • Implemented automated testing for critical payroll workflows

Engineering Judgment

Filament over custom admin panel — The project needed CRUD for employees, payroll records, and reports. Filament handled all of that declaratively: resources, tables, forms, and actions. A custom admin panel would have added 3–4 weeks of boilerplate for zero marginal value. The tradeoff is less control over exact UI behavior, but for an internal tool used by trained staff, Filament's conventions were faster and more maintainable.

Payroll calculation engine as a service class — Rather than scattering deduction logic across controllers or models, a single PayrollService::compute($employee, $period) class encapsulates all statutory deduction rules. This made the 80+ PHPUnit tests possible: each deduction type can be tested in isolation with known inputs. The tradeoff is that service classes can grow large; I used separate private methods per deduction type to keep it readable.

Config-driven statutory tables — SSS, PhilHealth, Pag-IBIG contribution tables and TRAIN Law tax brackets are stored in the database and versioned by year. This means updating a rate for a new tax year is a data change, not a code change. The tradeoff is an extra DB query per payroll run, which is negligible for 24 employees but would need caching at scale.

SQLite in-memory for tests — PHPUnit tests use SQLite in-memory instead of MySQL. This makes tests run fast (no external DB needed) and enables CI to run them without a MySQL service. The risk is SQLite-vs-MySQL dialect differences; I mitigated this by keeping queries in Eloquent (which abstracts most differences) and maintaining a small MySQL-specific test suite for critical paths.

Test Coverage & CI/CD

80+
PHPUnit Tests
GitHub Actions
CI Pipeline
Docker
Dev/Prod Parity

The test suite covers payroll scenarios (regular, overtime, absent, multiple allowances), deduction math for all four Philippine statutory systems (SSS, PhilHealth, Pag-IBIG, TRAIN), and critical user workflows. Tests run in CI via GitHub Actions on every push.

Feature TestsUnit TestsSQLite In-MemoryMySQL-Compatible