At the first stage of the project, our specialists were working on Proof of Concept. We
needed to specify the optimal technological stack and define how the program is going to
16 users can participate in one lesson: one teacher and 15 students.
The app works the following way:
- before a lesson, a teacher uploads the audio to the app
- a student books a lesson and pays for it
- during the appointed time, a student opens the app or enters the website via a mobile device, authorizes, and receives the prepared audio
- the system estimates the speed of the data transmission channel and tracks when the student joins a lesson
After the tech stack was chosen and PoC tested, we divided each lesson into stages: Warm-up, Explanation, Practice, Monitoring, and Summary. Each of them has its own set of features.
One of the most difficult stages of the lesson is Practice, where the students begin to
dance simultaneously. At this stage, our team needed to achieve perfect synchronization of
15 video streams.
Synchronization was achieved through FFmpeg – a tool that allows you to manipulate the transfer of audio and video streams flexibly and conveniently. To display video streams without the use of third-party systems, we decided to use WebRTC technology. It was a perfectly suited solution for secure video streaming via a browser.
The dev team followed an iterative approach. Our specialists performed tasks in parallel with the continuous analysis of the results and adjustments to the previous stages of work.