Back
ECMS

HR records out of spreadsheets, into one system.

ECMS
Type
Company
Tools used
LaravelLivewire
Year
2024
Links
Live site
7 views

Overview

ECMS is an internal HR management system I worked on for PT Sarana Multi Infrastruktur (Persero), or PT SMI. PT SMI is a state-owned special mission vehicle under Indonesia's Ministry of Finance that provides development financing.

ECMS is used only by the company's own staff and is not public, so this write-up stays at the level of decisions rather than screens and data.

The challenge

HR in a company like this runs on records, forms and approvals, and every one of them has to be accurate and auditable. When that work lives in spreadsheets and email threads, two things go wrong. It is slow, because each step waits on someone forwarding a file. And it is hard to trace, because nobody can say with confidence which version is current.

The goal was to move that work into one web application that HR staff and employees use every day.

ECMS employee dashboard

Approach

The interesting decision was the stack. An HR system is mostly forms and tables that need to feel responsive: filter a list, edit a row, see validation as you type. The usual answer is a JavaScript front end talking to an API.

I went with Laravel and Livewire instead. Livewire makes the interface reactive while all the logic stays in PHP on the server. For an internal tool at a financial institution, that trade was worth it:

  • One codebase, not a front end and a back end that drift apart.
  • No public API layer, which means less surface area to secure and review.
  • Validation and business rules in one place, on the server, where HR data cannot be bypassed by the browser.

What I gave up was some front-end flexibility. For a tool whose value is correctness rather than flashy interaction, that was the right side of the trade.

What I built

  • A web-based HR management application for PT SMI's internal use.
  • Interactive forms and data tables that update in place, without full page reloads.
  • Role-based screens, so HR staff and employees each see only the parts of the system that concern them.
  • Server-side validation and business logic that keep HR records consistent across every screen.

Working in an enterprise context

Building for a state-owned financial institution is a different job from building a product. Internal processes, security expectations and review cycles shape the system as much as the code does. A feature is not done when it works; it is done when it fits how the organization approves, audits and supports it. That pushed me toward conservative, explicit choices, and I think the system is better for it.

Outcome

ECMS gave HR staff and employees one place to do work that used to be spread across files and inboxes. Records are validated on entry, each role sees its own view, and the logic that keeps HR data honest lives in one codebase the team can maintain.

ECMS | Peter Shaan