KAI is a London-based startup product development company specializing in AI learning software that improves verbal interactions between sales and marketing representatives and their clients. KAI’s artificial intelligence solutions analyze all types of interaction (online, over the phone, and in-person) and suggest ways to make them more effective, client-oriented, and positive.
IT and services
2 Front-end developers
NERDZ LAB’s task was to develop an integrated web-based module as an additional internal component to the client’s AI solutions. The module had to integrate with any website, teach AI models to identify areas for improvement, and then provide sales reps with actionable outcomes. The module would help KAI’s team of in-house testers quickly and efficiently assess the quality of text-based interactions.
Here’s how it works:
Our team identified the functionality that KAI’s AI learning software had to offer so that testers could optimize their workflow. There were four main challenges:
NERDZ LAB came up with the following solutions:
1.We changed the component logic from word-based to speech-based. Originally, one word was one visual component, which meant that each component had to be re-rendered when changes were made. With this logic, we could highlight the background of the particular component so that the word was considered highlighted.
With the new design, the visual component covers the entire text of one speaker. Reducing the number of components like this cuts down rendering time and the time needed to process each component, significantly improving user experience and performance.
However, this approach made word highlighting much more complicated. We had to define the exact position of a word in a text by finding the coordinates of the zone in which the word is placed. We then had to render a zone according to the same coordinates.
2. We added rules to define which components are affected by changes. With rules, when a specific component is changed, only the components defined by the rule are re-rendered. This achieves the desired goal of preventing the entire text from re-rendering after changes.
3. We designed an algorithm to recalculate timecodes. The original system was constantly getting bogged down with timecode recalculations following every change. We moved most calculations server-side, which freed up the front end and improved overall system performance. We combined our complex timecode calculation algorithm with lazy evaluation. Lazy evaluation means that timecodes are calculated only when it’s really necessary, which also improves system performance.
User-friendly UX design was central to reducing interpreting time for KAI testers. Since the words and phrases might have tags attached, we had to find a way to highlight words from the same category (such as product features, benefits, or drawbacks) and phrases with overlapping tags. We also had to teach KAI’s AI learning software how to detect whether all the words in a sequence belong to the same tag category. So the ultimate goal that we have successfully coped with was to make the text editor’s UX design as user-friendly and easy to navigate as possible.
Before the front-end development stage, we sat down with the client to discuss their needs, vision, and expectations of the module.
We analyzed the client’s competitors and similar platforms to see what was working best and understand what could be improved regarding UX and functionality. We used the results of the review to implement best practices in the client’s solution and avoid common UX design flaws.
In this project, it was possible to carry out UI design and UX design simultaneously. We identified which UI trends would ensure an intuitive and easy-to-use interface that met usability guidelines and the product aim.
Upgraded AI learning software helped our client meet their project deadline and successfully launch their software.
The module has halved the time required to process end-client calls.
Optimized performance allows testers to work more efficiently and has reduced buffering during speech-to-text conversion.