SERVICES
Product analysis and planning
Project Management
Product Management
Product UI&UX Design
Migration
Development
QA & Maintenance
TECHNOLOGY
Node JS
AWS
Electron framework
Mongo database
React JS

Overview

Our long term client – Virtual Post Mail – a boutique virtual mailbox and address service – needed to migrate the UI of their internal mail processing app called Alice, used by their service team to process thousands of mail items daily, from an outdated implementation in Angular to a modern React framework. In brief, Alice is the app used by the Virtual Post Mail staff ‘behind the scenes’ to process all the requests from the many thousands of the end users of the public app that we also worked on – to scan, OCR, trash or route the mail items. An additional challenge was presented by the fact that this app is only ‘formally’ a web app, but in fact it is more of a desktop workflow automation app, integrated with external hardware, and have extensive requirements for its stability and performance. Alice app connects with a barcode scanner to associate barcode numbers with the actual PDF files and with heavy duty industrial printers. Through the process, various metadata is entered, and the quality of the scanned images is checked. If quality is not satisfying, documents are sent for reprocessing. Once documents are ready for publishing, the application automatically sends the documents to their owner’s public app mailbox as well as to their email addresses.

Key challenges

The initial idea was to develop the new client application as a web application, running on a separate web server. And for it to be able to coexist with the old AngularJS application. Once a new module was ready in the new client application, we would replace it in the old one – so both applications had to work in parallel, appearing as the same app to the end user. The AngularJS application depended on the API and had to be modified to be able to be hosted separately on Netlify – this step required a lot of work and a lot of thorough testing to ensure that everything is processed without any errors. Existing React application was integrated with the new Electron app, which resulted in the desired product.