Get in touch →

Chemistry of Molecules

One of the world's foremost research universities


VR Software Development


Educational Institution

Business size:

SMBSmall Medium Business



  • Using VR Experience in Chemistry
  • Dynamic loader for the molecules
  • High Performance and big data feedback
  • Support Microsoft VR
  • Support Oculus Rift


  • There is no monetization
  • Only 2 elements in application (protein & ligand)
  • Regular 3D mode Inputs is not supported


Markus Muellner, a CTO of the University of Cambridge (United Kingdom), was looking for an expert IT developers, who could help him to build a new VR application available for Chemistry demonstrations.

After negotiations and discussion of the project idea, the necessary agreements were reached. As a result, a mechanical prototype for a VR experience was created. It completes the main task of the project: to record the position of two 3D objects (a 3D model of a protein and its ligand) in relation to one another and display visual feedback (color change of parts of one of the objects) if particular vertices of one object move into proximity of particular vertices of the other.

This application was created for the internal needs of the company and monetization is not expected.


During the work on the project, all the goals were achieved. The Computool's specialists took into account the requirements of the client, implemented the necessary functionality and created a design that fully meets the idea of ​​the project.

Digital Platform & Technology

To build a proper architectural solution and parsing system, NodeJS microservice architecture and MongoDB chosen for the preparation of the backend solution.

Communication Framework

Building a stable communication system on the project allows to quickly make decisions, exchange information (requirements, notes, reports, results) and stay on the same page. At the beginning of work on this project, the Upwork platform was used, in the future, all communication was transferred to Skype for maximum convenience on both sides.


The project specification includes a list of actions that must be completed to successfully complete all tasks. The specification may consist of several steps and include additional sub-steps. Final specification is formed after the completion of the project.

Goal Showing on Cambridge presentation VR experience in Chemistry

Precondition Open Application with plugins VR Headset

Main Flow Load Protein from file Load Ligand from file Protein Control (Move, Rotate) Ligand Control (Move, Rotate)

Postconditions Do links between molecules Move around to see results and data

Alternative Flows All info about loaded molecules


For each project, the team builds individually to take into account all the requirements, features and nuances of the tasks. The company carefully selects employees whose skills, experience and knowledge are sufficient for this project. This allows to effectively achieve the project goals and implement a high-quality product.


The development process takes place in a friendly area of constant discussion and timely completion of tasks. We strive to create a healthy working atmosphere where each project participant can express their opinion, propose an idea or solution.

Dev meetings

Developer's meetings serve two purposes at once. Firstly, it is the interaction of team members, which allows it to rally and work more harmoniously. Secondly, it helps to detect errors in the code, find a solution or share experiences with other developers.

Team Brainstorming

Brainstorming is one of the most productive ways a team can work on a project if necessary to find an original solution. Each participant has the opportunity to offer an idea, even the craziest. Truly innovative solutions appear in the discussion.

Feedback sessions

At the end of the project or a large part of it, we conduct feedback sessions. This helps to identify the strengths and weaknesses of the project, its participants. Everyone gets the opportunity to improve their skills for the next project.

Internal Communication Flow

The team’s internal communication is a system that allows to quickly make decisions, stay in touch and hold necessary discussions. Computools experts used Skype for continuous communication and face-to-face meetings. For this project, Trello was selected, which allows to distribute tasks between participants and constantly monitor their status and implementation. This project management method guarantees its high speed and efficiency.

Project Management Methodology

To work on this project, Scrum was chosen as a methodology. Dividing the development process into short periods - sprints - allowed to complete the tasks quickly and conduct regular tests. This increased the efficiency of the team and accelerated the work. Compared to the traditional methodologies, Scrum is able to complete and deliver the projects about 40% faster to the customers.
Scrum provides a chance for the members in the team to be creative and be hands-on throughout the project. Decisions are taken by every individual on the team, thereby giving them self-sufficiency in doing the work. Using Scrum enables to generate the required ways for developing complex products in a simple way. The software team receives real-time input and feedback from the customer and using this, they are able to constantly update the system as and when required.

Project Steps


Build The Team

  • Making the initial scope based on the specification and estimate, calculating the optimal number of specialists for each role
  • Adding executors to the team's core
  • Forming the main development guidelines



  • Distribution and execution of project tasks
  • SteamVR Implementation
  • Link builder and shader implementation
  • Loader development


Testing & Stabilization

  • Developing a testing plan
  • UI & Unit testing
  • Applying improvements
  • Code stabilization/refactoring, increasing system stability, reducing the probability of bug emergency

On Client’s Side



The application was created for the internal needs of the customer. However, the company's specialists conducted all the necessary tests and checks on the stability and performance of the application.



The transfer to the client’s servers was carried out after the successfully completed testing stage and in compliance with all the rules and norms. After completion, an additional series of tests was launched to confirm the app was working.



This project did not require additional training, a compilation of tutorials or guides.

use link below to find
code sample

Contact Us

Get professional advice.
Use the form to drop a line or
write us an e-mail:

Thank you for your message!

Your request will be carefully researched by our experts. We will get in touch with you within one business day.

Get a
from our experts!
Contact us →