Fighting Crime: Inside Twigkit's secure intelligence and analytics application.

We’re very proud of our technology. It’s flexible and modular, and allows organisations to create search applications that span disparate, nebulous data sources in order to extract structured, collated findings from amidst the chaos.

It’s this flexibility, plus the fact that our applications are beautiful and easy-to-use, that makes us a great fit for pretty much all industries and sectors. And it means that we're often prototyping and working on new solutions for people trying to solve some pretty tough, important problems. One of which is crime.

We've just completed a short, 10 day sprint to prototype a brand new criminal intelligence and analytics application for a US based law enforcement agency. Together we wanted to see how search could assist with criminal profiling, identification and trend spotting.

The prototype is based on Twigkit's SIA (Secure Intelligence and Analytics) stack, and uses Open Source data supplied by the Dallas Police Department. Here's how we got on.

The Data

Our prototype brings together data from many different locations for the first time, but essentially consists of information about people (victims, witnesses, police officers, reporters, suspects and perpetrators), places (incident locations, addresses of individuals) and incidents .

We wanted to go a little deeper than a traditional, text and facet led search application. Such applications are valuable, but can lack the contextualising layer of insight which is so critical to effective law enforcement. We wanted our tool to seek out and present that context to officers - both in the field and in the office (so our prototype needed to work perfectly on mobile as well as desktop).

The prototype that we built over the course of the sprint is exactly that: a prototype. It isn’t fully featured or deployment ready (we didn’t quite get around to delivering the big red ‘Whodunnit’ button), but we hope that by showing how far we got you’ll see how quickly Twigkit applications can come together, and how our technology can help make a positive difference to something as important as crime prevention.

Please note: We take data protection seriously. All information shown in screen grabs has been anonymised. The data used for the purpose of the prototype is open source, and taken from www.dallasopendata.com.


How can we help you today, Officer?

Visitors to the SIA application must first log in. Then, they’re greeted by the Dashboard.

Dashboards are a great way of providing a visual, 10,000ft overview of what’s going on across the breadth of an application. We tried to put as much value into the dashboard as possible by making every chart, element and statistic fully interactive.

 
  The SIA dashboard is a tactile and approachable way for visitors to start their discovery process. Clicking on any element: day, incident or place will filter the dashboard by that criteria. To support our visitors next steps, we added links to jump directly from the dashboard to incident and people search results that match all chosen criteria.  

 

The SIA dashboard is a tactile and approachable way for visitors to start their discovery process. Clicking on any element: day, incident or place will filter the dashboard by that criteria. To support our visitors next steps, we added links to jump directly from the dashboard to incident and people search results that match all chosen criteria.

 

 

