Analytics & Reports

featured image of Analytics & Reports


Calipsa was processing alarm images and reducing 70% of false alarms from cameras for monitoring stations. But there was no way to keep track of the alarms that were being processed.

"I want to build a report of alarms received last week to see how many true/false alarms a site is receiving and so I can check if Calipsa is making the right decisions about alarm images." - Calipsa customer

As Is

Monitoring stations regularly view alarm reports to track of alarm frequency and monitoring efficiency. Depending on the setup the station can download or email a basic table (see example) filtered between two dates.

The monitoring station must also have access to the NVR (Network Video Recorder) in order to download the report, no cloud access to data is curently avaiable.

Basic downloadable table

To Be

By detecting false alarms Calipsa could offer monitoring stations more data for their reports and design a set of analytics to visualise and view the data.

Calipsa also needed a way to train AI models by labelling alarms as true or false using the images. There was no way to efficiently navigate through alarms or filter through them (by date etc) efficiently.

Summary report

An enhancement of current reports, accessible via the cloud-based Calipsa platform.

  • Use Calipsa data (false alarms)
  • Filtering system
  • Visualisation
  • Downloadable

Alarms report

A deep-dive in to the alarms processed by Calipsa and training interface.

  • Skim alarms quickly
  • View alarm images
  • Train AI

Summary Report

The reports use custom components that I designed/built to improve specific data analysis tasks for CCTV monitoring stations.


In order to filter by monitoring stations clients, their sites and cameras I needed to design a simple navigation and a way to select multiple nodes (clients/sites/cameras) at a time.

Filtering V1

  • Compact
  • Easy to understand
  • Contextual
  • Not scalable
  • Slow to select multiple

Filtering V2

  • Recognisable table design
  • Scrollable columns for long lists
  • Parent/children structure for multi-select
  • 'cameras selected' always shown
  • Icons


The date-time component resemebles the typical design found in report forms but with a small enhancement. The component includes a dropdown for quickly filtering by the last 24 hours, week, or month.

Date/time component


The data visualisation was inspired by the 'stacked' bar chart design to make it easier for users to compared the 'total alarms' variable with the 'valid alarms' variable.

I applied this structure to the report activity chart and added a hover interaction so uses could get more information from the chart if they needed it.

Inspiration: stacked bar chart
Implementation: data visualisation of alarms

Alarms Table

I took the basic data as inspiration to design a table that could be used as part of the Calipsa Design System. The new table design incorporated the variable Calipsa offered as part of the false alarm elimination.

Alarms table with new variable


I utilised our design system to create a section for downloading the report. I then collaborated with engineers to build a .CSV file using javascript from the data table.

Download section uses the Calipsa design system components.
Example of downloadable .CSV


Demo of summary report

Alarms Report

Monitoring stations don't have access to reports with alarm images so I took the needs from the 'to be' and designed based on the table that monitoring station staff are familiar with.

Expandable table rows

The alarm images needed to be part of the Alarms Report, using the data table as a base I designed a row that would expand to reveal the images and more options that alarm.

Initial sketch of expandable table row

Calipsa says is what the machine-learning models have reported the alarm to be (true/false) and Human says is the variable for training the AI, a human can set the alarm as true/false and the machine-learning models will learn from the data.

A prototype of the expandable row component and content.

Alarm data can be consumed like a normal report or the user can expand each row for more information on that alarm (alarms images and AI training).

Viewing alarm images

Security monitoring cameras typically captures 3-6 images out of footage and sends the images via email. Instead of having the user individually pick images they wanted to see I enhanced the experience by merging the images them together in to a video-style sequence.

First alarm image
Second alarm image
Third alarm image
Fourth alarm image
Alarm image sequence

Changes between images become more noticable when viewed together and at different speeds, monitoring station staff can spot what triggered the alarm faster.

The component features:

  • Image scrubbing
  • Play/Pause
  • Previous/Next
  • Speed

The alarm images component in use.

Training AI

Training AI models is crucial to the success to any deep-learning product. I decied to integrate AI training in to the alarms report. As a user consumes an alarms report they can teach Calipsa what a true/false alarm looks like.

I started working on the ineraction by mocking up a basic component for confirming the validity of an alarm. I combined it with the 'alarm images component' and tested it.

"Am I validating the alarm images or what Calipsa processed the alarm as?" - Calipsa customer

Users were confused about what the buttons were referencing. So I decided to approach the problem with something more familiar to users.

Training AI interaction sketches.
What if training AI was like answering a questionnaire?

By presenting the user with closed questions the training becomes more familiar and there is less room for interpretation. For the full interaction see the video below.

Final training AI interaction


Demo of alarms report and training AI


  • Keep training AI simple by asking questions, not pressing buttons.
  • Animating alarm images makes triggers easier to spot.
  • Use familiarity to introduce new interactions to users.
  • Table-first when working with data.
  • Design data visualisations that scale.