Customers of the AR editor platform complained about slowness, low performance, and product instability. Releases of new features and bug fixes took much more time than regular software development lifecycle takes.
The initial architecture of the product was monolithic. Such a structure did not meet stockholder’s expectations and the product’s roadmap. The promo website was hacked many times and was not part of the platform itself.
Editor platform, user profile, gallery, and payment module was tightly combined into a single piece of software. Such a structure was not flexible, had a big size and eventually slowly loaded.
Tech stack: old version or ReactJS framework and other outdated libraries that did not provide stable and modern features.
Project stability has significantly grown. A new feature “white label solution” is available for customers. All marketing goals are tracked and conversion rates increased accordingly to the data. The introduced new architecture that can be shipped to enterprise customers by modules without code modifications.
The first step was to design an advanced error logging system and integrate it with the front-end view. All possible errors are collected and stored in the product database which allows us to track the problems and improve product stability.
The next step was to introduce customized themes to provide a white-labeling feature.
Our team spitted monolith into three major modules which can be shipped separately. Engineers created a library of reusable components and configuration. To speed up the app loading, the team introduced script bundling and lazy loading functionality. To improve customer experience, real-time notifications through WebSockets were created. The promo website was redesigned and built with GatsbyJS which allowed us to integrate it with the editor platform and synchronize themes.
Engineers integrated user analytics modules across website and AR platforms. It allows us to track conversations and marketing targets. These goals can be configured through the analytics management system.