All case studies
Mobile 3D Tracking Security

Accur8vision: Accur8vision: Mobile application for 3D tracking solutions

Imagine being able to look at your company headquarters, or your house, in 3D and see who is moving around the property – much like walking through buildings in a video game. The Accur8vision security system does exactly that. It can fully guard and render objects. With Accur8vision, people can easily find out if the noise they heard was a car, a person, or just a passing cat. Our task was to take a web client and transform it into a mobile app for both iOS and Android. But as it turned out, following up on the original code was not so simple.

10–15% — Battery savings
96% — Data reduction
iOS & Android — Platforms
LiDAR — 3D tracking
Accur8vision mobile security tracking app
Industry
Security / Surveillance
Engagement
Ongoing partnership
Services
Software Development
Technologies
7  technologies

Accur8vision has a strong background as part of Hexagon, and its prestigious list of clientele includes businesses from a wide range of industries, critical infrastructure organizations, and security forces. Their new project offers customers a mobile application that provides a simplified view of the guarded area, automatically sending notifications about intruders and other events. Until now, Accur8vision had to send notifications via e-mail, SMS or phone call. The company already had a web interface ready, and they turned to us for mobile development.

Martin Vojtek

“We needed to turn the web client of our lite application into a full-fledged mobile version. Based on references from other projects, we chose Cookielab. Their proactive approach and willingness to go beyond standard services led to us having a top-notch application for our clients that meets our demanding quality requirements. I recommend Cookielab to all companies that are not just looking for programmers, but partners.”

Martin Vojtek
CEO TACTICAWARE, s.r.o.

Challenge: Limits of technology and code

Although the original developers used React Native for Web – technology that allows one codebase across platforms – we ran into its limits because Accur8vision's software was already too complex. Another challenge was that the web interface contained many exceptions, so we could not simply use the code for the mobile application.

This step was very demanding, and when we are involved in development from the beginning, we try to prevent it through Product Discovery, where we examine current needs and possibilities for future product scaling.

Accur8vision tracking interface
Accur8vision map rendering
Accur8vision application screen

Development: The mismatch between the virtual and the physical world

During development, we had to verify our calculations in the real world. We implemented satellite images from Google Maps into the application, but we encountered inaccuracies in the rendering of zones. For example, based on data from the client, the parking lot was displayed in a different place than it was on the map.

Our team had to find a solution to verify whether the error was in the application or the data. For this, we used tennis courts that have standardized dimensions. In the end, we asked the client to adjust the zero point in the coordinates to get the drawings correct.

Push notifications

Zone breach, camera cover, low battery…

Alarm archive

Including the ability to replay the movement of intruders at a specific time.

Confirmation of alarms

The user confirms whether it was a real or false alarm and can add notes.

Rendering a simplified map

A bird's-eye view of the guarded area and real time intruder tracking.

Vision: Improving applications and simplifying technologies

In May 2024, we launched an improvement to the current mobile application to improve user experience:

  • the movement of intruders on the map is significantly smoother
  • battery consumption decreased by approx. 10–15%
  • 96% fewer data downloads are required
  • we know with greater accuracy and speed that the connection to the server is stable and functional

Right now, the Cookielab team is working on the development of a new web solution that will work more efficiently with the data transfer. The goal is to have a reliable application that is responsive on different displays and easily integrated into other solutions, such as a control room dashboard, etc., and thus more scalable. At the same time, development has started for native language iOS and Android applications with improved UI and UX.

Accur8vision has a strong background as part of Hexagon, and its prestigious list of clientele includes businesses from a wide range of industries, critical infrastructure organizations, and security forces. Their new project offers customers a mobile application that provides a simplified view of the guarded area, automatically sending notifications about intruders and other events. Until now, Accur8vision had to send notifications via e-mail, SMS or phone call. The company already had a web interface ready, and they turned to us for mobile development.

Tomáš Markacz

“What I see as a success is that we were able to take a completely foreign web application written in a non-standard way for the technology and get it working on mobile in a relatively short time.”

Tomáš Markacz
Frontend Tech Lead, Cookielab

Challenge: Limits of both technology and code

Although the original developers used React Native for Web, a technology that allows you to use a single code across platforms, we ran into its limits here. The Accur8vision software was already too complex and the web interface contained a lot of exceptions, so we couldn't simply use the code for a mobile app.

This step was very demanding, and in cases where we are involved in the development from the beginning, we try to avoid it. Usually it comes up in the Product Discovery phase, where we examine the current needs and the potential to scale the product in the future.

Cookielab development workspace

Development: The mismatch between the virtual and the physical world

Adding new features, such as push notifications, was relatively easy. The snag was with maps. Accur8vision uses LiDAR to model the movement of intruders in a 3D model of the object. However, for the mobile application, they generate a bird's-eye view in which we need to draw the so-called intruders as points (wheels). On the website, this view was written in Canvas, a standard HTML technology that React Native does not support.

We tried using SVG format, but the app crashed with large maps because the libraries used to convert SVG to bitmap would eat up too much memory. We thought about CSS, but in the end we decided to modify the classic Canvas.

Even here, we ran into problems and had to visit mathematics a bit. The standard practice is that when you want to plot a point in a geometric shape, you put it in the middle. But in the case of Accur8vision, we didn't have classic rectangles, we had various polygons. During classic calculations, the center was completely outside the given area. In the end, we used an algorithm from the company Mapbox, specially developed for such cases.

Maps were another challenge. We implemented satellite images from Google Maps into the application, but we encountered inaccuracies in the rendering of zones. For example, based on data from the client, the parking lot was displayed in a different place than it was on the map. So our team had to find a solution to verify whether the error was in the application or the data. For this, we used tennis courts that have standardized dimensions. In the end, we asked the client to adjust the zero point in the coordinates to get the drawings correct.

Push notifications

Zone breach and other events.

Alarm archive

Including playback of recordings from cameras in the application.

Acknowledging alarms

The user confirms whether it was a real or false alarm.

Bird's-eye map

A bird's eye view of the guarded area.

Vision: Improving the web client and simplifying technologies

Right now, the CookieLab team is working on the development of a new web solution that will work more efficiently with the data transfer. To render the movement of intruders in real time in the mobile application, we call the server all the time. In fact, we need to call about 6 endpoints, which means that we call the API 6 times every two seconds.

Communication was not prepared for this volume of data at all, and we brought down the entire server with one instance of the mobile application. We finally solved everything, but we plan to use gRPC for communication in the future. The goal is to have a reliable application for the web that will be responsive on different displays and easily integrated into other solutions, for example a dashboard for security control.

Let's talk business…

or

…your career

Open positions