The Client is a global media and marketing communications agency that is driven by innovation and creativity. They were founded in London in 1990 and they offer strategic and creative planning. They have over 100 offices in 74 countries and they continue to create remarkable campaigns that lead to remarkable growth.
Existing desktop app servicing key business process flow becomes a bottleneck due to performance issues. The primary reason for performance problems is the growing business scale and requirements from the customer side to support more and more granular campaigns.
Another problem is the fact that more and more business and creative users are using Mac and they are incompatible with existing Windows-based desktop application.
Challenge in numbers:
- The existing desktop app can hardly support 1000 row campaigns while 10 000+ are required
- Campaign recalculation time is estimated in minutes while seconds are required
- Application is critical for securing a major global customer
- Existing problems block the business offers to global customers
- It is almost impossible to add new features to satisfy the customer’s demand
ApricusIT delivered the project in 3 phases.
The overall timeline for the project:
- PoC phase – 1 month
- MVP phase – 3-6 months (iterative delivery of functions to customers)
- Product growth – on-going
- The whole business app with all existing functions has been successfully migrated to a web-based solution
- The ongoing business has been successfully supported without downtime
- Support campaigns of 10 000+ rows have been provided and eventually increased to 100 000+ rows
- Recalculation performance has been increased from minutes to a couple of seconds and in most cases is within the sub-second range
- New business opportunities have been delivered and campaigns for global clients have started to use the tool
SUCCESS STORY IN DETAILS
Background & Solution options
The Client has Windows desktop MS Excel-like application with complex custom functions to support media buying for marketing campaigns.
- Extremely slow for current campaign sizes
- Does not allow to add new features with proper quality and speed
- Does not support Mac-based customers
- Improve existing application
- Build a new solution with the existing as a reference one
Based on the conducted research, we have proposed to go with a phased approach to address key challenges and deliver the first MVP versions as soon as possible.
The overall solution has included full application re-write and migration to an absolutely new tech stack and approach. The final solution contains a browser-based single-page application (SPA) built with Angular and AWS-based back-end. It is important to mention that performance issues have been addressed by extremely optimized browser-based code eliminating the constant talk between browser and server.
To enable the processing of huge campaigns (100 000+ rows) the distributed processing has been implemented with calculation distribution across the browser-based code and AWS Lambda-based functions. It is important to mention that we have avoided the recalculation code base duplication and managed to use the same code based both on the front-end and back-end sides.
- Huge list of custom functions to be supported
- Complex administration part
- The necessity to ensure backward compatibility for existing customers
- Functions to be delivered are to be aligned with business objectives and customers pipeline so that ongoing operations are not affected
- Tight delivery schedule bound to contractual obligations of the client
What has been done:
- A careful review of an existing app to identify the solution options
- Careful planning of functions to be delivered in alignment with scheduled business objectives
- The solution is fully re-architected to address existing performance issues and unlock new functional opportunities (for instance, the ability to edit the same campaign by multiple users simultaneously)
- A new tech stack has been introduced
- Phased transition and co-operation of old and new solutions with a gradual transition to a new approach of ever more customers
New business opportunities:
- Web-based app unlocked Mac users, and as a result – new business prospects
- The ability to support BIG campaigns unlocked global clients with much bigger budgets
- Innovations due to the ability to add new functions with much higher speed and guaranteed quality
- Radically changed UX, improved performance – higher satisfaction of personnel and customers
New tech opportunities:
- Refreshed tech stack has unlocked new approaches and the best solution from the modern software market
- Absolutely new QA process as an integral part of the development process has improved confidence level that all budget calculations are correct and reduced time-to-market
- Automated regression testing
- The ability to utilize a hybrid re-calculation approach with AWS Lambda functions has unlocked almost limitless scaling opportunities under an extremely effective cost offer
- It is critical to have a detailed plan on a per feature basis to guarantee a smooth transition
- It is critical to have access to the client’s domain experts to be able to get support and clarification at any stage
- Regular communication with objective alignment is essential for a successful project