An interactive dashboard means operators can do more than just observe. They can drill down and combine topics to see contextual, precise statistics. And as the whole page dynamically updates as topics are selected, it’s like seeing a complete, fresh report coming together in front of your eyes (it’s actually fascinating to delve into crime data in this way - do let us know if you'd like a demo).

  Shown above: "Tell me about when and where Assaults are occurring in Southeast Dallas". As criteria is added the incident and people totals on the right become smaller and more targeted, making this a viable way to start exploring the data without having an empty search box staring at you.

 

Shown above: "Tell me about when and where Assaults are occurring in Southeast Dallas". As criteria is added the incident and people totals on the right become smaller and more targeted, making this a viable way to start exploring the data without having an empty search box staring at you.

By including geographic areas and ZIP codes in the dashboard, other trends can be monitored and considered. For example, an operator might spot that a certain neighbourhood in Southeast Dallas experiences a weekly upswing in assaults on Sundays. This insight can be monitored and used in planning future allocations and deployments.

In the screenshot above we can see that the highest number of assaults in Southeast Dallas take place within ZIP code 75217. Let’s now look at this neighbourhood in more detail.


Exploring a Neighbourhood

The ZIP code detail page brings a number of different elements together. An embedded map shows all recent incidents in the area. In the main body of the page these same incidents are listed in more detail, complete with who, where and what details.

Also on this page we're able to generate statistical information to reveal more general insight about the local area, including overall crime priorities, trends, times of high and low incident activity, and a list of ‘Local Faces’ - those individuals who have historically interacted most often with the DPD in this neighbourhood (further sub categorised by their role within incidents: as victims, witnesses or arrestees).

Police Officers associated with the highest number of incidents in the area are also shown - who better to approach for local advice than the officers on the beat?

All of the information on this detail page is generated entirely by search, meaning that it requires no maintenance and is always up to date.

  The ZIP code detail page has a number of notable features, including (from top to bottom) personalised bookmarking, contextual filtering (to allow users to show only incidents of a certain type and/or status), interactive visualisations, and a commenting feature that allows officers to leave anecdotal information for colleagues.  

 

The ZIP code detail page has a number of notable features, including (from top to bottom) personalised bookmarking, contextual filtering (to allow users to show only incidents of a certain type and/or status), interactive visualisations, and a commenting feature that allows officers to leave anecdotal information for colleagues.  


Searching and Analysing Incidents

The dashboard offers a streamlined way of exploring topics and jumping into a results set, but a more traditional search interface is essential in order to give people the complete set of tools and filtering options that they need to locate and select specific incidents.

 
  A more familiar search interface: filters on the left, and results on the right. Although it may feel a little overwhelming, all of the panels and maps can be collapsed down to ensure that officers and operators can concentrate on the job at hand. 

 

A more familiar search interface: filters on the left, and results on the right. Although it may feel a little overwhelming, all of the panels and maps can be collapsed down to ensure that officers and operators can concentrate on the job at hand. 

 

Incident results are presented as cards, with key information (id, incident type, location and associated individual) presented immediately to the visitor. We could have added a lot more elements to each card, but there’s a balance to be struck: too little information can cause uncertainty and force users to interrupt their search by clicking through to detail pages; and too much information makes it harder to scan and compare items in the list by glancing over them.

In addition to lists of categorised filters, the SIA application offers further tools to help refine results. Dates are presented as histograms, enabling rages to be selected. A zoomable heatmap allows geography to be considered, and pie charts inform about proportional incident volumes by crime type or division. All of these tools and interface elements are provided by Twigkit as out of the box components.

The fields on each result card offer further filtering options. Individuals and ZIP codes can be added as filters to the overall query, alongside direct links to their respective detail pages.


Incident in detail

As you might expect, Incident detail pages bring together all of the details, people and places that relate to a specific incident. But by using search it’s also possible to identify and highlight to the operator other, potentially related incidents. We think this is quite exciting.

  The incident detail page. We felt that there was real value in showing potentially related incidents, alongside more general statistics about the neighbourhood in which the incident took place.

 

The incident detail page. We felt that there was real value in showing potentially related incidents, alongside more general statistics about the neighbourhood in which the incident took place.

In the prototype we're using the search platform to try and identify potentially related incidents. This can be done using a wide range of criteria such as using key terms from the officer notes, type of incidents, proximity, time and people involved. No, it's not quite a ‘Whodunnit’ button, but it highlights the importance of obtaining relevant peripheral information through search.

Alongside this list of potentially linked incidents are overall statistics for the area (to give additional context to the operator), and a notes function so that insight and information can be discussed and shared with others.

Let’s now jump from the incident detail page to that of an individual.


Personal Records and Interactions

An individual might be linked to different incidents in different capacities. The person detail view aims to present all the facts available about someone in one place, in a clear and logical format.

The data brought together on this page includes in this case basic information about them (their name, address, age, family and profession) alongside more detailed information about incident involvement (as a statistical overview, and a breakdown: as victim, witness, reporter, suspect, perpetrator or a combination of the above), a map displaying all known addresses, and a breakdown of the types of offence that this person has witnessed, reported or committed.

On the roadmap for this view is a full chronological history of their interactions with the Police presented as a timeline, and integration with social media feeds to provide supporting contextual information.

  Taryn Chiler (anonymised data) witnessed a robbery in 2014. We can also see that she was a victim of assault in 2014, and was arrested for a driving offence in 2015.  

 

Taryn Chiler (anonymised data) witnessed a robbery in 2014. We can also see that she was a victim of assault in 2014, and was arrested for a driving offence in 2015.

 


Looking for People

Much like the incident search page, the Person search page offers operatives a range of tools to find, refine and pinpoint an individual or set of individuals.

By invisibly embracing different data sets together on this page, we enable operators to mix geographical and personal data queries together (“Show me all people with chest tattoos in Northwest Dallas”, for example).

  Looking for people: by adding scar and tattoo data to the application, officers can filter down searches with a higher degree of accuracy. With individuals plotted on the map, this could potentially open up new avenues for investigation (e.g. gang affiliation of individuals, and research into gang movement).

 

Looking for people: by adding scar and tattoo data to the application, officers can filter down searches with a higher degree of accuracy. With individuals plotted on the map, this could potentially open up new avenues for investigation (e.g. gang affiliation of individuals, and research into gang movement).

To prove the point, we are adding additional data sources and visualisation features here, including the ability to automatically compare known individuals with unknown suspects based on distinguishing features, and more tactile, refined tools for choosing things like identifying marks or other physical attributes to make it quicker and easier for arresting officers to use the platform.


What’s next?

Over the course of only ten days we managed to put together a compelling case for search enabled offender profiling and crime analytics. That's 10 days end to end; from loading the data to deploying a ready to use application.

Our prototype combines high level overviews with dedicated detail views that pull together and present relevant, peripheral behaviours and trends including notable locations, commonly seen local characters, and the ability to spot and highlight potentially related incidents.

Perhaps most importantly, it allows our operators to interact with, adjust and journey across the data in an open way that supports their needs.

We believe that by making data simpler and easier to interact with, it can uncover new insight. Search is capable of some incredible things, and when used in the right way it can make a real difference to people's lives.

If you have questions or comments about this application, or have a project of your own in mind we would love to talk to you about it. Please don’t hesitate to drop us a line today, or to give us a call on +44 (0)1223 653 163 (UK), or (408) 678 – 0400 (North America).


Next steps

Schedule a personalised demo     |     Drop us an email     |     +44 (0)1223 653 163