Modernizing a global transportation application

Our global transportation client needed to upgrade their track signal programming application, along with its associated graphical simulator. The version of the application they were using was tedious to use and leveraged old technology that posed security concerns. 

We teamed up with our client to modernize their application, allow easy access for daily users, and mitigate security concerns.

What We Did

Desktop Development, Technical Assessment, Agile, Automated Testing, Forecasting/Estimation, Scope Control, Migration

Tech Stack

C++, MFC, Windows


Our global transportation client offers a comprehensive range of equipment and services, including high-speed trains, metros, integrated systems, and signalling solutions. Their Signalling group needed to upgrade their signal processing and logic application, along with its associated graphical simulator.

Our client’s Application Engineers use the signal processing tool to design train signal logic that runs on their (track) wayside embedded processors and input/output devices. The application uses a collection of signals to ensure that requests (such as ‘change tracks’ and ‘increase speed’) sent from an office location to the embedded processors and devices are safe to take and fail safely. 

The existing application was built with outdated technology that created security concerns and compatibility problems on modern operating systems, making it difficult to use. Not only was this a pain for our client’s IT department and internal users, but it also affected some of their end customers.

The primary goal was to move this tool from Windows 7 to Windows 10. We teamed up with our client to modernize their application, allow easy access for daily users, and mitigate security concerns.


We began by tackling the main challenges of upgrading the tool: 

  • The existing version of the application had a dated tech stack, which made it difficult to integrate with modern systems. It was written primarily in MFC C++, with other components developed in a mix of C++ with some Fortran.
  • Our work also needed to integrate with other work in progress by an offshore developer. 
  • Our client had a short timeline that we needed to accommodate while satisfying corporate operating procedures.

An offshore team had worked on this product before, and our client didn’t know much about the technical specifics. We investigated the application, identified what needed to be done, and shared our insights.

We upgraded the tool, its infrastructure, and its associated graphical simulator to support installation on Windows 10. We performed hardware testing, created automated tests, added feature enhancements, and cleaned up documentation. We also improved their in-application help files to be supported by the help system available in Windows 10.

In the course of our work, we helped our client implement Agile methodology. We mapped Agile processes to our client’s world, tailored those processes as we worked together, and ran scrum sprint reviews.


We were delighted to deliver a new and improved version of their application. Daily users can now use the application with ease and our client no longer has security concerns. Our client feels confident in the integrity of the new version of the application and its compatibility with current and future operating systems.

Recent Case Studies

Preventing rework in the field

We built an embedded solution to transmit telemetry data from one ag machine's display to another via a cellular network in near-real time.
Read More

Modernizing turbine engine controls

We modernized our client’s controls system while satisfying the highest level of safety-critical requirements for airborne systems.
Read More

Crafting modern DevOps practices in EdTech

We helped Blackboard reduce annual AWS spend by over $1MM by improving the way they were leveraging AWS for their SaaS LMS
Read More

Let’s develop something special.

Reach out today to talk about how we can work together to shake up your industry.