Skip to content
All case files
Case study — 03Enterprise · 2024

Enterprise HR Management Platform

One system of record for people, leave, and approvals

Role
Full Stack Engineer
Timeline
2024
Stack
ReactReduxMaterial UINode.jsPostgreSQLDocker
Enterprise HR Management Platform cover artwork

HR data lived in spreadsheets, email threads and one administrator's head. The platform's job was simple to state and hard to do: make one place that is always right about people, leave and approvals.

Problem

Employee records, leave balances and approvals were spread across disconnected tools. The costs were constant: leave balances disputed because two sheets disagreed, approvals stuck in inboxes, and no reliable answer to basic operational questions — who is on leave next week, who reports to whom, what changed and when.

Solution

A role-aware web platform where every HR object — employee, leave request, approval, attendance record — has exactly one home. Employees see their own data and submit requests; managers approve within their span of control; HR administrates globally. Every state change is recorded, so the system can always answer "what happened here" without archaeology.

Architecture

Architecture — request to approval trail

Frontend

  • React SPA
  • Redux store
  • Material UI system
  • Role-gated views

API

  • Node.js REST API
  • RBAC middleware
  • Validation layer

Domain

  • Employee registry
  • Leave engine
  • Approval workflow
  • Audit trail

Data & Infra

  • PostgreSQL
  • Docker deploys
  • Backups & migrations

The leave engine is deliberately isolated: accrual rules, carry-over and balance math live in one tested module, because that is the code an HR platform lives or dies by.

Challenges

Permissions that mirror a real org chart

"Managers approve their team" sounds simple until teams nest, people act in two roles, and someone goes on leave mid-approval. Role-based access control with explicit delegation rules — enforced in the API, not the UI — kept the model coherent as the org changed.

Dense data without a dense feel

Enterprise screens drown in tables. Careful use of Material UI's data grid — saved filters, inline status chips, progressive detail panels — kept daily tasks to a few clicks while preserving depth for HR power users.

Migrating history nobody fully trusted

Importing years of spreadsheet records meant importing years of spreadsheet errors. A staged import with validation reports let HR correct source data before it became the system of record, instead of laundering mistakes into the new platform.

Technologies

  • Frontend — React with Redux for predictable state across a large surface area; Material UI for the enterprise component system.
  • Backend — Node.js REST API with role-based access control and a full audit trail on sensitive mutations.
  • Data — PostgreSQL with migration-managed schema; relational integrity does the heavy lifting.
  • Operations — Dockerised services for consistent environments from laptop to production.

Screens

Enterprise HR Management Platform — screen 1
Screen 01
Enterprise HR Management Platform — screen 2
Screen 02

Lessons Learned

  • Authorization is domain logic. Model it explicitly or debug it forever.
  • An audit trail added on day one costs little; added on day two hundred it costs a rewrite.
  • For enterprise UI, speed of the tenth use matters more than delight on the first.

EOF — SANTHILA DEVIN

© 2026 Santhila Devin. All rights reserved.