Software Development

We are experts in rapid custom development of distributed and standalone applications designed to meet your organization’s specific requirements and business needs. We follow proven practices that allow for successful project completion. We have experience with working with broad range of customers, from individuals to different government, semi-government, private, non government organizations (NGOs) and educational institutes and some of international largest companies. We specialize in the development of custom software applications. Specifically, our company carries out custom programming, client-server and simulation software application development. We can deliver services both onsite (this may include working within client set parameters or simply using a technology best suited a particular task) and remotely depending on client needs.

Software Development

15+ years of proven experience designing and developing large scale systems using the latest technologies. Input related to OO/C++ idioms and patterns, performance issues.

Architecture and Design

Experienced in object-oriented designs and patterns in client-server as well as smaller stand-alone systems.

Software development process

Experienced in the use of Agile, SCRUM and software lifecycle to release quality products on time. Use and conduct code peer revues to establish best practices among team.

Best practices

Utilize proven design patterns, custom libraries/components, and 3rd party libraries, to produce highly modular and quality code.


Actively listen to clients, write clear and concise documentation.

Business analyst

10+ years of simulation industry experience, understand the terms and needs of simulation clients. Good analytical skills.

 Our Know-how

Developing software is a complicated task, very challenging and put extreme demands on software quality management. We need flexible but rigorous techniques and guidelines for software development. Object technology is recognized as one of the required tools in tackling these ever growing demands. Object-Oriented technique is the technology that we use when building software.

Our process

At the heart our process is a series of steps or phases. The phases are preliminary before we start coding.

1. Key concepts

We need to find the global concepts of the application. In general this process consists of identifying and grouping local entities, i.e. making useful abstractions of the problem at hand. These concepts form the structure of the software, the frame of our simulator.

2. Gathering requirements

Before we start the development phase, we go through the functionalities that our software must support. This step is one most important, because if we don’t do it at the beginning of the project, we end up with software that has half functionalities.

3. How we are going to use it

How we are going to use it? It is a question that is worth to raise them.  Because if you don’t know how you are going it use it, … it is usually represented by the so-called Use Case Diagram. Having found some immediate key classes from the problem domain, we look through some scenarios in order to find more classes and to validate the object model.

4. Convert concepts to class to model

Put concept into class and graphics showing their relationship. We model our system by a set of relationship graphics called “static class diagram” in the UML notation.


  • An Example of a C++ class Implementation Of Euler Angles

    Tips and Tricks

    C++ has many features which make this language very attractive for scientific programming, and one of them is the operator overload functionality. I present an example taken from our programming environment (math3D library) that use this to represent a rotation class (Euler angles).
  • IKEA Virtual Reality Extract


    I’m currently working on updating of an interior designer application, used by multinational furniture giant, to a 2nd generation version powered with state-of-the-art technology provided with Virtual Reality (VR) headset.
  • Development of a Transport Software Management Application


    Mandate for the development of dispatch system solutions specifically designed for trucking fleets to manage transportation activity including tracking orders, efficient dispatch and route optimization. Goal is to optimize inbound and/or outbound transportation operations.

clients and partners