Projects
2023·Front-end engineer

Front-end upgrade of the Estate portal

Evolving a large portal with a micro-frontend architecture alongside an existing AngularJS codebase.

Angular 16Micro FrontendTypeScriptRequireJSGruntKarma
Geometric flat illustration with two interlocking screen shells in muted tones

The estate portal has grown over the years into an extensive, business-critical application. Bereaved relatives go through a complex process there during an emotionally heavy moment in their lives. The codebase reflected that history: a large AngularJS application, still stable and well-maintained, but increasingly a brake on speed and a turn-off for new developers.

The classic move in this situation is a big-bang rewrite. For a portal of this size that's not a real option: too risky, too long without delivering new value, and too much knowledge that only lives inside the existing code. As a team we deliberately chose a gradual approach in which old and new live alongside each other for an extended period.

My role was the architecture and implementation of a micro-frontend setup, based on the existing AngularJS codebase next to Angular 16. New screens and features are built in modern Angular; existing screens keep working as they are until they're due for replacement. The portal decides at runtime which version to show, so end-users don't notice anything.

Integrating a micro-frontend with a legacy SPA is technically thankless work: routing, authentication, sessions, styling, and state must continue to interoperate seamlessly. I spent significant time on a clean separation between shells, a shared authentication layer, and a consistent styling strategy so we could build on both old and new — without one breaking the other.

The build and deploy process was reworked too. The old project built with Grunt and RequireJS; the new part with modern Angular tooling. We set up a pipeline that builds, tests, and merges both worlds into one coherent artifact. That sounds unspectacular, but without that discipline a micro-frontend would have added fragility rather than reduced it.

The effect was immediate: new features could once again be built with energy and at pace, and the team got a credible path to replace the old code step by step without endangering the stability of the portal. For me this is a pattern I'd happily reach for again on long-running projects where a full rewrite simply isn't viable.

Outcomes

  • AngularJS and Angular 16 productive side by side inside one portal for years
  • One build and deploy pipeline that builds, tests and merges both worlds
  • New screens in modern Angular without rebuilding the existing ones

Sectors & expertise

More work

Other projects

Contact

Working in this domain?

Facing a similar challenge? Let's have a no-obligation conversation.

Get in touch