Savvy Aviation provides professional maintenance management, consulting, prebuy, breakdown assistance, and analysis for owner-flown general aviation airplanes. Its mission is to provide expert maintenance guidance to aircraft owners, helping them achieve the highest level of safety, reliability and performance while eliminating unnecessary costs and risks.
The customer had a product originally written in Joomla which was later refactored in Python by another team. The heart of the solution is a complex ticketing system, involving a customer who wants to fix their plane, a maintenance team, and Savvy Aviation itself, as their analytics help estimate efforts of the maintenance team and understand whether they are proper and accurate.
The product initially consisted of two web apps. The first app covered the plane pre-sales process. They assist potential buyers to choose an airplane according to their preferences and experience. The service includes searching for an actual plane, maintenance and repairs, searching for spare parts as well as breakdown assistance. The second app collected info from the airplane telemetry monitors and allowed its interpretation, including advice from the company experts. The data is all in a different format and the application parses it consistently, getting info about temperature, pressure, GPS tracking per each flight session.
The client wanted to merge these standalone products into a unified solution to ease the support as well as further improve and develop it.
One of the challenges was the speed of development and implementation. The solution included a complex permission system for all users - customers, admins, managers, analysts, and tech support - with each segment having its own interface and features. There was also an advanced subsystem of automatic time tracking and payments issued to the technicians and analysts. We had to quickly investigate everything and immediately start the actual implementation.
The main challenge was to merge the two original applications without applying any quality improvements in order to save time. Besides, there was no regular development process set up.
This time our development capabilities were limited with only one senior developer and one PM/QA person.
We set up a proper development process, introducing an Agile approach, providing QA and documenting all features. The latter helped their sales people to understand how much this or that service costs. The customer provided acceptance, communication with the tech support team and other personnel, sometimes contributing to the code himself as a developer. We proceeded with the merge, fixing critical issues found along the way. As a result, the customer receives a single unified solution with all features in one place.
The next phase will include refactoring, bug-fixing and implementation of new functionality.
- Back-end: Python, Django
- Front-end: jQuery
- Databases: MySQL
- Infrastructure/Deployment: Amazon Web Services