CASE STUDY

We have created a market research platform

Share

Client

Stratega

Industry

Market Research

Country

Poland

TECHNOLOGY

See below

About the client

Stratega is a leading market research company providing its services across several central and eastern European countries. They specialize in many markets, such as FMCG, healthcare, pharmaceutical, automotive, banking, insurance, power sector, telecommunications and durable goods, offering qualitative and quantitative research.

The challenge

Stratega wanted to expand and conquer the market by automating some of their business processes and merging them into a single tool, which could be accessed not only by their employees but also by other market research companies through a platform for a fee. The solution would be innovative, because there was no product, allowing to conduct so many types of research.
They were also promised seed-stage funding, under the condition – that the solution would be ready in three months – which became one of the main requirements.
The tool was named Interviewly.

Goal

To deliver in 3 months a product allowing to:

  • Conduct several types of market research
  • Select one of the 15 languages of the user interface
  • Invite respondents via emails
  • Evaluate the respondents with surveys
  • Schedule meetings
  • Perform video calls involving multiple users, recordings, screen sharing, two audio tracks (one for the host, one for the translator) and the transcription
  • Collect data about respondents
  • Be accessed by several types of devices (PCs, tablets, mobile phones)
  • Manage companies and their teams, granting them different sets of privileges
  • Notify the users about events

Technology stack

React.js, Node.js, TypeScript, Python, PHP, MySQL, REST API, AWS (EC2, S3, ECR, RDS, EFS), RabbitMQ, Docker, OpenAI Whisper, Janus Gateway, Lime Survey, FFMPEG

The process

Given such a short deadline, we had to act fast, but wisely. To avoid implementing everything from scratch, we decided to investigate existing solutions and integrate them with our project.

First, we searched for means of implementing video call functionality.
Our initial idea was to use WebRTC provided by WebAPI, but our research proved it dissatisfactory, because of peer-to-peer connectivity, which would grow exponentially with the number of streams. Ready solutions either did not allow white labeling or were not customizable enough to implement dual audio streams.
These conditions forced us to pick Janus Gateway, which on one hand is known to be one of the best media gateways in the market, but on the other requires at least basic WebRTC knowledge and is not easy to master.

Secondly, we had to satisfy the survey generation and evaluation need.
Lime Survey is the open source tool, which the customer has already been using. Considering the familiarity and an available API we decided to pick it. Unfortunately, not all the methods were exposed which hindered our progress. To overcome these issues, we had to modify the source code to initialize data in our favor and to reverse engineer the XML structure responsible for the question generation.
Luckily there were no further issues with this pick.

To ensure the success of such an endeavor we have picked an exceptionally skilled UI/UX designer, who worked with such famous products like Cyberpunk. He prepared designs with 3 breakpoints targeting PCs, tablets and mobile devices.

Knowing that the product is meant to be expanded and scaled further, we have picked AWS as the cloud provider, to set the project’s base and avoid server migration in the future.

As soon as we have clarified the remaining product details we have proceeded to plan the data structures reflecting the abstract entities. Numerous relations implied the use of relational databases. We picked MySQL thanks to its simplicity, and hosted it on AWS RDS. We ended up creating 20 tables to categorize all the data.

As soon as the style was selected and the first designs were provided we proceeded to the UI implementation and testing with mocked data.
Once the frontend was ready, we took care of the backend.

Using Janus’s Gateway we have implemented our video call client, and its server counterpart to dynamically create meetings, record them and close them when no longer needed.
The API and most of the backend services were implemented in Node.js, however since Whisper provides Python-only integration, we have coded the transcription services using Python.
Several functionalities were CPU consuming and thread blocking, thus to assure the system’s performance and API’s responsiveness they were extracted to their microservices. The most demanding ones were given their own EC2 instances with extra computing power and memory.
EFS allowed access to the “heavy” recording files to all of the EC2 instances, without additional transfer.
After the processing, all files were put into S3 buckets.
Another issue that we had to address was the email delivery. Considering the huge amount of emails that we would send, we had to throttle the messages to ensure delivery without labeling them as spam.

Result

After only 3 months of intense work, we have provided an MVP of a fully responsive web application, providing all the requested features, so that the customer was able to acquire the funding and continue further development.
Currently, we are still improving it, to transform this MVP into a top-notch product with even more features, such as Blog or CMS.

Let's create something innovative together!

Book a free consultation now and see how we can help you.