Case study
Enterprise case management platform
Migrating an enterprise case management platform from AngularJS to Angular 20, and building two of its core modules end to end.
- Frontend Developer
- Hashbyt
- Feb 2026 – Present
- Angular 20 · Standalone components · Signals · NgRx Signals · AG Grid Enterprise · Typed reactive forms · ng-select · RxJS · TypeScript · REST APIs
Outcomes
- Legacy AngularJS screens moved to Angular 20 standalone components with Signal-based state.
- Task tracking module delivered end to end: typed API service, NgRx Signals store, server-side AG Grid and personal/team views.
- Filter preferences saved per page, so users come back to the views they set up.
- Communication handled inside the platform: threaded emails, templates, attachments and delivery tracking.
Problem#
The platform's case handling screens were written in AngularJS, which is past end of life. They needed to move to modern Angular without losing functionality, while the backend REST APIs were being migrated at the same time. The list screens hold large volumes of records, so paging and filtering had to happen on the server.
What I built#
- Migrated case handling screens to Angular 20 standalone components with Signal-based state.
- Built a task tracking module end to end: a typed API service, an NgRx Signals store, and an AG Grid list with server-side pagination, filters, custom cell renderers and personal/team views.
- Added saved filter preferences for each page.
- Built a communications module with threaded emails, templates, attachments and delivery tracking.
- Built complex typed reactive forms: multi-step workflows with
FormArray, async ng-select search, custom field validators and a rich-text editor implemented as aControlValueAccessor. - Integrated the migrated backend REST APIs, working closely with the backend team.