Building a Cloud-Based Lead Management CRM System with Container Architecture

17 Oct 2023 Maksym Kurganetsky

Managing leads in a highly dynamic competitive market is a vital component of salesforce operation. As the consumer landscape expands letting ever growing number of leads come into vision, maintaining consistent and timely lead processing becomes a crucial challenge for the entire business.

When a Fintech company operating a vast multi-level partner network of agents scattered all over the U.S. faced the fact that their lead information updates, searches, and reporting were consuming too much time and manual effort, they chose to weigh the odds for improvement.

Thorough assessment of the situation uncovered common systemic shortcomings, such as slow operation caused by non-optimal workflows, lack of automation and functionality, all preventing the customer’s sales executives from coherent lead management.

Pursuing to upgrade their business model, the company management eventually decided on creating a state-of-the-art custom lead management system.

Having taken all known issues along with desirable improvements into consideration, the company approached ABCloudz with an idea to design and build a highly capable secure CRM tool incorporating a centralized data storage, advanced automation, and extended functionality enabling various data integration methods.

The designed dataflows provisioned several options to deliver lead data into the system as shown in the diagram below.

Read the story of how we helped this customer achieve their objectives with a new Lead Management CRM solution built from the ground up, from ideation to implementation.

Powering Solution Functionality

The ABCloudz team started with research guided by customer’s requirements and design ideas. As a result, the app developers elaborated an advanced functional model to implement required features including lead data upload options, role permissions, reports, and user dashboards.

Lead data upload

We created a flexible dataflow implementing 3 options for uploading lead data to S3:

  • retrieving and uploading lead data automatically by the app connecting the customer’s third-party lead storages through REST API
  • uploading individual lead-associated files and appending them to leads manually by a user
  • uploading bulk files in .ZIP format by a user to be automatically extracted, processed, and assigned to parent folders and appended to leads with an AWS Lambda custom script

Role permissions

The CRM provides for creating user parent and child accounts with respective permissions. The parent account owner is enabled to assign specific leads to a variety of child accounts. The assignees stock the assigned leads into their personal folders to further follow them up.

Reporting

The app provides options for two types of reports:

  • workflows based on lead assignment practices
  • sales-oriented reports with information on individual leads

Dynamic dashboards

To add visibility and operability to lead management, we developed dynamic user dashboards featuring detailed stats on lead management operations and an interactive map of the U.S. highlighting geographical locations of leads with their info labels. Detailed information on leads is displayed in interactive spreadsheets enabling users to organize, sort, modify, update, and distribute information on the leads.

A Glimpse under the Hood

With high availability and scalability provisions in mind, we designed a cloud-based container architecture as shown below.

To ensure higher flexibility, we developed the back end with Nest.js – a Node.js framework renowned for its particular emphasis on flexible server-side architectures.  By deploying the back end onto AWS cloud, we took advantage of leveraging a pay-as-you-go pricing model as well as an array of Amazon services designed to enhance operability, manageability, and scalability of the cloud apps.

Leads data is uploaded in a .CSV format to the Amazon S3 bucket. A user is enabled to upload large bulk files in a .ZIP format. Event-driven AWS Lambda script automatically extracts archived files, processes their prior assigned labels, and completes the loop by sending these files to the respective folders in S3.

The data from S3 bucket transits to PostgreSQL database running in a Pod cluster – a component part of the container architecture deployed with Kubernetes. Database connects with external backup storages via Backup Longhorn System, which creates numerous replicas of data residing in the cluster to ensure high availability and fast disaster recovery. Provisioning reliable backups, high availability and operability was the deciding factor for us to opt for container architecture.

We developed the front end with React.js, TypeScript, and Redux. The dashboard interactive map of the U.S. was developed as an .SVG image driven by JavaScript native scripts, while lead dynamic spreadsheets rested on React table libraries (react-table, react-select, react-hook-form).

What the Customer Reaped

The Lead Management CRM enables the customer to re-configure, automate, and streamline sales operation workflows. The implemented features include:

  • automated lead management operations
  • secure centralized storage
  • three lead upload options
  • two reporting options
  • high availability and reliable backup.
  • increased flexibility, productivity, and efficiency due to a cloud-based container architecture
  • advanced interoperability with dynamic dashboards and spreadsheets tailored to customer’s needs

Summary

This project showcases our capabilities in developing complex and highly productive CRM solutions, building an app from scratch designing it to use AWS microservices in a complex matrix of tasks. It also demonstrates the benefits of cloud-based container architectures as well as our in-depth knowledge of domain, profound development skills, and expertise in cloud technologies.

Ready to start the conversation?