Online Negotiation Training Platform with Video Streaming

With video streaming, coaching and gamification functionality - ratings, tournaments, prizes, different levels of practices.

Technologies / Platforms

Online negotiation training platform with video streaming, coaching and gamification functionality – ratings, tournaments, prizes, different levels of practices and opponents.

It helps develop users’ self-confidence and train different negotiation techniques while simulating real-life situations on the online training platform.

Engagement model

Time & Materials

Effort and Duration

Ongoing, since August 2019


Negotiation training platform

Project Team

2 Ruby on Rails engineers, 1 Front-end developer, 1 BA, 1 PM, 1 QA, 1 Designer

Tech stack / Platforms

Client’s Request

The client is a negotiation expert and trainer with an existing offline and online education business and a number of published books on negotiation techniques.

The main client’s idea was to join the digital transformation trend and develop a platform which would be a part of his training courses and would help his students train their negotiation skills and practices online on different cases through video streaming. The platform has some gamification features that would make the education process more engaging. The platform functionality allows recording the negotiation sessions to review it later with the trainer who’ll give a feedback on further improvements of negotiation skills.

The client contacted Itexus for the platform’s development because of the proven  expertise in development of sophisticated online products, our holistic approach to software architecture and previous successfully completed projects developed for him.

Functionality Overview

The platform enables users to make online negotiation matches in order to improve their negotiation skills. The system includes elements of gamification and gambling, with ratings, tournaments, prizes, cases of different levels of complexity.

The platform allows its users to:

  • Find a certain negotiation opponent from a certain country or available to hold a match at a certain hours of the week, as well as to choose a random opponent. Start the negotiation battle at once or schedule it at some date and time in the future;
  • Choose a negotiation case with a certain level of complexity on a certain topic or even propose your own case;
  • Have a dynamic rating/score that changes dynamically with each battle depending on the case complexity and opponents score;
  • Record the battle and request feedback and recommendation from the negotiation trainer;
  • For corporate clients, in case if they want to make training for their stuff, the platform provides an option to perform matches within one company.

Development Process

The project started with a discovery phase in which client’s business goals and his requirements were thoroughly analyzed and documented. As a result project documentation including the software requirements specification, clickable UI mockups and software architecture document describing the recommended technology stack, architecture and third party components meeting project’s performance, security and scalability requirements was provided to our client.

After the Discovery phase the development process was organized based on Agile and Scrum frameworks.

Key aspects of the development process:

  • three-week sprints followed by demonstration of the developed features and feedback collection session;
  • following types and tools of testing were used: functional testing (WebRTC Statistics and Wireshark), UI testing, cross-browser testing, security testing (SQL/XSS injections, data security testing (using Chrome DevTools and Postman), manual and automation testing (API Test Automation and Selenium WebDriver);
  • the communication with clients was held via Slack and Skype. The code was stored in a Git repository .

Technical Solution Highlights

The system consists of a client web app, web-based admin panel and the backend server.

The application uses the Vonage Video API-powered video sessions on the web.

All applications that use the Vonage Video API are composed of two parts:

  • The client side, which uses the OpenTok client SDKs and runs in a user’s browser or mobile app;
  • The server side, which uses the OpenTok server SDKs and runs on your server to pass authentication information to the client.

The client SDK for building web-based applications that use the Vonage Video API is OpenTok.js. This JavaScript library provides most of the core functionality for your app, including:

  • Connecting to a session
  • Publishing streams to a session
  • Subscribing to streams in a session

Following extra-high security requirements, the app uses in place role-based access controls, authentication, sessions, encryption, and other security measures.

The AWS infrastructure, chosen by our team for running the app in the cloud, provides additional monitoring and data protection tools.

Results & Future Plans

As the result of Itexus team work, we have delivered the online education system with video streaming feature which allows its users to hold matches online and get analysis of their battles. The platform is live now. The user base is growing. The client plans to create the  iOS and Android mobile apps in addition to the existing web solution.

Contact Form

Drop us a line and we’ll get back to you shortly.

For Quick Inquiries


United States

8, The Green, STE road, Dover, DE 19901


Żurawia 6/12/lok 766, 00-503 Warszawa, Poland

Company name
Phone number