Address Cleaning Server

Summary

One of the key processes of the Customer was the verification/cleaning of the postal addresses. By the time Logicify got the lead, customer already had a proprietary and costly solution for address cleaning. The main concerns were:

  1. Lack of the access codebase and thus complicated diagnostics (Closed source).
  2. Poor performance and stability. Single-threaded approach plus exiting abnormally sometimes.
  3. Elevated costs.

The project

Since it was the first project for this customer, Logicify has formed an agile-thinking team of engineers, part-time project manager and a QA (on a later stage). After the analysis, the following issues were found making the implementation rather complicated:

  1. Demanding requirements in terms of performance and horizontal scalability.
  2. The official data file with the access library still comes in proprietary format, and only supports single-threaded access mode (which is the issue of the original application). Using this library directly, it would not be possible to deliver the required performance.

After the brainstorm, the decision was taken to implement the system in a broker-workers model, featuring multiple processes communicating each to other, broker balancing the workload and dispatching network requests, while the workers doing actual heavy lifting of the address cleaning. The system was developed in a joint of scripting language and native adapter, maintaining high code and product quality together with the blazing performance.

The development was completed on time, several rounds of testing revealed some issues which were fixed during the stabilization phase, and the daemon was in use very soon.

Benefits

In addition to eradicating the problems which were driving custom development at the start, the solution was so successful that our customer offered it as a SAAS provider for address cleaning to their own customers.