Integrated Call Center System


Duration: 6 months
Industry: Smart homes, IoT
Location: USA
Employees: Over 100
Revenue: $10 million


Client company is successfully riding a very important modern technology hype, inventing, building and selling software/hardware components to various companies and individuals. Interest to this kind of technologies is growing very fast among even the biggest players, as well as market does. Therefore they must expand extremely quickly.



Important part the company’s product success is excellent customer support service. They receive many different appeals and questions, and it is critical that each of them is processed properly and at earliest possible date, increasing customer satisfaction. Widely accepted way of customer communication is maintaining phone support with qualified people always ready to assist. It is easier today since IP telephony is common and available, with few successful solutions on the market. But it is not quite enough since point A connected with point B is just a first step in a series of events which has to happen to receive one happy customer.

On early stages of business life cycle, our client was satisfied with a set of fragmented software solutions, but with new challenges, growing user base and planned expansion into a new countries and continents, it became clearly visible that more integrated implementation has to be created to maintain high level of customer communication quality.


Customer realized they want a central place for both individual support specialists and their managers to handle all support cases. Workers should have a comfortable environment to optimize their daily routine, and managers should have a clear visibility on call centers performance in different countries, to analyze and make decisions for a possible adjustments.

  • Call processing has to be completely automated, guiding user through initial menu to ensure that frequent questions can be answered instantly, and best matching specialist is selected for this specific issue.
  • System should be seamlessly integrated with other software widely accepted in a customer organization, including staff management, single authentication mechanism, and other business management solutions in this institution.
  • Important place is a manager’s dashboard where he could have a bird’s eye view on existing call centers performance, and quickly detect problems. Being an entry point, a few other tools are available from here for an authorized person.
  • Support specialist needs just a single place for all his activities: receive perfectly targeted calls, get assistance from other specialists, instantly re-routing calls to them or even creating a conference. Zendesk platform is used to manage support tickets, which client didn’t want to change for a custom solution since it’s already rich enough and long established. He requested instead a deep integration mechanism, inserting essential parts from Zendesk into a call center, managing usual operations automatically, simplifying work and saving time.
  • Many calls require participation of a several specialists, skilled in different intersecting fields, therefore conferencing was an essential requirement for a perfect solution. Instantly finding one or several available specialists with a matching skills, inviting them to join a call and manage transparent communication is critical. Significant part of this functionality depended on real-time updates, when for example status change for a co-worker contact should be instantly visible to everyone else in the system.

A considerable part of utility operations had to be managed in order to support all of the described above. Managing phone lines, setting up business rules for calls flow, supporting accurate workers shifts information, perfecting message recordings, adjusting routing parameters – all of this and much more is available for tuning to an authorized within the system person.

Another important part for the system is an Analytics Interface. All gathered statistics is available here for acquaintance. This is a point where decisions are made: which technology or language skills are behind or overstaffed. How call center performance changes over time. How do individuals perform. Which bolts can be rotated to increase main value for a customer – a great impression and end satisfaction number their products receive from their buyers.


For Civic Journals client we’ve built a big data solution for integrating public statistics sources and increasing information transparency. Assuming data volumes along with needed tooling set and scalability requirements, Amazon AWS cloud platform was the most appropriate choice for building the project. Amazon provides rich set of solutions for every need of a high loaded projects. What’a more, Amazon solves many maintenance routines assuming proper set up and smart architecture and enabling one-click scalability in reasonable margins.

  • Dataset fetchers. Integrated into a single workflow, many different pluggable modules are available to connect external data providers to the system. Some of them are ready to push their data directly to the system via an API, some publish machine-friendly files to their file servers, and some are just uploading HTML pages or pdf attachments on their website. A flexible infrastructure handles initial data acquisition.
  • Data storage. A few different database solution host the data. The system transparently switches and moves data between hot and cold storage and a few caches, optimizing access times along with storage costs.
  • Dataset processors. Another kind of pluggable process raw data created during the previous step. Parse documents extract meaningful numbers and cook standard CJ datasets. This could be a simple solution, but often the aggregation scenarios are rather non-trivial, since many CJ datasets are sometimes a product of one initial input batch, possibly passing several computational and grouping steps. Adding data volume requirements, flexible MapReduce solution had to be implemented – a generally slower, but ultimately scalable distributed computational algorithm. Standalone workers are plugged to a certain steps of this algorithm, creating hybrid data cooking pipeline, able to solve the task in an easily adjustable manner.
  • Hot Preview. MapReduce solutions came at a cost: while providing high throughput, it harmed latency – newly available datasets were ready after a considerable delay. In order to level off this constraint, something usually referred to as an λ-architecture was applied. It means that once new data comes into the system, processing workflow splits into two branches: one branch runs normal MapReduce flow, while other creates a preview of the result. This preview does not guarantee absolute accuracy, introducing some error margin or somehow incomplete representation, but gives a sneak peek into the end result, being eventually replaced with a 100%-accurate results of the full flow.


Thank you for reading!



You've landed in the right place, let us know what can we do for you!

    We will process your personal information in accordance with our Privacy Policy.