How OrbitSoft rebuilt a medical eLearning video portal from scratch

  • Optimized the site: pages open instantly, large files are fully loaded, regardless of size and speed of the Internet; portal can now handle 10 thousand+ viewers for live broadcasts
  • Set up integration with a unified authorization system and live broadcast service used by the customer
  • Added posts, Zoom integration, advanced search, promotional advertising inserts
  • Stayed within the customer’s budget

The company specializes in plastic surgery

  • communicate, discuss products and methods, ask questions
  • keep their knowledge up-to-date, improve their skills
  • get acquainted with new products from the company, and learn how to perform procedures with their application
Video portal with educational materials for plastic surgeons

Problem: the video portal is slow, and the company’s reputation suffers

Task: update the portal, remove breaks and errors

  • Rewrite the server part of the portal in PHP using the Symfony framework.
  • Implement integration with the Passport authorization system and Wowza streaming service used by the customer.
  • Add integration with Zoom, advanced search in all sections of the portal, text posts, and promotional video tie-ins.
  • Change the front-end to Angular and mobile apps, along with the back-end.

Optimized the portal

  • 1st server: frontend and part of the backend — logic in PHP
  • 2nd server: MySQL database
  • 3rd server: streaming service Wowza
  • 4th server: transcoding module
  • Storage systems: downloaded videos, transcoded broadcasts, commercials, and images for posts.
Now the components work independently and do not slow down each other

Set up old integrations

Wowza helps organize live broadcasts on the portal

Added integration with Zoom

  • The administrator creates a broadcast from his part of the portal, describes it, sets a date, and presses the «Create» button. The back end of the portal creates a meeting in Zoom.
  • Users see the announcement, click the «Subscribe» button.
  • When an administrator starts a meeting, the backend sends a link to the meeting to users, and users can join.
  • When a meeting ends, Zoom converts it to a video file and notifies the backend.
  • The backend takes the video, passes it to the transcoding service, and then publishes it on the portal.
Administrators can create group meetings in Zoom directly from the administration part of the portal

Expanded functionality of the portal, creating a well-optimized eLearning portal

Using categories, the portal offers similar videos, and company products necessary to complete the procedure, with links to the online store

Updated frontend to Angular

  • The designer saves time: he doesn’t need to invent and redraw the design of standard components, but inserts ready-made ones into the layout, and adjusts their color scheme according to the customer’s brand book.
  • The front-end developer saves time: he doesn’t describe the functions of the components in the code, but adds a set of Angular Material components to the project, and includes the necessary ones on each of the pages.

Remade mobile app

  • Cross-platform framework. Qt is suitable for iOS and Android development. It contains sections of code with the general application logic, the same for each operating system. This allowed us to save the development budget: one team of developers was needed instead of two.
  • Built on native function calls. This simplifies programming: if a developer encounters a problem that Qt can’t solve, he simply pastes in a piece of native code.


  • Previously, video pages loaded in 10 seconds, now it takes less than a second
  • Large video files are uploaded to the server completely, regardless of size and speed of Internet
  • The old portal could not handle several thousand users watching a live broadcast. Now a broadcast can be watched by more than 10 thousand people at the same time.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store