The company is a provider of programming courses, including web and mobile development, frontend development, backend development, UI/UX design, and quality assurance.

Project goal

The customer aimed to digitize learning processes to let people study and communicate with teachers online. To provide effective educational programs, the organization needed to conduct lessons, create tests for students, and control user progress.
Furthermore, all records—files, user contact information, notes, etc.—were kept in Excel spreadsheets. As a result, it was difficult for employees to track user requests, monitor sales processes, and calculate the lead conversion rate.
In addition, there was no possibility to visualize data and instantly generate various reports. Data duplication and time-consuming search were other issues the client wanted to address.
Cooperating with our custom application development company, the client was going to build two web solutions:
  • a learning management system to provide online education
  • a tailor-made CRM system to improve sales operations and increase data accuracy.
Since a CRM software solution was intended to track the sales process from the first interaction with the customer to its conversion to a student (payment), as well as store all records and statistical data, it had to be integrated with a learning management system.

Project summary

Project duration

4 months


2 frontend developers, a backend developer, UI/UX designer


TypeScript, React, Node.js, Express.js, Redux, Mongoose, AWS EC2, Docker, MongoDB


After collecting and analyzing the customer’s business-specific needs, our software engineers created a technical specification, including a list of features and user stories. At the end of this stage, we estimated the work scope and assigned tasks between the team members.
Then, our designers created an intuitive user interface and provided convenient navigation, so that users could easily find what they needed while receiving an engaging UX (user experience).

During the project, our team had to resolve the following challenges:

  1. One of the main requirements was to create an intuitive UI and provide high usability , so that students and teachers can instantly find the necessary information. The task was to not only facilitate the learning process but also help the customer gain a competitive advantage thanks to a great design .
    Our team surveyed user needs and conducted impact mapping, a visual technique for defining and prioritizing features. Based on our research, we developed 3 user interfaces for different target audiences: teachers, students, and managers.
    • A UI for teachers involves lists of courses, groups, tests, and homework while also providing convenient data search, for example, by student names and last names.
    • A UI for students enables them to view their evaluations, save favorite courses, search data by keywords, titles, etc.
    • A user interface for managers contains a dashboard to visualize statistics and payment, as well as search information by multiple filters such as date, name, contacts.
  2. Group and private chats had to be integrated to allow teachers and students to easily communicate in the learning management platform.
    With the purpose of incorporating chats in the e-learning system, our software developers used Firebase. This tool comes packed with various features to build chats. For instance, we employed a database that updates in real-time, synchronizing data in milliseconds. Using Firebase, our team also provided a place to store media assets.
  3. Since the client needed to control sales and marketing processes, as well as track user performance, it was important to provide data visualization . The system had to automatically generate statistical reports by the indicated filter.
    To build this functionality, our team used Chart.js and D3.js libraries to create data visualization elements such as graphics, charts, diagrams, tables, etc. With Chart.js, we added different types of charts while ensuring responsiveness across all device screens.
    In order to enable convenient data display, we also employed D3.js as it allows using HTML, CSS files, and SVG icons. D3.js let us apply data-driven transformations to the required document, for instance, to generate HTML tables from an array of numbers.
  4. As a software CRM system was intended to have different roles—admins, managers, and marketers— access control had to be provided.
    With the view of ensuring access control, our software development team identified types of users and described their roles in detail, for example:
    • the main admin could add managers and marketers to the system, view financial reports, analyze statistics, etc.
    • a manager was able to track leads, payments, create and edit tasks
    • a marketing specialist had access to all sales and marketing operations.
    To ensure access permissions depending on the user role, our software engineers used Node.js and Express.js, as well as employed Mongoose for connecting with the MongoDB database.

The key features

A learning management system has rich functionality that involves:

  • Online courses
  • User account
  • Content management
  • Group and private chats
  • Student performance monitoring
  • Data visualization
  • Calendar
  • The ability for teachers to create tests and homework
  • Integration with a CRM software system

A custom CRM system includes the following features:

  • Authorization
  • Registration
  • Data visualization
  • Task status tracking
  • Report generation (statistics on the number of user requests for different periods, the number of payments made, the number of students, etc.)
  • Data search by name, email, phone number, date of the first interaction, etc.
  • Authorization roles: an admin, a manager, and a marketing specialist
  • Access control depending on the role


Cooperating with our custom application development company , the client built a learning management system that allowed providing online education. Employing LMS software, the customer got the ability to easily monitor students’ performance, communicate with them in chats, as well as create tests and homework.
Thanks to an LMS platform, people managed to study remotely from any place in the world, which is especially important during the COVID-19 pandemic.
Using a tailor-made CRM system, the customer became able to control sales and marketing processes, for instance, calculate the lead conversion rate, the lifetime value (LTV), the number of incoming requests, the number and amount of payments for a given period, etc.
Thanks to the delivered CRM solution, the organization simplified information search and increased data accuracy. With data visualization, it could easily analyze statistical reports and financial results.

More case studies you may like

We’d love to work with you

Drop us a line about your idea, project, or challenge.

We’d like to discuss how we can help you.

We’ll add your contact details provided in this form to our CRM to contact you regarding the request. For more information, please visit our Privacy policy.