success story

Legacy Rescue & Modernization
2019 - Ongoing
An Italian client specializing in weather forecasting and meteorological data dissemination
commissioned us to reverse engineer and rebuild a legacy platform developed over two decades
to acquire and serve weather data.
The shared objective was to modernize the existing infrastructure to enhance maintainability
and performance, while ensuring full operational continuity of the service.
The client's platform, which had evolved organically over twenty years, presented a compelling technical challenge:
The system integrated multiple data acquisition methods from diverse sources, each with its own specific requirements and protocols.
It included numerous processing and correction pipelines developed over time to address specific domain-driven needs.
Working closely with the client's technical team, our engineers conducted an in-depth analysis to map and document all data ingestion flows, processing logic, and correction algorithms.
This joint discovery phase was essential to deeply understand the business logic and operational requirements, laying the groundwork for a complete and informed redesign.
To meet the client's requirement for uninterrupted service to end-users, the application was re-architected by decoupling responsibilities into two distinct components:
Import Service: Responsible for all data acquisition and ingestion processes from the various external sources.
Frontend Service: Dedicated to serving data to end-clients, designed to be replicable across multiple servers to ensure scalability and high availability.
A key element of the new architecture involved shifting forecast data corrections from the ingestion phase to real-time serving, implementing a comprehensive system to track and audit all applied modifications.
Following the initial design and development phase—led by our team based on the analysis specifications—we transitioned to a closer collaborative model: the client's technical team was gradually onboarded to the new architecture, initiating a process of co-design and collaborative coding.
This progressive transition towards a knowledge transfer and technical support model allows the client to regain full autonomy over the platform while maintaining architectural consistency and high code quality standards.
The partnership with the client continues through the ongoing evolution of the platform and the joint exploration of new features, fostering a long-term technical collaboration.