Cloud platform
for constructible designs

Slogan

Implementing efficient performance optimisation solutions to enable smooth work with multiple 3D models within a BIM co-pilot.

Our client

Vitus is a Danish company that aims to make work on construction projects easier and more efficient by bringing all players across all disciplines together and making digital information on construction projects more accessible and understandable.

Industry

Construction

Services provided

Front-end development

Tech stack

Front-end: React, Redux Toolkit, Autodesk Forge Viewer, Danfo.js, Vite, React Virtuoso, Recharts

Back-end: Node.js, Knex.js, Objection.js

Database: PostgreSQL, IndexedDB

Infrastructure: AWS, Docker, Kubernetes

Key tools & frameworks: Paper.js, Dexie.js

3

Developers

Denmark

Country

Since 2019

Cooperation

Learn how we help

About the project

Vitus is a cloud-based constructability and construction intelligence platform that connects on-site, off-site, and management personnel of construction companies and helps to create a common understanding of the project from its early planning and pre-construction phases.

The platform provides real-time constructability insights and connected data. It is used throughout a project lifecycle to review, visualize, coordinate, share, and manage project content while smoothly integrating with the tools and solutions that a company has already employed. Vitus supports key industry-standard formats including .ifc, .nwd, .rvt, .pdf, .3dm, 3D dwg, .dgn, and .stp.

In a nutshell, the platform enables information creation, review, automation, collaboration, and process management.

Our engagement

The project development was in full swing, and our front-end developers seamlessly integrated with the in-house team to tackle ongoing front-end development tasks like implementing new functionality, creating view extensions, fixing bugs, etc. The whole logic and functionality of the app were related to the conversational interaction with 2D files and 3D models, or directly with the data of these models.

A solid focus was placed on optimizing the app's performance, considering the substantial data it needed to process. Despite facing several challenges, our specialists effectively addressed them.

Key challenges

1.

Limited performance when working with 3D models

The high load on the main thread caused delays in processing complex calculations.

Solution:

To enhance user experience and eliminate app lag and freezing, we made the strategic decision to use web workers—all resource-intensive calculations were transferred to background threads, freeing up the main thread and ensuring a seamless user experience.

2.

Long property and data lists

The project necessitated the efficient handling and presentation of extensive property and data lists.

Solution:

Since project requirements didn’t let us use pagination, we decided to proceed with list virtualization.

3.

Custom data display

One of the key functionalities of the app is displaying custom data for any number of models with the help of different charts and tables. This implies working with a substantial volume of data.

Solution:

To ensure high performance, we leveraged diverse data manipulation methods and algorithms as well as optimized the codebase.

4.

Restricted access to model data

Existing tools did not fully cover the analysis and processing of models.

Solution:

We expanded the functionality of Autodesk Forge Viewer by adding custom extensions that allow flexible interaction with model data. Users can create custom object properties, filter them, and save their current state, enhancing their usability in projects.

5.

Storage and caching issues

Working with large models led to memory leaks, increased browser load, and slowed down the service.

Solution:

We integrated IndexedDB to enable local model storage that optimized data access and improved application speed. Delays in background processing, common with state managers, were eliminated even when storing thousands of objects.

6.

Long model loading times

Traditional data storage formats and sequential file loading caused slow system performance, particularly when working with multiple models.

Solution:

We transitioned to the new SVF2 model data format, which let us reduce model size by 5 times and cut loading time by approximately 2.5 times. Additionally, we introduced parallel model loading that increased the loading speed of multiple models by 5 times and allowed users to work with multiple 3D models simultaneously without performance loss.

7.

Slow data processing

Processing of huge data volumes was not fast enough.

Solution:

We optimized computation by replacing standard objects with DataFrame to speed up the processing of large data volumes.

By successfully overcoming these challenges, we not only ensured the app's robust functionality but also significantly improved its performance.

Client success

Thanks to our contributions to improving the performance, scalability, and stability of the Vitus platform, it has become a powerful modern solution, revolutionizing the construction industry. It empowers non-BIM professionals, provides efficient personnel and project management, ensures sustainable workflow, and facilitates an intelligent and seamless constructability process.

Today Vitus is a choice of numerous Danish and European construction companies including Munck, Femern A/S, ULTRA, VINCI, COWI, and others.

+11
Lviv
+24
Kharkiv
+15
Kyiv
+48
Poland
+3
UK
+12
Germany
+21
Lithuania
+19
Latvia
+12
Slovakia
+2
Greece
+3
Portugal
+2
Netherlands
+15
Estonia
+21
Czech Republic
+2
Andorra

With a pan European talent pool, Devico brings together the continents best talent and makes them available for you

Request free quote

By submitting your information, you agree to the Devico Terms of Service and Privacy Policy. You can opt out at any time.