Technology behind


Once deployed, you'd create a project and enable the tracker.js for pages or Web Apps you want to analyze

Thousands of simultaneous sessions.

The analysis starts automatically when the page gets opened. Regardless of the traffic scale, the web app complexity, or the technology used, the agent streams the micro-data over the secured wss:// protocol. The agent automatically monitors DOM events reported by the browser - these are sent to the omniscopy on-prem instance

Angular icon Angular icon React icon React icon Redux icon Redux icon


Omniscopy collects information about users' interactions, analyzes the site's visual insights, and reports relevant problems.

Data collector service

We are stateless and async. It's a key enabler to scale accordingly to the load and usage. At the same time, it helps us to run on lean resources. Thanks to the Ansible playbooks and microservices architecture, you'd decide about the way Omniscopy is deployed at your premises.

Linux icon Linux icon Vertx icon Vertx icon

Session processors and data analysis services.

For auto-tagging and classification, we use the 'server-side DOM processing' algorithms developed by us. Thanks to this, we do not burden the end user's browser - it stays event-creation-free.

Linux icon Linux icon Java icon Java icon

Sessions, tags and metrics storage.

Thanks to Cassandra, we achieved perfect compression and excellent throughput of recording. This means that we do not lose information, if there is unexpected spike. Additionally, Minio and Postgres are utilized to cache static content and manage access to data.

Postgres icon Postgres icon Java2 icon Java2 icon


Omniscopy comes preconfigured, so customer behavior is automatically analyzed and classified. We know in some cases you run fast and you might need extra setup. If you forgot about preconditions, you could reprocess the historical data - no need to wait till the case you're looking for will re-occur again. This is called backward hypothesis verification based on new facts. Simple unique. More than retroactive searches. Designed for you.

User Interface

Our WebApp is written in React. Thanks to this, you have an easy access to your data and recorded sessions. Just use Chrome or Firefox. No need for 3rd party software or extra plugins. Maintenance is simple.

HTML icon HTML icon JS icon JS icon CSS icon CSS icon

If your data is sensitive, we will provide you with installation requirements. Otherwise, the solution may be hosted on our servers.

Take a tour

Some Tech dictionary

Data Collector

An important microservice using Vertex event-loops. Its function is to receive data from the websocket protocol and forward it to the Recorder for permanent storing in Cassandra

Bandwidth performance

We use data transfer compression mechanisms that are built into WebSocket and browsers supporting rfc7692.

DOM tree

Document Object Model of which elements the HTML page consists of. The styles applied to these elements (size, colors, borders, background images, etc.) are so-called CSS'. Dynamic pages (often called AJAX) work by running a JavaScript code to manipulate these elements in response to user interactions on the Browser side.


Deployment is described in the form of Ansible's playbooks. This allows to automate the installation process and makes deployment and version changes easy.

Resources Storing

Recordings are immutable. We save sessions and relevant static content on a permanent basis. It's done thanks to detailed analysis of DOM, resource crawling services, and Minio, which we use to index and save (static) content of the monitored website.

Single Page Application

We support internet applications and dynamic websites (SPAs) utilizing frameworks like AngularJS and React. Imagine there're no heat maps available for SPA, so traditional approach fails. Our User-journey and Clicks analytics is directly linked to sessions - you have access to visual feedback at your fingertip.

Auto-tagging, business events & detection rules

That's something distinguishing us from the competition. Remember, thanks to our 'server-side DOM processing' Omniscopy understands all the micro-changes, events, responses - as the outcome, our solution can tag or detect business action base on any interactive or non-interactive events.


Intentionally by default, we do not collect data from input forms. If necessary, tracker.js can record this data, when the classes (i.e. CSS selectors) of INPUT elements are clearly pointed.

Raw data compression

We use streaming compression technology to ensure efficient use of disk storage. Compression takes place on the fly, before saving recorded session to disk.


Snippet installed on the page. It records all DOM elements along with related CSS styles and other page components. Thanks to this, we can accurately reproduce the website along with all changes to the DOM.

Microservices architecture

Omniscopy consists of +10 specialized components that we have designed as micro-services. This enables us to easily implement and efficiently scale our solution depending on the needs of Customers.


A mechanism that allows us to introduce additional restrictions during session recording. Thanks to this, we can exclude whole page elements, including sensitive information, i.e. virtual keyboards, which users use for authorization.

Boredom? Reach to us. We will share the User Guide with you.​

Take a tour

Deliver Better Digital Experiences

Check Out How.

Take a tour
Woman 1 Woman 2

Check Out How.

Take a tour
Cookie Policy

We are using cookies to deliver top quality services for you, as the website user. Using the website herein without changing the cookies settings means that they would be stored in your device. You may change the settings at any given moment. We take care of your privacy. Your personal details will be processed solely for the purposes and in line with the rules defined by our Privacy Policy. Read more

I accept