From Legacy Windows App to a Modern React / Python / Postgres Stack - a Technical Case Study
Need to modernize aging stack software
Fraction received interest from an investment analytics software provider that needed to modernize their aging software. The analytics software was originally built in the early 2000s using Microsoft Visual Studio and C++. The original application was designed as a purely desktop application that periodically downloaded equities and index data from the internet. Many advanced analytics applications strained the abilities of browser-based applications at that time, and so the application was built to run entirely locally.
How do you rebuild a complex legacy application, even as it's still being enhanced?
One of the principal challenges with the existing application lies with its fundamental design - it's a desktop application in a world where users increasingly expect the ease of use of web apps for most use cases. The current application requires users to manually install updates to get new enhancements, whereas web apps are always on the "latest" version from a user's perspective.
A major challenge in rebuilding the application from scratch: how to do so within a compact budget, and catch up with the legacy application since it continues to be enhanced?
A senior full-stack developer with CFA experience
Fraction brought a senior full-stack developer with CFA (Chartered Financial Analyst) level experience to the team, enabling rapid design and development by a single engineer.
"Oftentimes it's not sufficient for a developer to have substantial technical experience - they need industry-specific domain knowledge as well. With the fractional model, we're able to tap into a workforce 50x larger than just those looking for work. In this case, we put that network to good use, identifying a developer who had passed CFA Level I and also had the React / Python tech stack knowledge that the client required."
The developer sourced by Fraction also possessed in-depth knowledge of .NET, enabling him to dive into the existing application code to transfer business logic as necessary. Senior engineers with 15 years of experience plus investment finance knowledge can sometimes command 2-4x typical market salaries - but Fraction's model enabled us to engage with the client using our standard Build plan pricing of $8k per month!
A top-down and bottom-up approach to full application rewrite
Fraction engaged with the client's Product team to devise a plan of attack. Since key users wanted to maintain the existing user experience, it made sense to start from the UI, rapidly building out lightweight React-based versions of the major application screens. Taking a top-down approach here, and touching every screen before building a new backend enabled the identification of all data entities needed throughout the app.
This enabled an intermediate second step, building out the data schema (the bottom-up step, in the sense that the database is towards the bottom of the stack). With both the UI and the database structure fleshed out, work could proceed rapidly on the application business logic, wiring together screens, data flows, and more complex analytics.
Leveraging this approach and our developer's experience with investment software, Fraction has been able to rapidly close the gap in capabilities between the new application and the legacy system. The final state of the new architecture utilizes React with Highcharts for charting, Python with Flask for Rest/JSON APIs, SQLAlchemy for Object-Relational Mapping (ORM), and Postgresql, all hosted on AWS. AWS Lambda provides an easy approach for scheduled services to ensure automated equity and index data feed processing.
A modern application with substantial usability improvements and a much lower cost of maintenance over time
Prior to engaging Fraction, the client had planned a strategy to update their system to the .NET framework, but otherwise maintain its desktop-only support. Users would have been stuck with periodic update installation and data downloads. Fraction proposed a modern architecture for the rewrite which provides users with a modern web-based experience while retaining interactive charting and analysis just like the desktop app. And Fraction delivered the talent needed via a senior engineer with all of the right skillsets on budget - a feat impossible in the current market without the fractional approach.
As the client moves into ongoing maintenance of the new application, Fraction guarantees success by providing cost-effective ongoing bug support and maintenance, backed by the same PM and software architecture guidance as every engagement.