Back to Projects
Healthcare & Public Sector

Front-end & Back-end Developer – Sep 2022

DLIR UI Modernization

Maintenance and upgrade project: migrated Angular 4 to Angular 14 and Node 6 to Node 16 for the Department of Labor and Industrial Relations.

AngularTypeScriptNode.jsRxJS

01. Context & Business Problem

A major modernization and technical upgrade for the State of Hawaii Department of Labor and Industrial Relations (DLIR) unemployment insurance system. The existing platform was built on end-of-life frameworks (Angular 4 and Node.js 6) that posed severe security vulnerabilities and maintenance bottlenecks.

02. Scope, Role & Team Dynamics

Full-Stack Modernization Engineer at Datahouse tasked with migrating the entire frontend from Angular 4 to Angular 14 and backend runtime from Node.js 6 to Node.js 16 with zero operational regressions.

Team Scope & Structure

Dedicated modernization task force of 4 senior engineers working under stringent government change management procedures.

Personal Ownership

Analyzed dependency graphs and breaking changes; refactored legacy RxJS 5 operator chaining into modern pipeable operators; updated deprecated Angular HTTP modules to HttpClient; updated Node.js asynchronous APIs; created regression test suites.

03. Technical Challenges & Constraints

  • Bridging a 10-major-version gap (Angular 4 to 14) involving breaking changes in Ivy compiler, RxJS, and TypeScript.
  • Upgrading Node.js runtime from v6 to v16 across legacy backend microservices with obsolete native C++ bindings.
  • Ensuring 100% feature parity and zero workflow interruption for live citizens claiming unemployment assistance.

04. Architecture & Technical Decisions

  • Phased stepwise migration plan: upgraded dependencies incrementally through major releases (v4 -> v8 -> v12 -> v14) to isolate breaking issues.
  • Refactored state and HTTP calls to modern reactive patterns using pipeable RxJS operators and typed observables.

05. Implementation Highlights

  • Refactored hundreds of legacy components to comply with Angular Ivy compilation standards.
  • Migrated deprecated HttpModule to modern HttpClient with typed interceptors and standardized error handling.
  • Upgraded Node.js server dependencies, replaced deprecated native packages, and audited for zero CVE vulnerabilities.

06. Results & Operational Impact

  • Achieved 100% regression-free production deployment, modernizing critical state infrastructure seamlessly.
  • Resolved all outstanding critical security vulnerabilities in obsolete packages and substantially improved build and test execution speed.

07. Engineering Lessons Learned

  • Large-scale framework migrations succeed through automated regression tests and staged version bumps, not monolithic rewrites.