2021–2022

3P portal modernization

Leading the transition of an established AngularJS portal toward Vue, Nuxt and .NET while protecting continuity for its users.

3P – Public Procurement Partner
RoleTech lead
Period2021–2022
Technology
  • AngularJS
  • Vue
  • Nuxt
  • .NET
  • SQL

The challenge

3P’s procurement portal was a business-critical AngularJS application with years of accumulated behaviour. Users depended on that behaviour in their daily work, yet the aging frontend made continued development increasingly difficult. Modernization therefore had two equally important goals: create a maintainable technical foundation and protect continuity while the old and new parts of the platform coexisted.

Technical leadership

As tech lead, David set the technical direction and translated the existing application into concrete migration requirements. That meant understanding not only the code, but also the user flows that could not be disrupted. He coordinated implementation work, clarified priorities and milestones, and kept the legacy application and target platform aligned while responsibilities moved between them.

Incremental migration

The portal was not approached as a single replacement project. The migration was divided into controlled increments with explicit boundaries between the AngularJS surface, the new Vue and Nuxt experience, and the .NET backend. Each increment had to leave the overall service usable and preserve the behaviour on which procurement teams relied.

This staged approach made progress observable and reduced the amount of change introduced at any one time. It also gave the team a practical way to compare migrated functionality with its established counterpart before moving further through the application.

From legacy UI to a modern platform

Vue and Nuxt provided the foundation for new web experiences, while .NET and SQL supported the application and data services behind them. The architecture separated frontend modernization from backend responsibilities, allowing the organization to improve the user-facing platform without forcing every legacy concern into the same delivery step.

The target stack was selected for long-term maintainability as much as for immediate implementation. Clearer component boundaries made it easier to reason about changes, assign work and evolve individual parts of the portal.

Delivery and continuity

Planning focused on sequencing, team clarity and application integrity. Existing behaviour was treated as a migration requirement rather than an inconvenience to be discarded. Progress, dependencies and ownership were made visible so that developers understood what could change and what still had to remain compatible. This kept the modernization effort connected to the operating product rather than turning it into a separate technical exercise.

Result

The portal gained a modern Vue, Nuxt and .NET foundation while continuing to serve its users through the transition. The incremental strategy limited disruption and left 3P with an application structure that was easier to extend, scale and support. Just as importantly, the team gained a repeatable way to move mature functionality forward without relying on a high-risk rewrite.

Company information

A clear view of the company behind the software.