
The bottleneck was never typing
Every nearshoring provider is talking about AI. Here is what we actually point it at — requirements, test coverage and code review — and why that is a deliberate choice rather than a modest one.


An established trade design platform built with Angular and Electron had reached the end of its supported technology lifecycle: increasingly hard to develop, increasingly exposed. A dedicated two-person dotWhite modernization team independently planned and executed the full technology refresh after initial handover — bringing the application onto a current, supported stack without a rewrite and without disrupting ongoing product development.
Angular, Electron, and Node.js each support different version ranges, so no direct jump to the latest release was possible — the migration had to move incrementally through several major versions, validating compatibility and resolving breaking changes at every stage. Microsoft’s new authentication model required redesigning significant parts of the auth flow. And a critical third-party library for native OS window management had been discontinued, its final release containing defects that blocked integration with newer runtimes.

The application runs on a current, supported technology stack with existing functionality fully preserved — no rewrite required. Maintainability, security, and long-term sustainability improved significantly, and the client continues evolving the product on modern tooling. Delivered by two engineers working independently after handover.

An incremental migration from Angular 8 to Angular 15 with Electron, Node.js, npm, and TypeScript upgraded in lockstep — each stage proven functional before the next. The authentication layer was rebuilt on MSAL and MSAL Angular v2, including application registration and configuration changes. Beyond the frameworks: TSLint → ESLint migration, Angular Material and Storybook updates, dependency vulnerabilities resolved via npm audit, and compatibility secured for native modules (ffi-napi, node-addon-api). For the discontinued window-management library, we created and maintained our own fork, fixed the underlying defects, and integrated the patched version — avoiding costly architectural changes or feature loss. End-to-end testing accompanied every migration stage.

Many teams can build a new Angular application. Far fewer can carry a mature commercial Electron product across seven major versions — with native modules, a redesigned auth system, and an abandoned dependency — while it stays shippable the whole way. Modernization under constraint is the rarer engineering skill.


Every nearshoring provider is talking about AI. Here is what we actually point it at — requirements, test coverage and code review — and why that is a deliberate choice rather than a modest one.

We've moved into a house in the middle of Cluj-Napoca — 35+ desks, rooms to think in and rooms to argue in, and a garden that has already seen its first barbecue.
So what's next?
interested in exploring potential business opportunities with dotWhite? Use the button below to send us a message.
Or better yet, book a meeting with us in Calendly.